primeng 22.1.1 → 22.1.2

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 (850) hide show
  1. package/fesm2022/primeng-accordion.mjs +998 -594
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-animateonscroll.mjs +266 -174
  4. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/primeng-api.mjs +888 -848
  6. package/fesm2022/primeng-api.mjs.map +1 -1
  7. package/fesm2022/primeng-autocomplete.mjs +2534 -1631
  8. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  9. package/fesm2022/primeng-autofocus.mjs +114 -77
  10. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  11. package/fesm2022/primeng-avatar.mjs +330 -189
  12. package/fesm2022/primeng-avatar.mjs.map +1 -1
  13. package/fesm2022/primeng-avatargroup.mjs +178 -95
  14. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  15. package/fesm2022/primeng-badge.mjs +290 -156
  16. package/fesm2022/primeng-badge.mjs.map +1 -1
  17. package/fesm2022/primeng-base.mjs +95 -83
  18. package/fesm2022/primeng-base.mjs.map +1 -1
  19. package/fesm2022/primeng-basecomponent.mjs +528 -478
  20. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  21. package/fesm2022/primeng-baseeditableholder.mjs +131 -74
  22. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  23. package/fesm2022/primeng-baseinput.mjs +214 -99
  24. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  25. package/fesm2022/primeng-basemodelholder.mjs +39 -26
  26. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  27. package/fesm2022/primeng-bind.mjs +156 -97
  28. package/fesm2022/primeng-bind.mjs.map +1 -1
  29. package/fesm2022/primeng-blockui.mjs +360 -225
  30. package/fesm2022/primeng-blockui.mjs.map +1 -1
  31. package/fesm2022/primeng-breadcrumb.mjs +458 -220
  32. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  33. package/fesm2022/primeng-button.mjs +1568 -710
  34. package/fesm2022/primeng-button.mjs.map +1 -1
  35. package/fesm2022/primeng-buttongroup.mjs +125 -73
  36. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  37. package/fesm2022/primeng-card.mjs +389 -178
  38. package/fesm2022/primeng-card.mjs.map +1 -1
  39. package/fesm2022/primeng-carousel.mjs +2393 -1772
  40. package/fesm2022/primeng-carousel.mjs.map +1 -1
  41. package/fesm2022/primeng-cascadeselect.mjs +2373 -1399
  42. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  43. package/fesm2022/primeng-chart.mjs +402 -231
  44. package/fesm2022/primeng-chart.mjs.map +1 -1
  45. package/fesm2022/primeng-checkbox.mjs +650 -351
  46. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  47. package/fesm2022/primeng-chip.mjs +411 -224
  48. package/fesm2022/primeng-chip.mjs.map +1 -1
  49. package/fesm2022/primeng-classnames.mjs +95 -48
  50. package/fesm2022/primeng-classnames.mjs.map +1 -1
  51. package/fesm2022/primeng-colorpicker.mjs +890 -635
  52. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  53. package/fesm2022/primeng-commandmenu.mjs +568 -313
  54. package/fesm2022/primeng-commandmenu.mjs.map +1 -1
  55. package/fesm2022/primeng-compare.mjs +843 -481
  56. package/fesm2022/primeng-compare.mjs.map +1 -1
  57. package/fesm2022/primeng-config.mjs +415 -321
  58. package/fesm2022/primeng-config.mjs.map +1 -1
  59. package/fesm2022/primeng-confirmdialog.mjs +1188 -536
  60. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  61. package/fesm2022/primeng-confirmpopup.mjs +810 -518
  62. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  63. package/fesm2022/primeng-contextmenu.mjs +1862 -1082
  64. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  65. package/fesm2022/primeng-dataview.mjs +1130 -550
  66. package/fesm2022/primeng-dataview.mjs.map +1 -1
  67. package/fesm2022/primeng-datepicker.mjs +3750 -3356
  68. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  69. package/fesm2022/primeng-dialog.mjs +1635 -975
  70. package/fesm2022/primeng-dialog.mjs.map +1 -1
  71. package/fesm2022/primeng-divider.mjs +272 -146
  72. package/fesm2022/primeng-divider.mjs.map +1 -1
  73. package/fesm2022/primeng-dock.mjs +609 -391
  74. package/fesm2022/primeng-dock.mjs.map +1 -1
  75. package/fesm2022/primeng-dom.mjs +599 -767
  76. package/fesm2022/primeng-dom.mjs.map +1 -1
  77. package/fesm2022/primeng-dragdrop.mjs +323 -312
  78. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  79. package/fesm2022/primeng-drawer.mjs +913 -484
  80. package/fesm2022/primeng-drawer.mjs.map +1 -1
  81. package/fesm2022/primeng-dynamicdialog.mjs +828 -917
  82. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  83. package/fesm2022/primeng-editor.mjs +547 -391
  84. package/fesm2022/primeng-editor.mjs.map +1 -1
  85. package/fesm2022/primeng-fieldset.mjs +559 -271
  86. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  87. package/fesm2022/primeng-fileupload.mjs +1836 -1054
  88. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  89. package/fesm2022/primeng-floatlabel.mjs +187 -102
  90. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  91. package/fesm2022/primeng-fluid.mjs +156 -85
  92. package/fesm2022/primeng-fluid.mjs.map +1 -1
  93. package/fesm2022/primeng-focustrap.mjs +150 -112
  94. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  95. package/fesm2022/primeng-galleria.mjs +2589 -1410
  96. package/fesm2022/primeng-galleria.mjs.map +1 -1
  97. package/fesm2022/primeng-gallery.mjs +2768 -1796
  98. package/fesm2022/primeng-gallery.mjs.map +1 -1
  99. package/fesm2022/primeng-iconfield.mjs +192 -93
  100. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  101. package/fesm2022/primeng-icons-angledoubledown.mjs +41 -23
  102. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  103. package/fesm2022/primeng-icons-angledoubleleft.mjs +41 -23
  104. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  105. package/fesm2022/primeng-icons-angledoubleright.mjs +41 -23
  106. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  107. package/fesm2022/primeng-icons-angledoubleup.mjs +41 -23
  108. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  109. package/fesm2022/primeng-icons-angledown.mjs +41 -23
  110. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  111. package/fesm2022/primeng-icons-angleleft.mjs +41 -23
  112. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  113. package/fesm2022/primeng-icons-angleright.mjs +41 -23
  114. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  115. package/fesm2022/primeng-icons-angleup.mjs +41 -23
  116. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  117. package/fesm2022/primeng-icons-arrowdown.mjs +46 -28
  118. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  119. package/fesm2022/primeng-icons-arrowdownleft.mjs +41 -23
  120. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  121. package/fesm2022/primeng-icons-arrowdownright.mjs +41 -23
  122. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  123. package/fesm2022/primeng-icons-arrowleft.mjs +46 -28
  124. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  125. package/fesm2022/primeng-icons-arrowright.mjs +41 -23
  126. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  127. package/fesm2022/primeng-icons-arrowup.mjs +46 -28
  128. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-ban.mjs +46 -28
  130. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  131. package/fesm2022/primeng-icons-bars.mjs +41 -23
  132. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  133. package/fesm2022/primeng-icons-baseicon.mjs +111 -67
  134. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-blank.mjs +40 -22
  136. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-calendar.mjs +41 -23
  138. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-caretleft.mjs +41 -23
  140. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  141. package/fesm2022/primeng-icons-caretright.mjs +41 -23
  142. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-check.mjs +41 -23
  144. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  145. package/fesm2022/primeng-icons-chevrondown.mjs +41 -23
  146. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  147. package/fesm2022/primeng-icons-chevronleft.mjs +41 -23
  148. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-chevronright.mjs +41 -23
  150. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-chevronup.mjs +41 -23
  152. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  153. package/fesm2022/primeng-icons-exclamationtriangle.mjs +46 -28
  154. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  155. package/fesm2022/primeng-icons-eye.mjs +41 -23
  156. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  157. package/fesm2022/primeng-icons-eyeslash.mjs +46 -28
  158. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  159. package/fesm2022/primeng-icons-filter.mjs +46 -28
  160. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  161. package/fesm2022/primeng-icons-filterfill.mjs +41 -23
  162. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
  163. package/fesm2022/primeng-icons-filterslash.mjs +46 -28
  164. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-home.mjs +46 -28
  166. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-infocircle.mjs +46 -28
  168. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-minus.mjs +41 -23
  170. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-pencil.mjs +46 -28
  172. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-plus.mjs +46 -28
  174. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-refresh.mjs +46 -28
  176. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-search.mjs +46 -28
  178. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-searchminus.mjs +46 -28
  180. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-searchplus.mjs +46 -28
  182. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-sortalt.mjs +46 -28
  184. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-sortamountdown.mjs +46 -28
  186. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-sortamountupalt.mjs +46 -28
  188. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-spinner.mjs +46 -28
  190. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-star.mjs +46 -28
  192. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-starfill.mjs +46 -28
  194. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  195. package/fesm2022/primeng-icons-thlarge.mjs +46 -28
  196. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  197. package/fesm2022/primeng-icons-times.mjs +41 -23
  198. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  199. package/fesm2022/primeng-icons-timescircle.mjs +46 -28
  200. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  201. package/fesm2022/primeng-icons-trash.mjs +46 -28
  202. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  203. package/fesm2022/primeng-icons-undo.mjs +46 -28
  204. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  205. package/fesm2022/primeng-icons-upload.mjs +46 -28
  206. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  207. package/fesm2022/primeng-icons-windowmaximize.mjs +46 -28
  208. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  209. package/fesm2022/primeng-icons-windowminimize.mjs +46 -28
  210. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  211. package/fesm2022/primeng-icons.mjs +53 -63
  212. package/fesm2022/primeng-iftalabel.mjs +153 -86
  213. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  214. package/fesm2022/primeng-image.mjs +1006 -532
  215. package/fesm2022/primeng-image.mjs.map +1 -1
  216. package/fesm2022/primeng-imagecompare.mjs +325 -165
  217. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  218. package/fesm2022/primeng-inplace.mjs +401 -199
  219. package/fesm2022/primeng-inplace.mjs.map +1 -1
  220. package/fesm2022/primeng-inputcolor.mjs +2631 -2189
  221. package/fesm2022/primeng-inputcolor.mjs.map +1 -1
  222. package/fesm2022/primeng-inputgroup.mjs +159 -91
  223. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  224. package/fesm2022/primeng-inputgroupaddon.mjs +153 -68
  225. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  226. package/fesm2022/primeng-inputicon.mjs +173 -72
  227. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  228. package/fesm2022/primeng-inputmask.mjs +1607 -1387
  229. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  230. package/fesm2022/primeng-inputnumber.mjs +1646 -1305
  231. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  232. package/fesm2022/primeng-inputotp.mjs +571 -376
  233. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  234. package/fesm2022/primeng-inputpassword.mjs +179 -96
  235. package/fesm2022/primeng-inputpassword.mjs.map +1 -1
  236. package/fesm2022/primeng-inputtags.mjs +1212 -588
  237. package/fesm2022/primeng-inputtags.mjs.map +1 -1
  238. package/fesm2022/primeng-inputtext.mjs +325 -175
  239. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  240. package/fesm2022/primeng-keyfilter.mjs +268 -244
  241. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  242. package/fesm2022/primeng-knob.mjs +627 -405
  243. package/fesm2022/primeng-knob.mjs.map +1 -1
  244. package/fesm2022/primeng-label.mjs +143 -81
  245. package/fesm2022/primeng-label.mjs.map +1 -1
  246. package/fesm2022/primeng-license.mjs +10 -36
  247. package/fesm2022/primeng-license.mjs.map +1 -1
  248. package/fesm2022/primeng-listbox.mjs +2409 -1608
  249. package/fesm2022/primeng-listbox.mjs.map +1 -1
  250. package/fesm2022/primeng-megamenu.mjs +2006 -1137
  251. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  252. package/fesm2022/primeng-menu.mjs +1437 -848
  253. package/fesm2022/primeng-menu.mjs.map +1 -1
  254. package/fesm2022/primeng-menubar.mjs +1832 -994
  255. package/fesm2022/primeng-menubar.mjs.map +1 -1
  256. package/fesm2022/primeng-message.mjs +474 -239
  257. package/fesm2022/primeng-message.mjs.map +1 -1
  258. package/fesm2022/primeng-metergroup.mjs +663 -331
  259. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  260. package/fesm2022/primeng-motion.mjs +1179 -690
  261. package/fesm2022/primeng-motion.mjs.map +1 -1
  262. package/fesm2022/primeng-multiselect.mjs +3406 -1932
  263. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  264. package/fesm2022/primeng-orderlist.mjs +1308 -664
  265. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  266. package/fesm2022/primeng-organizationchart.mjs +912 -595
  267. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  268. package/fesm2022/primeng-overlay.mjs +929 -624
  269. package/fesm2022/primeng-overlay.mjs.map +1 -1
  270. package/fesm2022/primeng-overlaybadge.mjs +291 -107
  271. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  272. package/fesm2022/primeng-paginator.mjs +959 -503
  273. package/fesm2022/primeng-paginator.mjs.map +1 -1
  274. package/fesm2022/primeng-panel.mjs +668 -343
  275. package/fesm2022/primeng-panel.mjs.map +1 -1
  276. package/fesm2022/primeng-panelmenu.mjs +1842 -998
  277. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  278. package/fesm2022/primeng-passthrough.mjs +8 -16
  279. package/fesm2022/primeng-passthrough.mjs.map +1 -1
  280. package/fesm2022/primeng-password.mjs +1518 -866
  281. package/fesm2022/primeng-password.mjs.map +1 -1
  282. package/fesm2022/primeng-picklist.mjs +2270 -1256
  283. package/fesm2022/primeng-picklist.mjs.map +1 -1
  284. package/fesm2022/primeng-popover.mjs +656 -436
  285. package/fesm2022/primeng-popover.mjs.map +1 -1
  286. package/fesm2022/primeng-progressbar.mjs +346 -168
  287. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  288. package/fesm2022/primeng-progressspinner.mjs +338 -188
  289. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  290. package/fesm2022/primeng-radiobutton.mjs +499 -292
  291. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  292. package/fesm2022/primeng-rating.mjs +583 -352
  293. package/fesm2022/primeng-rating.mjs.map +1 -1
  294. package/fesm2022/primeng-ripple.mjs +194 -184
  295. package/fesm2022/primeng-ripple.mjs.map +1 -1
  296. package/fesm2022/primeng-scrollarea.mjs +1018 -721
  297. package/fesm2022/primeng-scrollarea.mjs.map +1 -1
  298. package/fesm2022/primeng-scroller.mjs +1386 -1083
  299. package/fesm2022/primeng-scroller.mjs.map +1 -1
  300. package/fesm2022/primeng-scrollpanel.mjs +568 -480
  301. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  302. package/fesm2022/primeng-scrolltop.mjs +509 -260
  303. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  304. package/fesm2022/primeng-select.mjs +2948 -1765
  305. package/fesm2022/primeng-select.mjs.map +1 -1
  306. package/fesm2022/primeng-selectbutton.mjs +629 -339
  307. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  308. package/fesm2022/primeng-sidebar.mjs +2561 -1416
  309. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  310. package/fesm2022/primeng-skeleton.mjs +300 -157
  311. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  312. package/fesm2022/primeng-slider.mjs +841 -604
  313. package/fesm2022/primeng-slider.mjs.map +1 -1
  314. package/fesm2022/primeng-speeddial.mjs +1115 -717
  315. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  316. package/fesm2022/primeng-splitbutton.mjs +889 -339
  317. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  318. package/fesm2022/primeng-splitter.mjs +997 -759
  319. package/fesm2022/primeng-splitter.mjs.map +1 -1
  320. package/fesm2022/primeng-stepper.mjs +1355 -641
  321. package/fesm2022/primeng-stepper.mjs.map +1 -1
  322. package/fesm2022/primeng-steps.mjs +397 -304
  323. package/fesm2022/primeng-steps.mjs.map +1 -1
  324. package/fesm2022/primeng-styleclass.mjs +446 -334
  325. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  326. package/fesm2022/primeng-table.mjs +9763 -5870
  327. package/fesm2022/primeng-table.mjs.map +1 -1
  328. package/fesm2022/primeng-tabs.mjs +1357 -831
  329. package/fesm2022/primeng-tabs.mjs.map +1 -1
  330. package/fesm2022/primeng-tag.mjs +305 -151
  331. package/fesm2022/primeng-tag.mjs.map +1 -1
  332. package/fesm2022/primeng-terminal.mjs +368 -216
  333. package/fesm2022/primeng-terminal.mjs.map +1 -1
  334. package/fesm2022/primeng-textarea.mjs +345 -208
  335. package/fesm2022/primeng-textarea.mjs.map +1 -1
  336. package/fesm2022/primeng-tieredmenu.mjs +1917 -1125
  337. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  338. package/fesm2022/primeng-timeline.mjs +304 -165
  339. package/fesm2022/primeng-timeline.mjs.map +1 -1
  340. package/fesm2022/primeng-toast.mjs +1369 -922
  341. package/fesm2022/primeng-toast.mjs.map +1 -1
  342. package/fesm2022/primeng-togglebutton.mjs +563 -309
  343. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  344. package/fesm2022/primeng-toggleswitch.mjs +464 -237
  345. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  346. package/fesm2022/primeng-toolbar.mjs +299 -129
  347. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  348. package/fesm2022/primeng-tooltip.mjs +1018 -778
  349. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  350. package/fesm2022/primeng-tree.mjs +2679 -1875
  351. package/fesm2022/primeng-tree.mjs.map +1 -1
  352. package/fesm2022/primeng-treeselect.mjs +1678 -939
  353. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  354. package/fesm2022/primeng-treetable.mjs +5849 -3754
  355. package/fesm2022/primeng-treetable.mjs.map +1 -1
  356. package/fesm2022/primeng-ts-helpers.mjs +0 -4
  357. package/fesm2022/primeng-types-accordion.mjs +0 -4
  358. package/fesm2022/primeng-types-autocomplete.mjs +0 -4
  359. package/fesm2022/primeng-types-avatar.mjs +0 -4
  360. package/fesm2022/primeng-types-avatargroup.mjs +0 -4
  361. package/fesm2022/primeng-types-badge.mjs +0 -4
  362. package/fesm2022/primeng-types-blockui.mjs +0 -4
  363. package/fesm2022/primeng-types-breadcrumb.mjs +0 -4
  364. package/fesm2022/primeng-types-button.mjs +0 -4
  365. package/fesm2022/primeng-types-card.mjs +0 -4
  366. package/fesm2022/primeng-types-carousel.mjs +0 -4
  367. package/fesm2022/primeng-types-cascadeselect.mjs +0 -4
  368. package/fesm2022/primeng-types-chart.mjs +0 -4
  369. package/fesm2022/primeng-types-checkbox.mjs +0 -4
  370. package/fesm2022/primeng-types-chip.mjs +0 -4
  371. package/fesm2022/primeng-types-colorpicker.mjs +0 -4
  372. package/fesm2022/primeng-types-commandmenu.mjs +0 -4
  373. package/fesm2022/primeng-types-compare.mjs +0 -4
  374. package/fesm2022/primeng-types-confirmdialog.mjs +0 -4
  375. package/fesm2022/primeng-types-confirmpopup.mjs +0 -4
  376. package/fesm2022/primeng-types-contextmenu.mjs +0 -4
  377. package/fesm2022/primeng-types-dataview.mjs +0 -4
  378. package/fesm2022/primeng-types-datepicker.mjs +0 -4
  379. package/fesm2022/primeng-types-dialog.mjs +0 -4
  380. package/fesm2022/primeng-types-divider.mjs +0 -4
  381. package/fesm2022/primeng-types-dock.mjs +0 -4
  382. package/fesm2022/primeng-types-drawer.mjs +0 -4
  383. package/fesm2022/primeng-types-editor.mjs +0 -4
  384. package/fesm2022/primeng-types-fieldset.mjs +0 -4
  385. package/fesm2022/primeng-types-fileupload.mjs +0 -4
  386. package/fesm2022/primeng-types-floatlabel.mjs +0 -4
  387. package/fesm2022/primeng-types-fluid.mjs +0 -4
  388. package/fesm2022/primeng-types-galleria.mjs +0 -4
  389. package/fesm2022/primeng-types-gallery.mjs +0 -4
  390. package/fesm2022/primeng-types-iconfield.mjs +0 -4
  391. package/fesm2022/primeng-types-iftalabel.mjs +0 -4
  392. package/fesm2022/primeng-types-image.mjs +0 -4
  393. package/fesm2022/primeng-types-imagecompare.mjs +0 -4
  394. package/fesm2022/primeng-types-inplace.mjs +0 -4
  395. package/fesm2022/primeng-types-inputcolor.mjs +0 -4
  396. package/fesm2022/primeng-types-inputgroup.mjs +0 -4
  397. package/fesm2022/primeng-types-inputgroupaddon.mjs +0 -4
  398. package/fesm2022/primeng-types-inputicon.mjs +0 -4
  399. package/fesm2022/primeng-types-inputmask.mjs +0 -4
  400. package/fesm2022/primeng-types-inputnumber.mjs +0 -4
  401. package/fesm2022/primeng-types-inputotp.mjs +0 -4
  402. package/fesm2022/primeng-types-inputpassword.mjs +0 -4
  403. package/fesm2022/primeng-types-inputtags.mjs +0 -4
  404. package/fesm2022/primeng-types-inputtext.mjs +0 -4
  405. package/fesm2022/primeng-types-knob.mjs +0 -4
  406. package/fesm2022/primeng-types-label.mjs +0 -4
  407. package/fesm2022/primeng-types-listbox.mjs +0 -4
  408. package/fesm2022/primeng-types-megamenu.mjs +0 -4
  409. package/fesm2022/primeng-types-menu.mjs +0 -4
  410. package/fesm2022/primeng-types-menubar.mjs +0 -4
  411. package/fesm2022/primeng-types-message.mjs +0 -4
  412. package/fesm2022/primeng-types-metergroup.mjs +0 -4
  413. package/fesm2022/primeng-types-motion.mjs +0 -4
  414. package/fesm2022/primeng-types-multiselect.mjs +0 -4
  415. package/fesm2022/primeng-types-orderlist.mjs +0 -4
  416. package/fesm2022/primeng-types-organizationchart.mjs +0 -4
  417. package/fesm2022/primeng-types-overlay.mjs +0 -4
  418. package/fesm2022/primeng-types-overlaybadge.mjs +0 -4
  419. package/fesm2022/primeng-types-paginator.mjs +0 -4
  420. package/fesm2022/primeng-types-panel.mjs +0 -4
  421. package/fesm2022/primeng-types-panelmenu.mjs +0 -4
  422. package/fesm2022/primeng-types-password.mjs +0 -4
  423. package/fesm2022/primeng-types-picklist.mjs +0 -4
  424. package/fesm2022/primeng-types-popover.mjs +0 -4
  425. package/fesm2022/primeng-types-progressbar.mjs +0 -4
  426. package/fesm2022/primeng-types-progressspinner.mjs +0 -4
  427. package/fesm2022/primeng-types-radiobutton.mjs +0 -4
  428. package/fesm2022/primeng-types-rating.mjs +0 -4
  429. package/fesm2022/primeng-types-scrollarea.mjs +0 -4
  430. package/fesm2022/primeng-types-scroller.mjs +0 -4
  431. package/fesm2022/primeng-types-scrollpanel.mjs +0 -4
  432. package/fesm2022/primeng-types-scrolltop.mjs +0 -4
  433. package/fesm2022/primeng-types-select.mjs +0 -4
  434. package/fesm2022/primeng-types-selectbutton.mjs +0 -4
  435. package/fesm2022/primeng-types-shared.mjs +0 -4
  436. package/fesm2022/primeng-types-sidebar.mjs +0 -4
  437. package/fesm2022/primeng-types-skeleton.mjs +0 -4
  438. package/fesm2022/primeng-types-slider.mjs +0 -4
  439. package/fesm2022/primeng-types-speeddial.mjs +0 -4
  440. package/fesm2022/primeng-types-splitbutton.mjs +0 -4
  441. package/fesm2022/primeng-types-splitter.mjs +0 -4
  442. package/fesm2022/primeng-types-stepper.mjs +0 -4
  443. package/fesm2022/primeng-types-table.mjs +0 -4
  444. package/fesm2022/primeng-types-tabs.mjs +0 -4
  445. package/fesm2022/primeng-types-tag.mjs +0 -4
  446. package/fesm2022/primeng-types-terminal.mjs +0 -4
  447. package/fesm2022/primeng-types-textarea.mjs +0 -4
  448. package/fesm2022/primeng-types-tieredmenu.mjs +0 -4
  449. package/fesm2022/primeng-types-timeline.mjs +0 -4
  450. package/fesm2022/primeng-types-toast.mjs +0 -4
  451. package/fesm2022/primeng-types-togglebutton.mjs +0 -4
  452. package/fesm2022/primeng-types-toggleswitch.mjs +0 -4
  453. package/fesm2022/primeng-types-toolbar.mjs +0 -4
  454. package/fesm2022/primeng-types-tooltip.mjs +0 -4
  455. package/fesm2022/primeng-types-tree.mjs +0 -4
  456. package/fesm2022/primeng-types-treeselect.mjs +0 -4
  457. package/fesm2022/primeng-types-treetable.mjs +0 -4
  458. package/fesm2022/primeng-usestyle.mjs +105 -113
  459. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  460. package/fesm2022/primeng-utils.mjs +236 -317
  461. package/fesm2022/primeng-utils.mjs.map +1 -1
  462. package/fesm2022/primeng.mjs +1 -5
  463. package/fesm2022/primeng.mjs.map +1 -1
  464. package/package.json +6 -1
  465. package/types/primeng-accordion.d.ts +289 -219
  466. package/types/primeng-animateonscroll.d.ts +89 -61
  467. package/types/primeng-api.d.ts +1754 -1790
  468. package/types/primeng-autocomplete.d.ts +1053 -754
  469. package/types/primeng-autofocus.d.ts +27 -24
  470. package/types/primeng-avatar.d.ts +152 -114
  471. package/types/primeng-avatargroup.d.ts +45 -40
  472. package/types/primeng-badge.d.ts +104 -78
  473. package/types/primeng-base.d.ts +49 -52
  474. package/types/primeng-basecomponent.d.ts +191 -174
  475. package/types/primeng-baseeditableholder.d.ts +63 -45
  476. package/types/primeng-baseinput.d.ts +122 -74
  477. package/types/primeng-basemodelholder.d.ts +9 -12
  478. package/types/primeng-bind.d.ts +36 -32
  479. package/types/primeng-blockui.d.ts +99 -80
  480. package/types/primeng-breadcrumb.d.ts +159 -133
  481. package/types/primeng-button.d.ts +690 -425
  482. package/types/primeng-buttongroup.d.ts +26 -30
  483. package/types/primeng-card.d.ts +130 -119
  484. package/types/primeng-carousel.d.ts +799 -629
  485. package/types/primeng-cascadeselect.d.ts +753 -562
  486. package/types/primeng-chart.d.ts +158 -112
  487. package/types/primeng-checkbox.d.ts +298 -208
  488. package/types/primeng-chip.d.ts +187 -143
  489. package/types/primeng-classnames.d.ts +23 -21
  490. package/types/primeng-colorpicker.d.ts +324 -269
  491. package/types/primeng-commandmenu.d.ts +213 -165
  492. package/types/primeng-compare.d.ts +267 -189
  493. package/types/primeng-config.d.ts +294 -304
  494. package/types/primeng-confirmdialog.d.ts +504 -325
  495. package/types/primeng-confirmpopup.d.ts +253 -207
  496. package/types/primeng-contextmenu.d.ts +522 -366
  497. package/types/primeng-dataview.d.ts +497 -342
  498. package/types/primeng-datepicker.d.ts +1268 -969
  499. package/types/primeng-dialog.d.ts +667 -462
  500. package/types/primeng-divider.d.ts +112 -96
  501. package/types/primeng-dock.d.ts +206 -172
  502. package/types/primeng-dom.d.ts +97 -100
  503. package/types/primeng-dragdrop.d.ts +142 -107
  504. package/types/primeng-drawer.d.ts +354 -254
  505. package/types/primeng-dynamicdialog.d.ts +527 -535
  506. package/types/primeng-editor.d.ts +210 -162
  507. package/types/primeng-fieldset.d.ts +198 -163
  508. package/types/primeng-fileupload.d.ts +726 -523
  509. package/types/primeng-floatlabel.d.ts +54 -48
  510. package/types/primeng-fluid.d.ts +36 -36
  511. package/types/primeng-focustrap.d.ts +30 -27
  512. package/types/primeng-galleria.d.ts +569 -430
  513. package/types/primeng-gallery.d.ts +754 -552
  514. package/types/primeng-iconfield.d.ts +53 -42
  515. package/types/primeng-icons-angledoubledown.d.ts +6 -9
  516. package/types/primeng-icons-angledoubleleft.d.ts +6 -9
  517. package/types/primeng-icons-angledoubleright.d.ts +6 -9
  518. package/types/primeng-icons-angledoubleup.d.ts +6 -9
  519. package/types/primeng-icons-angledown.d.ts +6 -9
  520. package/types/primeng-icons-angleleft.d.ts +6 -9
  521. package/types/primeng-icons-angleright.d.ts +6 -9
  522. package/types/primeng-icons-angleup.d.ts +6 -9
  523. package/types/primeng-icons-arrowdown.d.ts +8 -11
  524. package/types/primeng-icons-arrowdownleft.d.ts +6 -9
  525. package/types/primeng-icons-arrowdownright.d.ts +6 -9
  526. package/types/primeng-icons-arrowleft.d.ts +8 -11
  527. package/types/primeng-icons-arrowright.d.ts +6 -9
  528. package/types/primeng-icons-arrowup.d.ts +8 -11
  529. package/types/primeng-icons-ban.d.ts +8 -11
  530. package/types/primeng-icons-bars.d.ts +6 -9
  531. package/types/primeng-icons-baseicon.d.ts +23 -22
  532. package/types/primeng-icons-blank.d.ts +6 -9
  533. package/types/primeng-icons-calendar.d.ts +6 -9
  534. package/types/primeng-icons-caretleft.d.ts +6 -9
  535. package/types/primeng-icons-caretright.d.ts +6 -9
  536. package/types/primeng-icons-check.d.ts +6 -9
  537. package/types/primeng-icons-chevrondown.d.ts +6 -9
  538. package/types/primeng-icons-chevronleft.d.ts +6 -9
  539. package/types/primeng-icons-chevronright.d.ts +6 -9
  540. package/types/primeng-icons-chevronup.d.ts +6 -9
  541. package/types/primeng-icons-exclamationtriangle.d.ts +8 -11
  542. package/types/primeng-icons-eye.d.ts +6 -9
  543. package/types/primeng-icons-eyeslash.d.ts +8 -11
  544. package/types/primeng-icons-filter.d.ts +8 -11
  545. package/types/primeng-icons-filterfill.d.ts +6 -9
  546. package/types/primeng-icons-filterslash.d.ts +8 -11
  547. package/types/primeng-icons-home.d.ts +8 -11
  548. package/types/primeng-icons-infocircle.d.ts +8 -11
  549. package/types/primeng-icons-minus.d.ts +6 -9
  550. package/types/primeng-icons-pencil.d.ts +8 -11
  551. package/types/primeng-icons-plus.d.ts +8 -11
  552. package/types/primeng-icons-refresh.d.ts +8 -11
  553. package/types/primeng-icons-search.d.ts +8 -11
  554. package/types/primeng-icons-searchminus.d.ts +8 -11
  555. package/types/primeng-icons-searchplus.d.ts +8 -11
  556. package/types/primeng-icons-sortalt.d.ts +8 -11
  557. package/types/primeng-icons-sortamountdown.d.ts +8 -11
  558. package/types/primeng-icons-sortamountupalt.d.ts +8 -11
  559. package/types/primeng-icons-spinner.d.ts +8 -11
  560. package/types/primeng-icons-star.d.ts +8 -11
  561. package/types/primeng-icons-starfill.d.ts +8 -11
  562. package/types/primeng-icons-thlarge.d.ts +8 -11
  563. package/types/primeng-icons-times.d.ts +6 -9
  564. package/types/primeng-icons-timescircle.d.ts +8 -11
  565. package/types/primeng-icons-trash.d.ts +8 -11
  566. package/types/primeng-icons-undo.d.ts +8 -11
  567. package/types/primeng-icons-upload.d.ts +8 -11
  568. package/types/primeng-icons-windowmaximize.d.ts +8 -11
  569. package/types/primeng-icons-windowminimize.d.ts +8 -11
  570. package/types/primeng-icons.d.ts +53 -53
  571. package/types/primeng-iftalabel.d.ts +37 -37
  572. package/types/primeng-image.d.ts +403 -308
  573. package/types/primeng-imagecompare.d.ts +93 -77
  574. package/types/primeng-inplace.d.ts +125 -111
  575. package/types/primeng-inputcolor.d.ts +646 -507
  576. package/types/primeng-inputgroup.d.ts +41 -41
  577. package/types/primeng-inputgroupaddon.d.ts +31 -31
  578. package/types/primeng-inputicon.d.ts +38 -32
  579. package/types/primeng-inputmask.d.ts +519 -362
  580. package/types/primeng-inputnumber.d.ts +572 -405
  581. package/types/primeng-inputotp.d.ts +205 -156
  582. package/types/primeng-inputpassword.d.ts +59 -43
  583. package/types/primeng-inputtags.d.ts +451 -297
  584. package/types/primeng-inputtext.d.ts +129 -93
  585. package/types/primeng-keyfilter.d.ts +62 -53
  586. package/types/primeng-knob.d.ts +256 -183
  587. package/types/primeng-label.d.ts +36 -36
  588. package/types/primeng-license.d.ts +1 -3
  589. package/types/primeng-listbox.d.ts +1040 -786
  590. package/types/primeng-megamenu.d.ts +535 -383
  591. package/types/primeng-menu.d.ts +478 -361
  592. package/types/primeng-menubar.d.ts +495 -354
  593. package/types/primeng-message.d.ts +191 -148
  594. package/types/primeng-metergroup.d.ts +249 -187
  595. package/types/primeng-motion.d.ts +602 -384
  596. package/types/primeng-multiselect.d.ts +1192 -858
  597. package/types/primeng-orderlist.d.ts +538 -390
  598. package/types/primeng-organizationchart.d.ts +235 -192
  599. package/types/primeng-overlay.d.ts +394 -294
  600. package/types/primeng-overlaybadge.d.ts +95 -64
  601. package/types/primeng-paginator.d.ts +409 -309
  602. package/types/primeng-panel.d.ts +267 -217
  603. package/types/primeng-panelmenu.d.ts +254 -228
  604. package/types/primeng-passthrough.d.ts +5 -7
  605. package/types/primeng-password.d.ts +605 -430
  606. package/types/primeng-picklist.d.ts +1041 -756
  607. package/types/primeng-popover.d.ts +235 -176
  608. package/types/primeng-progressbar.d.ts +130 -99
  609. package/types/primeng-progressspinner.d.ts +144 -108
  610. package/types/primeng-radiobutton.d.ts +218 -168
  611. package/types/primeng-rating.d.ts +239 -189
  612. package/types/primeng-ripple.d.ts +38 -42
  613. package/types/primeng-scrollarea.d.ts +290 -239
  614. package/types/primeng-scroller.d.ts +522 -387
  615. package/types/primeng-scrollpanel.d.ts +134 -128
  616. package/types/primeng-scrolltop.d.ts +169 -123
  617. package/types/primeng-select.d.ts +1013 -738
  618. package/types/primeng-selectbutton.d.ts +238 -164
  619. package/types/primeng-sidebar.d.ts +794 -561
  620. package/types/primeng-skeleton.d.ts +114 -83
  621. package/types/primeng-slider.d.ts +375 -306
  622. package/types/primeng-speeddial.d.ts +492 -370
  623. package/types/primeng-splitbutton.d.ts +381 -240
  624. package/types/primeng-splitter.d.ts +392 -299
  625. package/types/primeng-stepper.d.ts +422 -250
  626. package/types/primeng-steps.d.ts +157 -134
  627. package/types/primeng-styleclass.d.ts +163 -105
  628. package/types/primeng-table.d.ts +2898 -1911
  629. package/types/primeng-tabs.d.ts +467 -301
  630. package/types/primeng-tag.d.ts +106 -85
  631. package/types/primeng-terminal.d.ts +131 -117
  632. package/types/primeng-textarea.d.ts +145 -107
  633. package/types/primeng-tieredmenu.d.ts +572 -398
  634. package/types/primeng-timeline.d.ts +125 -109
  635. package/types/primeng-toast.d.ts +310 -247
  636. package/types/primeng-togglebutton.d.ts +254 -182
  637. package/types/primeng-toggleswitch.d.ts +188 -140
  638. package/types/primeng-toolbar.d.ts +82 -76
  639. package/types/primeng-tooltip.d.ts +334 -232
  640. package/types/primeng-tree.d.ts +762 -559
  641. package/types/primeng-treeselect.d.ts +749 -547
  642. package/types/primeng-treetable.d.ts +1839 -1313
  643. package/types/primeng-ts-helpers.d.ts +4 -6
  644. package/types/primeng-types-accordion.d.ts +58 -62
  645. package/types/primeng-types-autocomplete.d.ts +230 -233
  646. package/types/primeng-types-avatar.d.ts +25 -28
  647. package/types/primeng-types-avatargroup.d.ts +11 -14
  648. package/types/primeng-types-badge.d.ts +13 -16
  649. package/types/primeng-types-blockui.d.ts +18 -21
  650. package/types/primeng-types-breadcrumb.d.ts +65 -68
  651. package/types/primeng-types-button.d.ts +106 -109
  652. package/types/primeng-types-card.d.ts +54 -57
  653. package/types/primeng-types-carousel.d.ts +143 -146
  654. package/types/primeng-types-cascadeselect.d.ts +186 -192
  655. package/types/primeng-types-chart.d.ts +34 -39
  656. package/types/primeng-types-checkbox.d.ts +52 -55
  657. package/types/primeng-types-chip.d.ts +48 -51
  658. package/types/primeng-types-colorpicker.d.ts +59 -62
  659. package/types/primeng-types-commandmenu.d.ts +98 -101
  660. package/types/primeng-types-compare.d.ts +33 -36
  661. package/types/primeng-types-confirmdialog.d.ts +124 -127
  662. package/types/primeng-types-confirmpopup.d.ts +75 -78
  663. package/types/primeng-types-contextmenu.d.ts +100 -103
  664. package/types/primeng-types-dataview.d.ts +180 -183
  665. package/types/primeng-types-datepicker.d.ts +442 -445
  666. package/types/primeng-types-dialog.d.ts +93 -96
  667. package/types/primeng-types-divider.d.ts +14 -17
  668. package/types/primeng-types-dock.d.ts +45 -48
  669. package/types/primeng-types-drawer.d.ts +62 -65
  670. package/types/primeng-types-editor.d.ts +143 -146
  671. package/types/primeng-types-fieldset.d.ts +83 -87
  672. package/types/primeng-types-fileupload.d.ts +296 -301
  673. package/types/primeng-types-floatlabel.d.ts +12 -15
  674. package/types/primeng-types-fluid.d.ts +11 -14
  675. package/types/primeng-types-galleria.d.ts +209 -212
  676. package/types/primeng-types-gallery.d.ts +195 -198
  677. package/types/primeng-types-iconfield.d.ts +12 -15
  678. package/types/primeng-types-iftalabel.d.ts +11 -14
  679. package/types/primeng-types-image.d.ts +118 -121
  680. package/types/primeng-types-imagecompare.d.ts +22 -25
  681. package/types/primeng-types-inplace.d.ts +46 -49
  682. package/types/primeng-types-inputcolor.d.ts +86 -89
  683. package/types/primeng-types-inputgroup.d.ts +11 -14
  684. package/types/primeng-types-inputgroupaddon.d.ts +11 -14
  685. package/types/primeng-types-inputicon.d.ts +11 -14
  686. package/types/primeng-types-inputmask.d.ts +30 -33
  687. package/types/primeng-types-inputnumber.d.ts +72 -75
  688. package/types/primeng-types-inputotp.d.ts +67 -70
  689. package/types/primeng-types-inputpassword.d.ts +7 -10
  690. package/types/primeng-types-inputtags.d.ts +122 -125
  691. package/types/primeng-types-inputtext.d.ts +7 -10
  692. package/types/primeng-types-knob.d.ts +23 -26
  693. package/types/primeng-types-label.d.ts +7 -10
  694. package/types/primeng-types-listbox.d.ts +262 -266
  695. package/types/primeng-types-megamenu.d.ts +135 -138
  696. package/types/primeng-types-menu.d.ts +98 -101
  697. package/types/primeng-types-menubar.d.ts +122 -125
  698. package/types/primeng-types-message.d.ts +69 -72
  699. package/types/primeng-types-metergroup.d.ts +137 -140
  700. package/types/primeng-types-motion.d.ts +11 -14
  701. package/types/primeng-types-multiselect.d.ts +329 -333
  702. package/types/primeng-types-orderlist.d.ts +126 -129
  703. package/types/primeng-types-organizationchart.d.ts +147 -153
  704. package/types/primeng-types-overlay.d.ts +31 -34
  705. package/types/primeng-types-overlaybadge.d.ts +17 -20
  706. package/types/primeng-types-paginator.d.ts +131 -134
  707. package/types/primeng-types-panel.d.ts +91 -95
  708. package/types/primeng-types-panelmenu.d.ts +150 -153
  709. package/types/primeng-types-password.d.ts +94 -97
  710. package/types/primeng-types-picklist.d.ts +250 -260
  711. package/types/primeng-types-popover.d.ts +33 -36
  712. package/types/primeng-types-progressbar.d.ts +33 -36
  713. package/types/primeng-types-progressspinner.d.ts +27 -30
  714. package/types/primeng-types-radiobutton.d.ts +29 -32
  715. package/types/primeng-types-rating.d.ts +62 -65
  716. package/types/primeng-types-scrollarea.d.ts +35 -38
  717. package/types/primeng-types-scroller.d.ts +142 -146
  718. package/types/primeng-types-scrollpanel.d.ts +31 -34
  719. package/types/primeng-types-scrolltop.d.ts +37 -40
  720. package/types/primeng-types-select.d.ts +251 -254
  721. package/types/primeng-types-selectbutton.d.ts +56 -59
  722. package/types/primeng-types-shared.d.ts +6 -9
  723. package/types/primeng-types-sidebar.d.ts +105 -108
  724. package/types/primeng-types-skeleton.d.ts +11 -14
  725. package/types/primeng-types-slider.d.ts +59 -62
  726. package/types/primeng-types-speeddial.d.ts +71 -74
  727. package/types/primeng-types-splitbutton.d.ts +35 -38
  728. package/types/primeng-types-splitter.d.ts +58 -63
  729. package/types/primeng-types-stepper.d.ts +77 -80
  730. package/types/primeng-types-table.d.ts +743 -749
  731. package/types/primeng-types-tabs.d.ts +48 -51
  732. package/types/primeng-types-tag.d.ts +27 -30
  733. package/types/primeng-types-terminal.d.ts +43 -46
  734. package/types/primeng-types-textarea.d.ts +11 -14
  735. package/types/primeng-types-tieredmenu.d.ts +154 -157
  736. package/types/primeng-types-timeline.d.ts +60 -63
  737. package/types/primeng-types-toast.d.ts +92 -95
  738. package/types/primeng-types-togglebutton.d.ts +52 -55
  739. package/types/primeng-types-toggleswitch.d.ts +41 -44
  740. package/types/primeng-types-toolbar.d.ts +34 -37
  741. package/types/primeng-types-tooltip.d.ts +17 -20
  742. package/types/primeng-types-tree.d.ts +237 -246
  743. package/types/primeng-types-treeselect.d.ts +198 -202
  744. package/types/primeng-types-treetable.d.ts +492 -497
  745. package/types/primeng-usestyle.d.ts +28 -31
  746. package/types/primeng-utils.d.ts +37 -40
  747. package/types/primeng.d.ts +2 -2
  748. package/fesm2022/primeng-icons.mjs.map +0 -1
  749. package/fesm2022/primeng-ts-helpers.mjs.map +0 -1
  750. package/fesm2022/primeng-types-accordion.mjs.map +0 -1
  751. package/fesm2022/primeng-types-autocomplete.mjs.map +0 -1
  752. package/fesm2022/primeng-types-avatar.mjs.map +0 -1
  753. package/fesm2022/primeng-types-avatargroup.mjs.map +0 -1
  754. package/fesm2022/primeng-types-badge.mjs.map +0 -1
  755. package/fesm2022/primeng-types-blockui.mjs.map +0 -1
  756. package/fesm2022/primeng-types-breadcrumb.mjs.map +0 -1
  757. package/fesm2022/primeng-types-button.mjs.map +0 -1
  758. package/fesm2022/primeng-types-card.mjs.map +0 -1
  759. package/fesm2022/primeng-types-carousel.mjs.map +0 -1
  760. package/fesm2022/primeng-types-cascadeselect.mjs.map +0 -1
  761. package/fesm2022/primeng-types-chart.mjs.map +0 -1
  762. package/fesm2022/primeng-types-checkbox.mjs.map +0 -1
  763. package/fesm2022/primeng-types-chip.mjs.map +0 -1
  764. package/fesm2022/primeng-types-colorpicker.mjs.map +0 -1
  765. package/fesm2022/primeng-types-commandmenu.mjs.map +0 -1
  766. package/fesm2022/primeng-types-compare.mjs.map +0 -1
  767. package/fesm2022/primeng-types-confirmdialog.mjs.map +0 -1
  768. package/fesm2022/primeng-types-confirmpopup.mjs.map +0 -1
  769. package/fesm2022/primeng-types-contextmenu.mjs.map +0 -1
  770. package/fesm2022/primeng-types-dataview.mjs.map +0 -1
  771. package/fesm2022/primeng-types-datepicker.mjs.map +0 -1
  772. package/fesm2022/primeng-types-dialog.mjs.map +0 -1
  773. package/fesm2022/primeng-types-divider.mjs.map +0 -1
  774. package/fesm2022/primeng-types-dock.mjs.map +0 -1
  775. package/fesm2022/primeng-types-drawer.mjs.map +0 -1
  776. package/fesm2022/primeng-types-editor.mjs.map +0 -1
  777. package/fesm2022/primeng-types-fieldset.mjs.map +0 -1
  778. package/fesm2022/primeng-types-fileupload.mjs.map +0 -1
  779. package/fesm2022/primeng-types-floatlabel.mjs.map +0 -1
  780. package/fesm2022/primeng-types-fluid.mjs.map +0 -1
  781. package/fesm2022/primeng-types-galleria.mjs.map +0 -1
  782. package/fesm2022/primeng-types-gallery.mjs.map +0 -1
  783. package/fesm2022/primeng-types-iconfield.mjs.map +0 -1
  784. package/fesm2022/primeng-types-iftalabel.mjs.map +0 -1
  785. package/fesm2022/primeng-types-image.mjs.map +0 -1
  786. package/fesm2022/primeng-types-imagecompare.mjs.map +0 -1
  787. package/fesm2022/primeng-types-inplace.mjs.map +0 -1
  788. package/fesm2022/primeng-types-inputcolor.mjs.map +0 -1
  789. package/fesm2022/primeng-types-inputgroup.mjs.map +0 -1
  790. package/fesm2022/primeng-types-inputgroupaddon.mjs.map +0 -1
  791. package/fesm2022/primeng-types-inputicon.mjs.map +0 -1
  792. package/fesm2022/primeng-types-inputmask.mjs.map +0 -1
  793. package/fesm2022/primeng-types-inputnumber.mjs.map +0 -1
  794. package/fesm2022/primeng-types-inputotp.mjs.map +0 -1
  795. package/fesm2022/primeng-types-inputpassword.mjs.map +0 -1
  796. package/fesm2022/primeng-types-inputtags.mjs.map +0 -1
  797. package/fesm2022/primeng-types-inputtext.mjs.map +0 -1
  798. package/fesm2022/primeng-types-knob.mjs.map +0 -1
  799. package/fesm2022/primeng-types-label.mjs.map +0 -1
  800. package/fesm2022/primeng-types-listbox.mjs.map +0 -1
  801. package/fesm2022/primeng-types-megamenu.mjs.map +0 -1
  802. package/fesm2022/primeng-types-menu.mjs.map +0 -1
  803. package/fesm2022/primeng-types-menubar.mjs.map +0 -1
  804. package/fesm2022/primeng-types-message.mjs.map +0 -1
  805. package/fesm2022/primeng-types-metergroup.mjs.map +0 -1
  806. package/fesm2022/primeng-types-motion.mjs.map +0 -1
  807. package/fesm2022/primeng-types-multiselect.mjs.map +0 -1
  808. package/fesm2022/primeng-types-orderlist.mjs.map +0 -1
  809. package/fesm2022/primeng-types-organizationchart.mjs.map +0 -1
  810. package/fesm2022/primeng-types-overlay.mjs.map +0 -1
  811. package/fesm2022/primeng-types-overlaybadge.mjs.map +0 -1
  812. package/fesm2022/primeng-types-paginator.mjs.map +0 -1
  813. package/fesm2022/primeng-types-panel.mjs.map +0 -1
  814. package/fesm2022/primeng-types-panelmenu.mjs.map +0 -1
  815. package/fesm2022/primeng-types-password.mjs.map +0 -1
  816. package/fesm2022/primeng-types-picklist.mjs.map +0 -1
  817. package/fesm2022/primeng-types-popover.mjs.map +0 -1
  818. package/fesm2022/primeng-types-progressbar.mjs.map +0 -1
  819. package/fesm2022/primeng-types-progressspinner.mjs.map +0 -1
  820. package/fesm2022/primeng-types-radiobutton.mjs.map +0 -1
  821. package/fesm2022/primeng-types-rating.mjs.map +0 -1
  822. package/fesm2022/primeng-types-scrollarea.mjs.map +0 -1
  823. package/fesm2022/primeng-types-scroller.mjs.map +0 -1
  824. package/fesm2022/primeng-types-scrollpanel.mjs.map +0 -1
  825. package/fesm2022/primeng-types-scrolltop.mjs.map +0 -1
  826. package/fesm2022/primeng-types-select.mjs.map +0 -1
  827. package/fesm2022/primeng-types-selectbutton.mjs.map +0 -1
  828. package/fesm2022/primeng-types-shared.mjs.map +0 -1
  829. package/fesm2022/primeng-types-sidebar.mjs.map +0 -1
  830. package/fesm2022/primeng-types-skeleton.mjs.map +0 -1
  831. package/fesm2022/primeng-types-slider.mjs.map +0 -1
  832. package/fesm2022/primeng-types-speeddial.mjs.map +0 -1
  833. package/fesm2022/primeng-types-splitbutton.mjs.map +0 -1
  834. package/fesm2022/primeng-types-splitter.mjs.map +0 -1
  835. package/fesm2022/primeng-types-stepper.mjs.map +0 -1
  836. package/fesm2022/primeng-types-table.mjs.map +0 -1
  837. package/fesm2022/primeng-types-tabs.mjs.map +0 -1
  838. package/fesm2022/primeng-types-tag.mjs.map +0 -1
  839. package/fesm2022/primeng-types-terminal.mjs.map +0 -1
  840. package/fesm2022/primeng-types-textarea.mjs.map +0 -1
  841. package/fesm2022/primeng-types-tieredmenu.mjs.map +0 -1
  842. package/fesm2022/primeng-types-timeline.mjs.map +0 -1
  843. package/fesm2022/primeng-types-toast.mjs.map +0 -1
  844. package/fesm2022/primeng-types-togglebutton.mjs.map +0 -1
  845. package/fesm2022/primeng-types-toggleswitch.mjs.map +0 -1
  846. package/fesm2022/primeng-types-toolbar.mjs.map +0 -1
  847. package/fesm2022/primeng-types-tooltip.mjs.map +0 -1
  848. package/fesm2022/primeng-types-tree.mjs.map +0 -1
  849. package/fesm2022/primeng-types-treeselect.mjs.map +0 -1
  850. package/fesm2022/primeng-types-treetable.mjs.map +0 -1
@@ -1,679 +1,641 @@
1
- export * from 'primeng/types/tree';
2
- import { NgTemplateOutlet } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { Injectable, InjectionToken, inject, input, booleanAttribute, signal, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, model, numberAttribute, output, contentChild, viewChild, DestroyRef, effect, untracked, NgModule } from '@angular/core';
5
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
- import { Search } from '@primeicons/angular/search';
7
- import { Spinner } from '@primeicons/angular/spinner';
8
- import { getOuterWidth, getOuterHeight, find, findSingle, focus, removeAccents, resolveFieldData } from '@primeuix/utils';
9
- import { TreeDragDropService, TranslationKeys } from 'primeng/api';
10
- import * as i2 from 'primeng/autofocus';
11
- import { AutoFocusModule } from 'primeng/autofocus';
12
- import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
13
- import * as i1$1 from 'primeng/bind';
14
- import { Bind } from 'primeng/bind';
15
- import { IconField } from 'primeng/iconfield';
16
- import { InputIcon } from 'primeng/inputicon';
17
- import { InputText } from 'primeng/inputtext';
18
- import { Scroller } from 'primeng/scroller';
19
- import { style } from '@primeuix/styles/tree';
20
- import { BaseStyle } from 'primeng/base';
21
- import * as i1 from '@angular/forms';
22
- import { FormsModule } from '@angular/forms';
23
- import { Checkbox } from 'primeng/checkbox';
24
- import { ChevronDown } from '@primeicons/angular/chevron-down';
25
- import { ChevronRight } from '@primeicons/angular/chevron-right';
26
- import { Ripple } from 'primeng/ripple';
27
-
1
+ import { NgTemplateOutlet } from "@angular/common";
2
+ import * as i0 from "@angular/core";
3
+ import { ChangeDetectionStrategy, Component, DestroyRef, Injectable, InjectionToken, NgModule, ViewEncapsulation, booleanAttribute, computed, contentChild, effect, inject, input, model, numberAttribute, output, signal, untracked, viewChild } from "@angular/core";
4
+ import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
5
+ import { Search } from "@primeicons/angular/search";
6
+ import { Spinner } from "@primeicons/angular/spinner";
7
+ import { find, findSingle, focus, getOuterHeight, getOuterWidth, removeAccents, resolveFieldData } from "@primeuix/utils";
8
+ import { TranslationKeys, TreeDragDropService } from "primeng/api";
9
+ import * as i2 from "primeng/autofocus";
10
+ import { AutoFocusModule } from "primeng/autofocus";
11
+ import { BaseComponent, PARENT_INSTANCE } from "primeng/basecomponent";
12
+ import * as i1 from "primeng/bind";
13
+ import { Bind } from "primeng/bind";
14
+ import { IconField } from "primeng/iconfield";
15
+ import { InputIcon } from "primeng/inputicon";
16
+ import { InputText } from "primeng/inputtext";
17
+ import { Scroller } from "primeng/scroller";
18
+ import { style } from "@primeuix/styles/tree";
19
+ import { BaseStyle } from "primeng/base";
20
+ import * as i1$1 from "@angular/forms";
21
+ import { FormsModule } from "@angular/forms";
22
+ import { Checkbox } from "primeng/checkbox";
23
+ import { ChevronDown } from "@primeicons/angular/chevron-down";
24
+ import { ChevronRight } from "@primeicons/angular/chevron-right";
25
+ import { Ripple } from "primeng/ripple";
26
+ export * from "primeng/types/tree";
28
27
  const classes = {
29
- root: ({ instance }) => [
30
- 'p-tree p-component',
31
- {
32
- 'p-tree-selectable': instance.selectionMode() != null,
33
- 'p-tree-loading': instance.loading(),
34
- 'p-tree-flex-scrollable': instance.scrollHeight() === 'flex',
35
- 'p-tree-node-dragover': instance.dragHover
36
- }
37
- ],
38
- mask: 'p-tree-mask p-overlay-mask',
39
- loadingIcon: 'p-tree-loading-icon',
40
- pcFilterInput: 'p-tree-filter-input',
41
- wrapper: 'p-tree-root',
42
- rootChildren: 'p-tree-root-children',
43
- node: ({ instance }) => ({ 'p-tree-node': true, 'p-tree-node-leaf': instance.isLeaf() }),
44
- nodeContent: ({ instance }) => ({
45
- 'p-tree-node-content': true,
46
- 'p-tree-node-selectable': instance.selectable,
47
- 'p-tree-node-dragover': instance.isNodeDropActive(),
48
- 'p-tree-node-selected': instance.tree.selectionMode() === 'checkbox' && instance.tree.highlightOnSelect() ? instance.checked : instance.selected,
49
- 'p-tree-node-contextmenu-selected': instance.isContextMenuSelected()
50
- }),
51
- nodeToggleButton: 'p-tree-node-toggle-button',
52
- nodeToggleIcon: 'p-tree-node-toggle-icon',
53
- nodeCheckbox: 'p-tree-node-checkbox',
54
- nodeIcon: 'p-tree-node-icon',
55
- nodeLabel: 'p-tree-node-label',
56
- nodeChildren: 'p-tree-node-children',
57
- emptyMessage: 'p-tree-empty-message',
58
- dropPoint: 'p-tree-node-drop-point'
28
+ root: ({ instance }) => ["p-tree p-component", {
29
+ "p-tree-selectable": instance.selectionMode() != null,
30
+ "p-tree-loading": instance.loading(),
31
+ "p-tree-flex-scrollable": instance.scrollHeight() === "flex",
32
+ "p-tree-node-dragover": instance.dragHover
33
+ }],
34
+ mask: "p-tree-mask p-overlay-mask",
35
+ loadingIcon: "p-tree-loading-icon",
36
+ pcFilterInput: "p-tree-filter-input",
37
+ wrapper: "p-tree-root",
38
+ rootChildren: "p-tree-root-children",
39
+ node: ({ instance }) => ({
40
+ "p-tree-node": true,
41
+ "p-tree-node-leaf": instance.isLeaf()
42
+ }),
43
+ nodeContent: ({ instance }) => ({
44
+ "p-tree-node-content": true,
45
+ "p-tree-node-selectable": instance.selectable,
46
+ "p-tree-node-dragover": instance.isNodeDropActive(),
47
+ "p-tree-node-selected": instance.tree.selectionMode() === "checkbox" && instance.tree.highlightOnSelect() ? instance.checked : instance.selected,
48
+ "p-tree-node-contextmenu-selected": instance.isContextMenuSelected()
49
+ }),
50
+ nodeToggleButton: "p-tree-node-toggle-button",
51
+ nodeToggleIcon: "p-tree-node-toggle-icon",
52
+ nodeCheckbox: "p-tree-node-checkbox",
53
+ nodeIcon: "p-tree-node-icon",
54
+ nodeLabel: "p-tree-node-label",
55
+ nodeChildren: "p-tree-node-children",
56
+ emptyMessage: "p-tree-empty-message",
57
+ dropPoint: "p-tree-node-drop-point"
59
58
  };
60
- class TreeStyle extends BaseStyle {
61
- name = 'tree';
62
- style = style;
63
- classes = classes;
64
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: TreeStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
65
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: TreeStyle });
66
- }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: TreeStyle, decorators: [{
68
- type: Injectable
69
- }] });
70
- /**
71
- *
72
- * Tree is used to display hierarchical data.
73
- *
74
- * [Live Demo](https://www.primeng.org/tree/)
75
- *
76
- * @module treestyle
77
- *
78
- */
59
+ var TreeStyle = class TreeStyle extends BaseStyle {
60
+ name = "tree";
61
+ style = style;
62
+ classes = classes;
63
+ static ɵfac = i0.ɵɵngDeclareFactory({
64
+ minVersion: "12.0.0",
65
+ version: "22.2.0",
66
+ ngImport: i0,
67
+ type: TreeStyle,
68
+ deps: null,
69
+ target: i0.ɵɵFactoryTarget.Injectable
70
+ });
71
+ static ɵprov = i0.ɵɵngDeclareInjectable({
72
+ minVersion: "12.0.0",
73
+ version: "22.2.0",
74
+ ngImport: i0,
75
+ type: TreeStyle
76
+ });
77
+ };
78
+ i0.ɵɵngDeclareClassMetadata({
79
+ minVersion: "12.0.0",
80
+ version: "22.2.0",
81
+ ngImport: i0,
82
+ type: TreeStyle,
83
+ decorators: [{ type: Injectable }]
84
+ });
79
85
  var TreeClasses;
80
- (function (TreeClasses) {
81
- /**
82
- * Class name of the root element
83
- */
84
- TreeClasses["root"] = "p-tree";
85
- /**
86
- * Class name of the mask element
87
- */
88
- TreeClasses["mask"] = "p-tree-mask";
89
- /**
90
- * Class name of the loading icon element
91
- */
92
- TreeClasses["loadingIcon"] = "p-tree-loading-icon";
93
- /**
94
- * Class name of the filter input element
95
- */
96
- TreeClasses["pcFilterInput"] = "p-tree-filter-input";
97
- /**
98
- * Class name of the wrapper element
99
- */
100
- TreeClasses["wrapper"] = "p-tree-root";
101
- /**
102
- * Class name of the root children element
103
- */
104
- TreeClasses["rootChildren"] = "p-tree-root-children";
105
- /**
106
- * Class name of the node element
107
- */
108
- TreeClasses["node"] = "p-tree-node";
109
- /**
110
- * Class name of the node content element
111
- */
112
- TreeClasses["nodeContent"] = "p-tree-node-content";
113
- /**
114
- * Class name of the node toggle button element
115
- */
116
- TreeClasses["nodeToggleButton"] = "p-tree-node-toggle-button";
117
- /**
118
- * Class name of the node toggle icon element
119
- */
120
- TreeClasses["nodeToggleIcon"] = "p-tree-node-toggle-icon";
121
- /**
122
- * Class name of the node checkbox element
123
- */
124
- TreeClasses["nodeCheckbox"] = "p-tree-node-checkbox";
125
- /**
126
- * Class name of the node icon element
127
- */
128
- TreeClasses["nodeIcon"] = "p-tree-node-icon";
129
- /**
130
- * Class name of the node label element
131
- */
132
- TreeClasses["nodeLabel"] = "p-tree-node-label";
133
- /**
134
- * Class name of the node children element
135
- */
136
- TreeClasses["nodeChildren"] = "p-tree-node-children";
137
- /**
138
- * Class name of the empty message element
139
- */
140
- TreeClasses["emptyMessage"] = "p-tree-empty-message";
141
- /**
142
- * Class name of the drop point element
143
- */
144
- TreeClasses["dropPoint"] = "p-tree-node-droppoint";
86
+ (function(TreeClasses) {
87
+ TreeClasses["root"] = "p-tree";
88
+ TreeClasses["mask"] = "p-tree-mask";
89
+ TreeClasses["loadingIcon"] = "p-tree-loading-icon";
90
+ TreeClasses["pcFilterInput"] = "p-tree-filter-input";
91
+ TreeClasses["wrapper"] = "p-tree-root";
92
+ TreeClasses["rootChildren"] = "p-tree-root-children";
93
+ TreeClasses["node"] = "p-tree-node";
94
+ TreeClasses["nodeContent"] = "p-tree-node-content";
95
+ TreeClasses["nodeToggleButton"] = "p-tree-node-toggle-button";
96
+ TreeClasses["nodeToggleIcon"] = "p-tree-node-toggle-icon";
97
+ TreeClasses["nodeCheckbox"] = "p-tree-node-checkbox";
98
+ TreeClasses["nodeIcon"] = "p-tree-node-icon";
99
+ TreeClasses["nodeLabel"] = "p-tree-node-label";
100
+ TreeClasses["nodeChildren"] = "p-tree-node-children";
101
+ TreeClasses["emptyMessage"] = "p-tree-empty-message";
102
+ TreeClasses["dropPoint"] = "p-tree-node-droppoint";
145
103
  })(TreeClasses || (TreeClasses = {}));
146
-
147
- const TREE_INSTANCE = new InjectionToken('TREE_INSTANCE');
148
- const TREENODE_INSTANCE = new InjectionToken('TREENODE_INSTANCE');
149
-
150
- class UITreeNode extends BaseComponent {
151
- static ICON_CLASS = 'p-tree-node-icon ';
152
- $pcTreeNode = inject(TREENODE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
153
- rowNode = input(/* @ts-ignore */
154
- ...(ngDevMode ? [undefined, { debugName: "rowNode" }] : /* istanbul ignore next */ []));
155
- node = input(/* @ts-ignore */
156
- ...(ngDevMode ? [undefined, { debugName: "node" }] : /* istanbul ignore next */ []));
157
- parentNode = input(/* @ts-ignore */
158
- ...(ngDevMode ? [undefined, { debugName: "parentNode" }] : /* istanbul ignore next */ []));
159
- root = input(false, { ...(ngDevMode ? { debugName: "root" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
160
- index = input(/* @ts-ignore */
161
- ...(ngDevMode ? [undefined, { debugName: "index" }] : /* istanbul ignore next */ []));
162
- firstChild = input(false, { ...(ngDevMode ? { debugName: "firstChild" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
163
- lastChild = input(false, { ...(ngDevMode ? { debugName: "lastChild" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
164
- level = input(/* @ts-ignore */
165
- ...(ngDevMode ? [undefined, { debugName: "level" }] : /* istanbul ignore next */ []));
166
- indentation = input(/* @ts-ignore */
167
- ...(ngDevMode ? [undefined, { debugName: "indentation" }] : /* istanbul ignore next */ []));
168
- itemSize = input(/* @ts-ignore */
169
- ...(ngDevMode ? [undefined, { debugName: "itemSize" }] : /* istanbul ignore next */ []));
170
- loadingMode = input(/* @ts-ignore */
171
- ...(ngDevMode ? [undefined, { debugName: "loadingMode" }] : /* istanbul ignore next */ []));
172
- tree = inject(TREE_INSTANCE);
173
- timeout;
174
- isPrevDropPointHovered = signal(false, /* @ts-ignore */
175
- ...(ngDevMode ? [{ debugName: "isPrevDropPointHovered" }] : /* istanbul ignore next */ []));
176
- isNextDropPointHovered = signal(false, /* @ts-ignore */
177
- ...(ngDevMode ? [{ debugName: "isNextDropPointHovered" }] : /* istanbul ignore next */ []));
178
- isNodeDropHovered = signal(false, /* @ts-ignore */
179
- ...(ngDevMode ? [{ debugName: "isNodeDropHovered" }] : /* istanbul ignore next */ []));
180
- isPrevDropPointActive = computed(() => this.isPrevDropPointHovered() && this.isDroppable(), /* @ts-ignore */
181
- ...(ngDevMode ? [{ debugName: "isPrevDropPointActive" }] : /* istanbul ignore next */ []));
182
- isNextDropPointActive = computed(() => this.isNextDropPointHovered() && this.isDroppable(), /* @ts-ignore */
183
- ...(ngDevMode ? [{ debugName: "isNextDropPointActive" }] : /* istanbul ignore next */ []));
184
- isNodeDropActive = computed(() => this.isNodeDropHovered() && this.isNodeDroppable(), /* @ts-ignore */
185
- ...(ngDevMode ? [{ debugName: "isNodeDropActive" }] : /* istanbul ignore next */ []));
186
- dropPosition = computed(() => (this.isPrevDropPointActive() ? -1 : this.isNextDropPointActive() ? 1 : 0), /* @ts-ignore */
187
- ...(ngDevMode ? [{ debugName: "dropPosition" }] : /* istanbul ignore next */ []));
188
- get ariaSetSize() {
189
- return this.node()?.children?.length ?? 0;
190
- }
191
- get ariaExpanded() {
192
- return this.node()?.expanded;
193
- }
194
- ariaPosInSet = computed(() => (this.index() ?? 0) + 1, /* @ts-ignore */
195
- ...(ngDevMode ? [{ debugName: "ariaPosInSet" }] : /* istanbul ignore next */ []));
196
- ariaLevel = computed(() => (this.level() ?? 0) + 1, /* @ts-ignore */
197
- ...(ngDevMode ? [{ debugName: "ariaLevel" }] : /* istanbul ignore next */ []));
198
- nodeTabindex = computed(() => (this.index() === 0 ? 0 : -1), /* @ts-ignore */
199
- ...(ngDevMode ? [{ debugName: "nodeTabindex" }] : /* istanbul ignore next */ []));
200
- nodeContentPaddingLeft = computed(() => this.level() * this.indentation() + 'rem', /* @ts-ignore */
201
- ...(ngDevMode ? [{ debugName: "nodeContentPaddingLeft" }] : /* istanbul ignore next */ []));
202
- get hasNodeIcon() {
203
- return !!(this.node()?.icon || this.node()?.expandedIcon || this.node()?.collapsedIcon);
204
- }
205
- get showChildren() {
206
- return !this.tree.virtualScroll() && !!this.node()?.children && !!this.node()?.expanded;
207
- }
208
- get showLoadingSpinner() {
209
- return this.loadingMode() === 'icon' && !!this.node()?.loading;
210
- }
211
- checkboxVariant = computed(() => this.tree?.config.inputVariant() || 'outlined', /* @ts-ignore */
212
- ...(ngDevMode ? [{ debugName: "checkboxVariant" }] : /* istanbul ignore next */ []));
213
- get togglerIconContext() {
214
- return {
215
- $implicit: this.node()?.expanded,
216
- loading: this.node()?.loading
217
- };
218
- }
219
- get checkboxIconContext() {
220
- return {
221
- $implicit: this.isSelected(),
222
- partialSelected: this.node()?.partialSelected,
223
- class: this.cx('nodeCheckbox')
224
- };
225
- }
226
- _componentStyle = inject(TreeStyle);
227
- /**
228
- * Computed signal that reactively tracks selection state.
229
- */
230
- _selected = computed(() => {
231
- // Reading selection() makes this computed reactive to selection changes
232
- this.tree.selection();
233
- return this.tree.isSelected(this.node());
234
- }, /* @ts-ignore */
235
- ...(ngDevMode ? [{ debugName: "_selected" }] : /* istanbul ignore next */ []));
236
- /**
237
- * Computed signal that reactively tracks context menu selection state.
238
- */
239
- _contextMenuSelected = computed(() => {
240
- const selection = this.tree.contextMenuSelection();
241
- const node = this.node();
242
- if (!selection || !node) {
243
- return false;
244
- }
245
- return selection === node || (selection.key && selection.key === node.key);
246
- }, /* @ts-ignore */
247
- ...(ngDevMode ? [{ debugName: "_contextMenuSelected" }] : /* istanbul ignore next */ []));
248
- get selected() {
249
- return this.tree.selectionMode() === 'single' || this.tree.selectionMode() === 'multiple' ? this._selected() : undefined;
250
- }
251
- get checked() {
252
- return this.tree.selectionMode() === 'checkbox' ? this._selected() : undefined;
253
- }
254
- get nodeClass() {
255
- return this.tree._componentStyle.classes.node({ instance: this });
256
- }
257
- get selectable() {
258
- return this.node()?.selectable === false ? false : this.tree?.selectionMode() != null;
259
- }
260
- get subNodes() {
261
- return this.node()?.parent ? this.node().parent.children : this.tree.value();
262
- }
263
- /** The node this row represents in the original value; when a filter is active the rendered node is a copy. */
264
- get originalNode() {
265
- const node = this.node();
266
- return node && this.tree.getOriginalNode(node);
267
- }
268
- /** Sibling list of this node within the original value; when a filter is active `subNodes` holds copies. */
269
- get originalSubNodes() {
270
- const parent = this.node()?.parent;
271
- return parent ? this.tree.getOriginalNode(parent).children : this.tree.value();
272
- }
273
- getPTOptions(key) {
274
- return this.ptm(key, {
275
- context: {
276
- node: this.node(),
277
- index: this.index(),
278
- expanded: this.node()?.expanded,
279
- selected: this.selected,
280
- checked: this.checked,
281
- partialChecked: this.node()?.partialSelected,
282
- leaf: this.isLeaf()
283
- }
284
- });
285
- }
286
- onInit() {
287
- this.node().parent = this.parentNode();
288
- const nativeElement = this.tree.el.nativeElement;
289
- const pDialogWrapper = nativeElement.closest('p-dialog');
290
- if (this.parentNode() && !pDialogWrapper) {
291
- this.setAllNodesTabIndexes();
292
- this.tree.syncNodeOption(this.node(), this.tree.value(), 'parent', this.tree.getNodeWithKey(this.parentNode().key, this.tree.value()));
293
- }
294
- }
295
- getIcon() {
296
- let icon;
297
- const node = this.node();
298
- if (node.icon)
299
- icon = node.icon;
300
- else
301
- icon = node.expanded && node.children && node.children?.length ? node.expandedIcon : node.collapsedIcon;
302
- return UITreeNode.ICON_CLASS + ' ' + icon + ' p-tree-node-icon';
303
- }
304
- isLeaf() {
305
- return this.tree.isNodeLeaf(this.node());
306
- }
307
- isSelected() {
308
- return this._selected();
309
- }
310
- isContextMenuSelected() {
311
- return this._contextMenuSelected();
312
- }
313
- isSameNode(event) {
314
- return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[role="treeitem"]')));
315
- }
316
- isDraggable() {
317
- return this.tree.draggableNodes();
318
- }
319
- isDroppable() {
320
- return this.tree.droppableNodes() && this.tree.allowDrop(this.tree.dragNode, this.node(), this.tree.dragNodeScope);
321
- }
322
- isNodeDroppable() {
323
- return this.node()?.droppable !== false && this.isDroppable();
324
- }
325
- isNodeDraggable() {
326
- return this.node()?.draggable !== false && this.isDraggable();
327
- }
328
- toggle(event) {
329
- if (this.node().expanded)
330
- this.collapse(event);
331
- else
332
- this.expand(event);
333
- event.stopPropagation();
334
- }
335
- expand(event) {
336
- this.node().expanded = true;
337
- this.tree.setNodeCollapsed(this.node(), false);
338
- if (this.tree.virtualScroll()) {
339
- this.tree.updateSerializedValue();
340
- this.focusVirtualNode();
341
- }
342
- this.tree.onNodeExpand.emit({ originalEvent: event, node: this.node() });
343
- }
344
- collapse(event) {
345
- this.node().expanded = false;
346
- this.tree.setNodeCollapsed(this.node(), true);
347
- if (this.tree.virtualScroll()) {
348
- this.tree.updateSerializedValue();
349
- }
350
- this.tree.onNodeCollapse.emit({ originalEvent: event, node: this.node() });
351
- this.focusVirtualNode();
352
- }
353
- onNodeClick(event) {
354
- this.tree.onNodeClick(event, this.node());
355
- }
356
- onNodeKeydown(event) {
357
- if (event.key === 'Enter') {
358
- this.tree.onNodeClick(event, this.node());
359
- }
360
- }
361
- onNodeTouchEnd() {
362
- this.tree.onNodeTouchEnd();
363
- }
364
- onNodeRightClick(event) {
365
- this.tree.onNodeRightClick(event, this.node());
366
- }
367
- onNodeDblClick(event) {
368
- this.tree.onNodeDblClick(event, this.node());
369
- }
370
- /**
371
- * The drag state and drop position are taken as arguments (captured at drop time) since
372
- * `accept` may be invoked asynchronously, after `dragend` has cleared the drag state
373
- * and the drop point hover signals were reset.
374
- */
375
- insertNodeOnDrop(dragNode, dragNodeSubNodes, position) {
376
- const dropNode = this.originalNode;
377
- if (!dropNode || !dragNode || !dragNodeSubNodes) {
378
- return;
379
- }
380
- const subNodes = this.originalSubNodes || [];
381
- const dragNodeIndex = dragNodeSubNodes.indexOf(dragNode);
382
- const index = subNodes.indexOf(dropNode);
383
- const dropIndex = dragNodeSubNodes === subNodes ? (dragNodeIndex > index ? index : index - 1) : index;
384
- if (dragNodeIndex !== -1) {
385
- dragNodeSubNodes.splice(dragNodeIndex, 1);
386
- }
387
- if (position < 0) {
388
- // insert before a Node
389
- subNodes.splice(dropIndex, 0, dragNode);
390
- }
391
- else if (position > 0) {
392
- // insert after a Node
393
- subNodes.splice(dropIndex + 1, 0, dragNode);
394
- }
395
- else {
396
- // insert as child of a Node
397
- dropNode.children = dropNode.children || [];
398
- dropNode.children.push(dragNode);
399
- }
400
- this.tree.dragDropService.stopDrag({
401
- node: dragNode,
402
- subNodes,
403
- index: dragNodeIndex
404
- });
405
- }
406
- onNodeDrop(event) {
407
- event.preventDefault();
408
- event.stopPropagation();
409
- if (this.isDroppable()) {
410
- const { dragNode, dragNodeSubNodes } = this.tree;
411
- const position = this.dropPosition();
412
- const isValidDrop = position !== 0 || (position === 0 && this.isNodeDroppable());
413
- const dropPoint = position === 0 ? 'node' : 'between';
414
- if (isValidDrop) {
415
- if (this.tree.validateDrop()) {
416
- this.tree.onNodeDrop.emit({
417
- originalEvent: event,
418
- dragNode: dragNode,
419
- dropNode: this.originalNode,
420
- index: this.index(),
421
- dropPoint: dropPoint,
422
- accept: () => {
423
- this.insertNodeOnDrop(dragNode, dragNodeSubNodes, position);
424
- }
425
- });
426
- }
427
- else {
428
- this.insertNodeOnDrop(dragNode, dragNodeSubNodes, position);
429
- this.tree.onNodeDrop.emit({
430
- originalEvent: event,
431
- dragNode: dragNode,
432
- dropNode: this.originalNode,
433
- index: this.index(),
434
- dropPoint: dropPoint
435
- });
436
- }
437
- }
438
- }
439
- this.isPrevDropPointHovered.set(false);
440
- this.isNextDropPointHovered.set(false);
441
- this.isNodeDropHovered.set(false);
442
- }
443
- onNodeDragStart(event) {
444
- if (this.isNodeDraggable()) {
445
- event.dataTransfer.effectAllowed = 'all';
446
- event.dataTransfer?.setData('text', 'data');
447
- const target = event.currentTarget;
448
- const dragEl = target.cloneNode(true);
449
- const toggler = dragEl.querySelector('[data-pc-section="nodetogglebutton"]');
450
- const checkbox = dragEl.querySelector('[data-pc-name="pcnodecheckbox"]');
451
- target.setAttribute('data-p-dragging', 'true');
452
- dragEl.style.width = getOuterWidth(target) + 'px';
453
- dragEl.style.height = getOuterHeight(target) + 'px';
454
- dragEl.setAttribute('data-pc-section', 'drag-image');
455
- toggler.style.visibility = 'hidden';
456
- checkbox?.remove();
457
- document.body.appendChild(dragEl);
458
- event.dataTransfer?.setDragImage(dragEl, 0, 0);
459
- setTimeout(() => document.body.removeChild(dragEl), 0);
460
- this.tree.dragDropService.startDrag({
461
- tree: this,
462
- node: this.originalNode,
463
- subNodes: this.originalSubNodes,
464
- index: this.index(),
465
- scope: this.tree.draggableScope()
466
- });
467
- }
468
- else {
469
- event.preventDefault();
470
- }
471
- }
472
- onNodeDragOver(event) {
473
- if (this.isDroppable()) {
474
- event.dataTransfer.dropEffect = 'copy';
475
- const nodeElement = event.currentTarget;
476
- const rect = nodeElement.getBoundingClientRect();
477
- const y = event.clientY - parseInt(rect.top);
478
- this.isPrevDropPointHovered.set(false);
479
- this.isNextDropPointHovered.set(false);
480
- this.isNodeDropHovered.set(false);
481
- if (y < rect.height * 0.25) {
482
- this.isPrevDropPointHovered.set(true);
483
- }
484
- else if (y > rect.height * 0.75) {
485
- this.isNextDropPointHovered.set(true);
486
- }
487
- else if (this.isNodeDroppable()) {
488
- this.isNodeDropHovered.set(true);
489
- }
490
- }
491
- else {
492
- event.dataTransfer.dropEffect = 'none';
493
- }
494
- if (this.tree.droppableNodes()) {
495
- event.preventDefault();
496
- event.stopPropagation();
497
- }
498
- }
499
- onNodeDragLeave() {
500
- this.isPrevDropPointHovered.set(false);
501
- this.isNextDropPointHovered.set(false);
502
- this.isNodeDropHovered.set(false);
503
- }
504
- onNodeDragEnd(event) {
505
- event.currentTarget?.removeAttribute('data-p-dragging');
506
- this.tree.dragDropService.stopDrag({
507
- node: this.originalNode,
508
- subNodes: this.originalSubNodes,
509
- index: this.index()
510
- });
511
- }
512
- onKeyDown(event) {
513
- if (!this.isSameNode(event) || (this.tree.contextMenu() && this.tree.contextMenu().containerViewChild?.nativeElement.style.display === 'block')) {
514
- return;
515
- }
516
- switch (event.code) {
517
- //down arrow
518
- case 'ArrowDown':
519
- this.onArrowDown(event);
520
- break;
521
- //up arrow
522
- case 'ArrowUp':
523
- this.onArrowUp(event);
524
- break;
525
- //right arrow
526
- case 'ArrowRight':
527
- this.onArrowRight(event);
528
- break;
529
- //left arrow
530
- case 'ArrowLeft':
531
- this.onArrowLeft(event);
532
- break;
533
- //enter
534
- case 'Enter':
535
- case 'Space':
536
- case 'NumpadEnter':
537
- this.onEnter(event);
538
- break;
539
- //tab
540
- case 'Tab':
541
- this.setAllNodesTabIndexes();
542
- break;
543
- default:
544
- //no op
545
- break;
546
- }
547
- }
548
- onArrowUp(event) {
549
- const nodeElement = event.target.getAttribute('data-pc-section') === 'nodetogglebutton' ? event.target.closest('[role="treeitem"]') : event.target.parentElement;
550
- if (nodeElement?.previousElementSibling) {
551
- this.focusRowChange(nodeElement, nodeElement.previousElementSibling, this.findLastVisibleDescendant(nodeElement.previousElementSibling));
552
- }
553
- else {
554
- let parentNodeElement = this.getParentNodeElement(nodeElement);
555
- if (parentNodeElement) {
556
- this.focusRowChange(nodeElement, parentNodeElement);
557
- }
558
- }
559
- event.preventDefault();
560
- }
561
- onArrowDown(event) {
562
- const nodeElement = event.target.getAttribute('data-pc-section') === 'nodetogglebutton' ? event.target.closest('[role="treeitem"]') : event.target;
563
- const listElement = nodeElement?.children[1];
564
- if (listElement && listElement.children.length > 0) {
565
- this.focusRowChange(nodeElement, listElement.children[0]);
566
- }
567
- else {
568
- if (nodeElement?.parentElement?.nextElementSibling) {
569
- this.focusRowChange(nodeElement, nodeElement.parentElement.nextElementSibling);
570
- }
571
- else {
572
- let nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement?.parentElement);
573
- if (nextSiblingAncestor) {
574
- this.focusRowChange(nodeElement, nextSiblingAncestor);
575
- }
576
- }
577
- }
578
- event.preventDefault();
579
- }
580
- onArrowRight(event) {
581
- if (!this.node()?.expanded && !this.tree.isNodeLeaf(this.node())) {
582
- this.expand(event);
583
- event.currentTarget.tabIndex = -1;
584
- setTimeout(() => {
585
- this.onArrowDown(event);
586
- }, 1);
587
- }
588
- event.preventDefault();
589
- }
590
- onArrowLeft(event) {
591
- const nodeElement = event.target.getAttribute('data-pc-section') === 'nodetogglebutton' ? event.target.closest('[role="treeitem"]') : event.target;
592
- if (this.level() === 0 && !this.node()?.expanded) {
593
- return false;
594
- }
595
- if (this.node()?.expanded) {
596
- this.collapse(event);
597
- return;
598
- }
599
- let parentNodeElement = this.getParentNodeElement(nodeElement?.parentElement);
600
- if (parentNodeElement) {
601
- this.focusRowChange(event.currentTarget, parentNodeElement);
602
- }
603
- event.preventDefault();
604
- }
605
- onEnter(event) {
606
- this.tree.onNodeClick(event, this.node());
607
- this.setTabIndexForSelectionMode(event, this.tree.nodeTouched);
608
- event.preventDefault();
609
- }
610
- setAllNodesTabIndexes() {
611
- const nodes = find(this.tree.el.nativeElement, '[data-pc-section="node"]');
612
- const hasSelectedNode = [...nodes].some((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');
613
- [...nodes].forEach((node) => {
614
- node.tabIndex = -1;
615
- });
616
- if (hasSelectedNode) {
617
- const selectedNodes = [...nodes].filter((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');
618
- selectedNodes[0].tabIndex = 0;
619
- return;
620
- }
621
- if (nodes.length) {
622
- [...nodes][0].tabIndex = 0;
623
- }
624
- }
625
- setTabIndexForSelectionMode(event, nodeTouched) {
626
- if (this.tree.selectionMode() !== null) {
627
- const elements = [...find(this.tree.el.nativeElement, '[role="treeitem"]')];
628
- event.currentTarget.tabIndex = nodeTouched === false ? -1 : 0;
629
- if (elements.every((element) => element.tabIndex === -1)) {
630
- elements[0].tabIndex = 0;
631
- }
632
- }
633
- }
634
- findNextSiblingOfAncestor(nodeElement) {
635
- let parentNodeElement = this.getParentNodeElement(nodeElement);
636
- if (parentNodeElement) {
637
- if (parentNodeElement.nextElementSibling)
638
- return parentNodeElement.nextElementSibling;
639
- else
640
- return this.findNextSiblingOfAncestor(parentNodeElement);
641
- }
642
- else {
643
- return null;
644
- }
645
- }
646
- findLastVisibleDescendant(nodeElement) {
647
- const listElement = Array.from(nodeElement.children).find((el) => el.getAttribute('data-pc-section') === 'node');
648
- const childrenListElement = listElement?.children[1];
649
- if (childrenListElement && childrenListElement.children.length > 0) {
650
- const lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];
651
- return this.findLastVisibleDescendant(lastChildElement);
652
- }
653
- else {
654
- return nodeElement;
655
- }
656
- }
657
- getParentNodeElement(nodeElement) {
658
- const parentNodeElement = nodeElement?.parentElement?.parentElement?.parentElement;
659
- return parentNodeElement?.tagName === 'P-TREENODE' ? parentNodeElement : null;
660
- }
661
- focusNode(element) {
662
- element.children[0].focus();
663
- }
664
- focusRowChange(firstFocusableRow, currentFocusedRow, lastVisibleDescendant) {
665
- firstFocusableRow.tabIndex = '-1';
666
- currentFocusedRow.children[0].tabIndex = '0';
667
- this.focusNode(lastVisibleDescendant || currentFocusedRow);
668
- }
669
- focusVirtualNode() {
670
- this.timeout = setTimeout(() => {
671
- let node = findSingle(this.tree?.contentViewChild()?.nativeElement, `[data-id="${this.node()?.key ?? this.node()?.data}"]`);
672
- focus(node);
673
- }, 1);
674
- }
675
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: UITreeNode, deps: null, target: i0.ɵɵFactoryTarget.Component });
676
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: UITreeNode, isStandalone: true, selector: "p-treenode", inputs: { rowNode: { classPropertyName: "rowNode", publicName: "rowNode", isSignal: true, isRequired: false, transformFunction: null }, node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null }, parentNode: { classPropertyName: "parentNode", publicName: "parentNode", isSignal: true, isRequired: false, transformFunction: null }, root: { classPropertyName: "root", publicName: "root", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, firstChild: { classPropertyName: "firstChild", publicName: "firstChild", isSignal: true, isRequired: false, transformFunction: null }, lastChild: { classPropertyName: "lastChild", publicName: "lastChild", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, indentation: { classPropertyName: "indentation", publicName: "indentation", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, loadingMode: { classPropertyName: "loadingMode", publicName: "loadingMode", isSignal: true, isRequired: false, transformFunction: null } }, providers: [TreeStyle, { provide: TREENODE_INSTANCE, useExisting: UITreeNode }, { provide: PARENT_INSTANCE, useExisting: UITreeNode }], usesInheritance: true, ngImport: i0, template: `
104
+ const TREE_INSTANCE = new InjectionToken("TREE_INSTANCE");
105
+ const TREENODE_INSTANCE = new InjectionToken("TREENODE_INSTANCE");
106
+ var UITreeNode = class UITreeNode extends BaseComponent {
107
+ static ICON_CLASS = "p-tree-node-icon ";
108
+ $pcTreeNode = inject(TREENODE_INSTANCE, {
109
+ optional: true,
110
+ skipSelf: true
111
+ }) ?? void 0;
112
+ rowNode = input(...ngDevMode ? [void 0, { debugName: "rowNode" }] : /* istanbul ignore next */ []);
113
+ node = input(...ngDevMode ? [void 0, { debugName: "node" }] : /* istanbul ignore next */ []);
114
+ parentNode = input(...ngDevMode ? [void 0, { debugName: "parentNode" }] : /* istanbul ignore next */ []);
115
+ root = input(false, {
116
+ ...ngDevMode ? { debugName: "root" } : /* istanbul ignore next */ {},
117
+ transform: booleanAttribute
118
+ });
119
+ index = input(...ngDevMode ? [void 0, { debugName: "index" }] : /* istanbul ignore next */ []);
120
+ firstChild = input(false, {
121
+ ...ngDevMode ? { debugName: "firstChild" } : /* istanbul ignore next */ {},
122
+ transform: booleanAttribute
123
+ });
124
+ lastChild = input(false, {
125
+ ...ngDevMode ? { debugName: "lastChild" } : /* istanbul ignore next */ {},
126
+ transform: booleanAttribute
127
+ });
128
+ level = input(...ngDevMode ? [void 0, { debugName: "level" }] : /* istanbul ignore next */ []);
129
+ indentation = input(...ngDevMode ? [void 0, { debugName: "indentation" }] : /* istanbul ignore next */ []);
130
+ itemSize = input(...ngDevMode ? [void 0, { debugName: "itemSize" }] : /* istanbul ignore next */ []);
131
+ loadingMode = input(...ngDevMode ? [void 0, { debugName: "loadingMode" }] : /* istanbul ignore next */ []);
132
+ tree = inject(TREE_INSTANCE);
133
+ timeout;
134
+ isPrevDropPointHovered = signal(false, ...ngDevMode ? [{ debugName: "isPrevDropPointHovered" }] : /* istanbul ignore next */ []);
135
+ isNextDropPointHovered = signal(false, ...ngDevMode ? [{ debugName: "isNextDropPointHovered" }] : /* istanbul ignore next */ []);
136
+ isNodeDropHovered = signal(false, ...ngDevMode ? [{ debugName: "isNodeDropHovered" }] : /* istanbul ignore next */ []);
137
+ isPrevDropPointActive = computed(() => this.isPrevDropPointHovered() && this.isDroppable(), ...ngDevMode ? [{ debugName: "isPrevDropPointActive" }] : /* istanbul ignore next */ []);
138
+ isNextDropPointActive = computed(() => this.isNextDropPointHovered() && this.isDroppable(), ...ngDevMode ? [{ debugName: "isNextDropPointActive" }] : /* istanbul ignore next */ []);
139
+ isNodeDropActive = computed(() => this.isNodeDropHovered() && this.isNodeDroppable(), ...ngDevMode ? [{ debugName: "isNodeDropActive" }] : /* istanbul ignore next */ []);
140
+ dropPosition = computed(() => this.isPrevDropPointActive() ? -1 : this.isNextDropPointActive() ? 1 : 0, ...ngDevMode ? [{ debugName: "dropPosition" }] : /* istanbul ignore next */ []);
141
+ get ariaSetSize() {
142
+ return this.node()?.children?.length ?? 0;
143
+ }
144
+ get ariaExpanded() {
145
+ return this.node()?.expanded;
146
+ }
147
+ ariaPosInSet = computed(() => (this.index() ?? 0) + 1, ...ngDevMode ? [{ debugName: "ariaPosInSet" }] : /* istanbul ignore next */ []);
148
+ ariaLevel = computed(() => (this.level() ?? 0) + 1, ...ngDevMode ? [{ debugName: "ariaLevel" }] : /* istanbul ignore next */ []);
149
+ nodeTabindex = computed(() => this.index() === 0 ? 0 : -1, ...ngDevMode ? [{ debugName: "nodeTabindex" }] : /* istanbul ignore next */ []);
150
+ nodeContentPaddingLeft = computed(() => this.level() * this.indentation() + "rem", ...ngDevMode ? [{ debugName: "nodeContentPaddingLeft" }] : /* istanbul ignore next */ []);
151
+ get hasNodeIcon() {
152
+ return !!(this.node()?.icon || this.node()?.expandedIcon || this.node()?.collapsedIcon);
153
+ }
154
+ get showChildren() {
155
+ return !this.tree.virtualScroll() && !!this.node()?.children && !!this.node()?.expanded;
156
+ }
157
+ get showLoadingSpinner() {
158
+ return this.loadingMode() === "icon" && !!this.node()?.loading;
159
+ }
160
+ checkboxVariant = computed(() => this.tree?.config.inputVariant() || "outlined", ...ngDevMode ? [{ debugName: "checkboxVariant" }] : /* istanbul ignore next */ []);
161
+ get togglerIconContext() {
162
+ return {
163
+ $implicit: this.node()?.expanded,
164
+ loading: this.node()?.loading
165
+ };
166
+ }
167
+ get checkboxIconContext() {
168
+ return {
169
+ $implicit: this.isSelected(),
170
+ partialSelected: this.node()?.partialSelected,
171
+ class: this.cx("nodeCheckbox")
172
+ };
173
+ }
174
+ _componentStyle = inject(TreeStyle);
175
+ _selected = computed(() => {
176
+ this.tree.selection();
177
+ return this.tree.isSelected(this.node());
178
+ }, ...ngDevMode ? [{ debugName: "_selected" }] : /* istanbul ignore next */ []);
179
+ _contextMenuSelected = computed(() => {
180
+ const selection = this.tree.contextMenuSelection();
181
+ const node = this.node();
182
+ if (!selection || !node) return false;
183
+ return selection === node || selection.key && selection.key === node.key;
184
+ }, ...ngDevMode ? [{ debugName: "_contextMenuSelected" }] : /* istanbul ignore next */ []);
185
+ get selected() {
186
+ return this.tree.selectionMode() === "single" || this.tree.selectionMode() === "multiple" ? this._selected() : void 0;
187
+ }
188
+ get checked() {
189
+ return this.tree.selectionMode() === "checkbox" ? this._selected() : void 0;
190
+ }
191
+ get nodeClass() {
192
+ return this.tree._componentStyle.classes.node({ instance: this });
193
+ }
194
+ get selectable() {
195
+ return this.node()?.selectable === false ? false : this.tree?.selectionMode() != null;
196
+ }
197
+ get subNodes() {
198
+ return this.node()?.parent ? this.node().parent.children : this.tree.value();
199
+ }
200
+ get originalNode() {
201
+ const node = this.node();
202
+ return node && this.tree.getOriginalNode(node);
203
+ }
204
+ get originalSubNodes() {
205
+ const parent = this.node()?.parent;
206
+ return parent ? this.tree.getOriginalNode(parent).children : this.tree.value();
207
+ }
208
+ getPTOptions(key) {
209
+ return this.ptm(key, { context: {
210
+ node: this.node(),
211
+ index: this.index(),
212
+ expanded: this.node()?.expanded,
213
+ selected: this.selected,
214
+ checked: this.checked,
215
+ partialChecked: this.node()?.partialSelected,
216
+ leaf: this.isLeaf()
217
+ } });
218
+ }
219
+ onInit() {
220
+ this.node().parent = this.parentNode();
221
+ const pDialogWrapper = this.tree.el.nativeElement.closest("p-dialog");
222
+ if (this.parentNode() && !pDialogWrapper) {
223
+ this.setAllNodesTabIndexes();
224
+ this.tree.syncNodeOption(this.node(), this.tree.value(), "parent", this.tree.getNodeWithKey(this.parentNode().key, this.tree.value()));
225
+ }
226
+ }
227
+ getIcon() {
228
+ let icon;
229
+ const node = this.node();
230
+ if (node.icon) icon = node.icon;
231
+ else icon = node.expanded && node.children && node.children?.length ? node.expandedIcon : node.collapsedIcon;
232
+ return UITreeNode.ICON_CLASS + " " + icon + " p-tree-node-icon";
233
+ }
234
+ isLeaf() {
235
+ return this.tree.isNodeLeaf(this.node());
236
+ }
237
+ isSelected() {
238
+ return this._selected();
239
+ }
240
+ isContextMenuSelected() {
241
+ return this._contextMenuSelected();
242
+ }
243
+ isSameNode(event) {
244
+ return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest("[role=\"treeitem\"]")));
245
+ }
246
+ isDraggable() {
247
+ return this.tree.draggableNodes();
248
+ }
249
+ isDroppable() {
250
+ return this.tree.droppableNodes() && this.tree.allowDrop(this.tree.dragNode, this.node(), this.tree.dragNodeScope);
251
+ }
252
+ isNodeDroppable() {
253
+ return this.node()?.droppable !== false && this.isDroppable();
254
+ }
255
+ isNodeDraggable() {
256
+ return this.node()?.draggable !== false && this.isDraggable();
257
+ }
258
+ toggle(event) {
259
+ if (this.node().expanded) this.collapse(event);
260
+ else this.expand(event);
261
+ event.stopPropagation();
262
+ }
263
+ expand(event) {
264
+ this.node().expanded = true;
265
+ this.tree.setNodeCollapsed(this.node(), false);
266
+ if (this.tree.virtualScroll()) {
267
+ this.tree.updateSerializedValue();
268
+ this.focusVirtualNode();
269
+ }
270
+ this.tree.onNodeExpand.emit({
271
+ originalEvent: event,
272
+ node: this.node()
273
+ });
274
+ }
275
+ collapse(event) {
276
+ this.node().expanded = false;
277
+ this.tree.setNodeCollapsed(this.node(), true);
278
+ if (this.tree.virtualScroll()) this.tree.updateSerializedValue();
279
+ this.tree.onNodeCollapse.emit({
280
+ originalEvent: event,
281
+ node: this.node()
282
+ });
283
+ this.focusVirtualNode();
284
+ }
285
+ onNodeClick(event) {
286
+ this.tree.onNodeClick(event, this.node());
287
+ }
288
+ onNodeKeydown(event) {
289
+ if (event.key === "Enter") this.tree.onNodeClick(event, this.node());
290
+ }
291
+ onNodeTouchEnd() {
292
+ this.tree.onNodeTouchEnd();
293
+ }
294
+ onNodeRightClick(event) {
295
+ this.tree.onNodeRightClick(event, this.node());
296
+ }
297
+ onNodeDblClick(event) {
298
+ this.tree.onNodeDblClick(event, this.node());
299
+ }
300
+ insertNodeOnDrop(dragNode, dragNodeSubNodes, position) {
301
+ const dropNode = this.originalNode;
302
+ if (!dropNode || !dragNode || !dragNodeSubNodes) return;
303
+ const subNodes = this.originalSubNodes || [];
304
+ const dragNodeIndex = dragNodeSubNodes.indexOf(dragNode);
305
+ const index = subNodes.indexOf(dropNode);
306
+ const dropIndex = dragNodeSubNodes === subNodes ? dragNodeIndex > index ? index : index - 1 : index;
307
+ if (dragNodeIndex !== -1) dragNodeSubNodes.splice(dragNodeIndex, 1);
308
+ if (position < 0) subNodes.splice(dropIndex, 0, dragNode);
309
+ else if (position > 0) subNodes.splice(dropIndex + 1, 0, dragNode);
310
+ else {
311
+ dropNode.children = dropNode.children || [];
312
+ dropNode.children.push(dragNode);
313
+ }
314
+ this.tree.dragDropService.stopDrag({
315
+ node: dragNode,
316
+ subNodes,
317
+ index: dragNodeIndex
318
+ });
319
+ }
320
+ onNodeDrop(event) {
321
+ event.preventDefault();
322
+ event.stopPropagation();
323
+ if (this.isDroppable()) {
324
+ const { dragNode, dragNodeSubNodes } = this.tree;
325
+ const position = this.dropPosition();
326
+ const isValidDrop = position !== 0 || position === 0 && this.isNodeDroppable();
327
+ const dropPoint = position === 0 ? "node" : "between";
328
+ if (isValidDrop) {
329
+ if (this.tree.validateDrop()) this.tree.onNodeDrop.emit({
330
+ originalEvent: event,
331
+ dragNode,
332
+ dropNode: this.originalNode,
333
+ index: this.index(),
334
+ dropPoint,
335
+ accept: () => {
336
+ this.insertNodeOnDrop(dragNode, dragNodeSubNodes, position);
337
+ }
338
+ });
339
+ else {
340
+ this.insertNodeOnDrop(dragNode, dragNodeSubNodes, position);
341
+ this.tree.onNodeDrop.emit({
342
+ originalEvent: event,
343
+ dragNode,
344
+ dropNode: this.originalNode,
345
+ index: this.index(),
346
+ dropPoint
347
+ });
348
+ }
349
+ }
350
+ }
351
+ this.isPrevDropPointHovered.set(false);
352
+ this.isNextDropPointHovered.set(false);
353
+ this.isNodeDropHovered.set(false);
354
+ }
355
+ onNodeDragStart(event) {
356
+ if (this.isNodeDraggable()) {
357
+ event.dataTransfer.effectAllowed = "all";
358
+ event.dataTransfer?.setData("text", "data");
359
+ const target = event.currentTarget;
360
+ const dragEl = target.cloneNode(true);
361
+ const toggler = dragEl.querySelector("[data-pc-section=\"nodetogglebutton\"]");
362
+ const checkbox = dragEl.querySelector("[data-pc-name=\"pcnodecheckbox\"]");
363
+ target.setAttribute("data-p-dragging", "true");
364
+ dragEl.style.width = getOuterWidth(target) + "px";
365
+ dragEl.style.height = getOuterHeight(target) + "px";
366
+ dragEl.setAttribute("data-pc-section", "drag-image");
367
+ toggler.style.visibility = "hidden";
368
+ checkbox?.remove();
369
+ document.body.appendChild(dragEl);
370
+ event.dataTransfer?.setDragImage(dragEl, 0, 0);
371
+ setTimeout(() => document.body.removeChild(dragEl), 0);
372
+ this.tree.dragDropService.startDrag({
373
+ tree: this,
374
+ node: this.originalNode,
375
+ subNodes: this.originalSubNodes,
376
+ index: this.index(),
377
+ scope: this.tree.draggableScope()
378
+ });
379
+ } else event.preventDefault();
380
+ }
381
+ onNodeDragOver(event) {
382
+ if (this.isDroppable()) {
383
+ event.dataTransfer.dropEffect = "copy";
384
+ const rect = event.currentTarget.getBoundingClientRect();
385
+ const y = event.clientY - parseInt(rect.top);
386
+ this.isPrevDropPointHovered.set(false);
387
+ this.isNextDropPointHovered.set(false);
388
+ this.isNodeDropHovered.set(false);
389
+ if (y < rect.height * .25) this.isPrevDropPointHovered.set(true);
390
+ else if (y > rect.height * .75) this.isNextDropPointHovered.set(true);
391
+ else if (this.isNodeDroppable()) this.isNodeDropHovered.set(true);
392
+ } else event.dataTransfer.dropEffect = "none";
393
+ if (this.tree.droppableNodes()) {
394
+ event.preventDefault();
395
+ event.stopPropagation();
396
+ }
397
+ }
398
+ onNodeDragLeave() {
399
+ this.isPrevDropPointHovered.set(false);
400
+ this.isNextDropPointHovered.set(false);
401
+ this.isNodeDropHovered.set(false);
402
+ }
403
+ onNodeDragEnd(event) {
404
+ event.currentTarget?.removeAttribute("data-p-dragging");
405
+ this.tree.dragDropService.stopDrag({
406
+ node: this.originalNode,
407
+ subNodes: this.originalSubNodes,
408
+ index: this.index()
409
+ });
410
+ }
411
+ onKeyDown(event) {
412
+ if (!this.isSameNode(event) || this.tree.contextMenu() && this.tree.contextMenu().containerViewChild?.nativeElement.style.display === "block") return;
413
+ switch (event.code) {
414
+ case "ArrowDown":
415
+ this.onArrowDown(event);
416
+ break;
417
+ case "ArrowUp":
418
+ this.onArrowUp(event);
419
+ break;
420
+ case "ArrowRight":
421
+ this.onArrowRight(event);
422
+ break;
423
+ case "ArrowLeft":
424
+ this.onArrowLeft(event);
425
+ break;
426
+ case "Enter":
427
+ case "Space":
428
+ case "NumpadEnter":
429
+ this.onEnter(event);
430
+ break;
431
+ case "Tab": this.setAllNodesTabIndexes();
432
+ }
433
+ }
434
+ onArrowUp(event) {
435
+ const nodeElement = event.target.getAttribute("data-pc-section") === "nodetogglebutton" ? event.target.closest("[role=\"treeitem\"]") : event.target.parentElement;
436
+ if (nodeElement?.previousElementSibling) this.focusRowChange(nodeElement, nodeElement.previousElementSibling, this.findLastVisibleDescendant(nodeElement.previousElementSibling));
437
+ else {
438
+ let parentNodeElement = this.getParentNodeElement(nodeElement);
439
+ if (parentNodeElement) this.focusRowChange(nodeElement, parentNodeElement);
440
+ }
441
+ event.preventDefault();
442
+ }
443
+ onArrowDown(event) {
444
+ const nodeElement = event.target.getAttribute("data-pc-section") === "nodetogglebutton" ? event.target.closest("[role=\"treeitem\"]") : event.target;
445
+ const listElement = nodeElement?.children[1];
446
+ if (listElement && listElement.children.length > 0) this.focusRowChange(nodeElement, listElement.children[0]);
447
+ else if (nodeElement?.parentElement?.nextElementSibling) this.focusRowChange(nodeElement, nodeElement.parentElement.nextElementSibling);
448
+ else {
449
+ let nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement?.parentElement);
450
+ if (nextSiblingAncestor) this.focusRowChange(nodeElement, nextSiblingAncestor);
451
+ }
452
+ event.preventDefault();
453
+ }
454
+ onArrowRight(event) {
455
+ if (!this.node()?.expanded && !this.tree.isNodeLeaf(this.node())) {
456
+ this.expand(event);
457
+ event.currentTarget.tabIndex = -1;
458
+ setTimeout(() => {
459
+ this.onArrowDown(event);
460
+ }, 1);
461
+ }
462
+ event.preventDefault();
463
+ }
464
+ onArrowLeft(event) {
465
+ const nodeElement = event.target.getAttribute("data-pc-section") === "nodetogglebutton" ? event.target.closest("[role=\"treeitem\"]") : event.target;
466
+ if (this.level() === 0 && !this.node()?.expanded) return false;
467
+ if (this.node()?.expanded) {
468
+ this.collapse(event);
469
+ return;
470
+ }
471
+ let parentNodeElement = this.getParentNodeElement(nodeElement?.parentElement);
472
+ if (parentNodeElement) this.focusRowChange(event.currentTarget, parentNodeElement);
473
+ event.preventDefault();
474
+ }
475
+ onEnter(event) {
476
+ this.tree.onNodeClick(event, this.node());
477
+ this.setTabIndexForSelectionMode(event, this.tree.nodeTouched);
478
+ event.preventDefault();
479
+ }
480
+ setAllNodesTabIndexes() {
481
+ const nodes = find(this.tree.el.nativeElement, "[data-pc-section=\"node\"]");
482
+ const hasSelectedNode = [...nodes].some((node) => node.getAttribute("aria-selected") === "true" || node.getAttribute("aria-checked") === "true");
483
+ [...nodes].forEach((node) => {
484
+ node.tabIndex = -1;
485
+ });
486
+ if (hasSelectedNode) {
487
+ const selectedNodes = [...nodes].filter((node) => node.getAttribute("aria-selected") === "true" || node.getAttribute("aria-checked") === "true");
488
+ selectedNodes[0].tabIndex = 0;
489
+ return;
490
+ }
491
+ if (nodes.length) [...nodes][0].tabIndex = 0;
492
+ }
493
+ setTabIndexForSelectionMode(event, nodeTouched) {
494
+ if (this.tree.selectionMode() !== null) {
495
+ const elements = [...find(this.tree.el.nativeElement, "[role=\"treeitem\"]")];
496
+ event.currentTarget.tabIndex = nodeTouched === false ? -1 : 0;
497
+ if (elements.every((element) => element.tabIndex === -1)) elements[0].tabIndex = 0;
498
+ }
499
+ }
500
+ findNextSiblingOfAncestor(nodeElement) {
501
+ let parentNodeElement = this.getParentNodeElement(nodeElement);
502
+ if (parentNodeElement) {
503
+ if (parentNodeElement.nextElementSibling) return parentNodeElement.nextElementSibling;
504
+ else return this.findNextSiblingOfAncestor(parentNodeElement);
505
+ } else return null;
506
+ }
507
+ findLastVisibleDescendant(nodeElement) {
508
+ const childrenListElement = Array.from(nodeElement.children).find((el) => el.getAttribute("data-pc-section") === "node")?.children[1];
509
+ if (childrenListElement && childrenListElement.children.length > 0) {
510
+ const lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];
511
+ return this.findLastVisibleDescendant(lastChildElement);
512
+ } else return nodeElement;
513
+ }
514
+ getParentNodeElement(nodeElement) {
515
+ const parentNodeElement = nodeElement?.parentElement?.parentElement?.parentElement;
516
+ return parentNodeElement?.tagName === "P-TREENODE" ? parentNodeElement : null;
517
+ }
518
+ focusNode(element) {
519
+ element.children[0].focus();
520
+ }
521
+ focusRowChange(firstFocusableRow, currentFocusedRow, lastVisibleDescendant) {
522
+ firstFocusableRow.tabIndex = "-1";
523
+ currentFocusedRow.children[0].tabIndex = "0";
524
+ this.focusNode(lastVisibleDescendant || currentFocusedRow);
525
+ }
526
+ focusVirtualNode() {
527
+ this.timeout = setTimeout(() => {
528
+ let node = findSingle(this.tree?.contentViewChild()?.nativeElement, `[data-id="${this.node()?.key ?? this.node()?.data}"]`);
529
+ focus(node);
530
+ }, 1);
531
+ }
532
+ static ɵfac = i0.ɵɵngDeclareFactory({
533
+ minVersion: "12.0.0",
534
+ version: "22.2.0",
535
+ ngImport: i0,
536
+ type: UITreeNode,
537
+ deps: null,
538
+ target: i0.ɵɵFactoryTarget.Component
539
+ });
540
+ static ɵcmp = i0.ɵɵngDeclareComponent({
541
+ minVersion: "17.0.0",
542
+ version: "22.2.0",
543
+ type: UITreeNode,
544
+ isStandalone: true,
545
+ selector: "p-treenode",
546
+ inputs: {
547
+ rowNode: {
548
+ classPropertyName: "rowNode",
549
+ publicName: "rowNode",
550
+ isSignal: true,
551
+ isRequired: false,
552
+ transformFunction: null
553
+ },
554
+ node: {
555
+ classPropertyName: "node",
556
+ publicName: "node",
557
+ isSignal: true,
558
+ isRequired: false,
559
+ transformFunction: null
560
+ },
561
+ parentNode: {
562
+ classPropertyName: "parentNode",
563
+ publicName: "parentNode",
564
+ isSignal: true,
565
+ isRequired: false,
566
+ transformFunction: null
567
+ },
568
+ root: {
569
+ classPropertyName: "root",
570
+ publicName: "root",
571
+ isSignal: true,
572
+ isRequired: false,
573
+ transformFunction: null
574
+ },
575
+ index: {
576
+ classPropertyName: "index",
577
+ publicName: "index",
578
+ isSignal: true,
579
+ isRequired: false,
580
+ transformFunction: null
581
+ },
582
+ firstChild: {
583
+ classPropertyName: "firstChild",
584
+ publicName: "firstChild",
585
+ isSignal: true,
586
+ isRequired: false,
587
+ transformFunction: null
588
+ },
589
+ lastChild: {
590
+ classPropertyName: "lastChild",
591
+ publicName: "lastChild",
592
+ isSignal: true,
593
+ isRequired: false,
594
+ transformFunction: null
595
+ },
596
+ level: {
597
+ classPropertyName: "level",
598
+ publicName: "level",
599
+ isSignal: true,
600
+ isRequired: false,
601
+ transformFunction: null
602
+ },
603
+ indentation: {
604
+ classPropertyName: "indentation",
605
+ publicName: "indentation",
606
+ isSignal: true,
607
+ isRequired: false,
608
+ transformFunction: null
609
+ },
610
+ itemSize: {
611
+ classPropertyName: "itemSize",
612
+ publicName: "itemSize",
613
+ isSignal: true,
614
+ isRequired: false,
615
+ transformFunction: null
616
+ },
617
+ loadingMode: {
618
+ classPropertyName: "loadingMode",
619
+ publicName: "loadingMode",
620
+ isSignal: true,
621
+ isRequired: false,
622
+ transformFunction: null
623
+ }
624
+ },
625
+ providers: [
626
+ TreeStyle,
627
+ {
628
+ provide: TREENODE_INSTANCE,
629
+ useExisting: UITreeNode
630
+ },
631
+ {
632
+ provide: PARENT_INSTANCE,
633
+ useExisting: UITreeNode
634
+ }
635
+ ],
636
+ usesInheritance: true,
637
+ ngImport: i0,
638
+ template: `
677
639
  @if (node()) {
678
640
  <li
679
641
  [class]="cn(cx('node'), node()!.styleClass)"
@@ -790,16 +752,141 @@ class UITreeNode extends BaseComponent {
790
752
  }
791
753
  </li>
792
754
  }
793
- `, isInline: true, dependencies: [{ kind: "component", type: UITreeNode, selector: "p-treenode", inputs: ["rowNode", "node", "parentNode", "root", "index", "firstChild", "lastChild", "level", "indentation", "itemSize", "loadingMode"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-check-box", inputs: ["value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ChevronRight, selector: "svg[data-p-icon=\"chevron-right\"]" }, { kind: "component", type: ChevronDown, selector: "svg[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: Spinner, selector: "svg[data-p-icon=\"spinner\"]" }, { kind: "directive", type: Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
794
- }
795
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: UITreeNode, decorators: [{
796
- type: Component,
797
- args: [{
798
- selector: 'p-treenode',
799
- standalone: true,
800
- imports: [NgTemplateOutlet, Ripple, Checkbox, FormsModule, ChevronRight, ChevronDown, Spinner, Bind],
801
- changeDetection: ChangeDetectionStrategy.OnPush,
802
- template: `
755
+ `,
756
+ isInline: true,
757
+ dependencies: [
758
+ {
759
+ kind: "component",
760
+ type: UITreeNode,
761
+ selector: "p-treenode",
762
+ inputs: [
763
+ "rowNode",
764
+ "node",
765
+ "parentNode",
766
+ "root",
767
+ "index",
768
+ "firstChild",
769
+ "lastChild",
770
+ "level",
771
+ "indentation",
772
+ "itemSize",
773
+ "loadingMode"
774
+ ]
775
+ },
776
+ {
777
+ kind: "directive",
778
+ type: NgTemplateOutlet,
779
+ selector: "[ngTemplateOutlet]",
780
+ inputs: [
781
+ "ngTemplateOutletContext",
782
+ "ngTemplateOutlet",
783
+ "ngTemplateOutletInjector"
784
+ ]
785
+ },
786
+ {
787
+ kind: "directive",
788
+ type: Ripple,
789
+ selector: "[pRipple]"
790
+ },
791
+ {
792
+ kind: "component",
793
+ type: Checkbox,
794
+ selector: "p-checkbox, p-check-box",
795
+ inputs: [
796
+ "value",
797
+ "binary",
798
+ "ariaLabelledBy",
799
+ "ariaLabel",
800
+ "tabindex",
801
+ "inputId",
802
+ "inputStyle",
803
+ "inputClass",
804
+ "indeterminate",
805
+ "formControl",
806
+ "checkboxIcon",
807
+ "readonly",
808
+ "autofocus",
809
+ "trueValue",
810
+ "falseValue",
811
+ "variant",
812
+ "size"
813
+ ],
814
+ outputs: [
815
+ "onChange",
816
+ "onFocus",
817
+ "onBlur"
818
+ ]
819
+ },
820
+ {
821
+ kind: "ngmodule",
822
+ type: FormsModule
823
+ },
824
+ {
825
+ kind: "directive",
826
+ type: i1$1.NgControlStatus,
827
+ selector: "[formControlName],[ngModel],[formControl]"
828
+ },
829
+ {
830
+ kind: "directive",
831
+ type: i1$1.NgModel,
832
+ selector: "[ngModel]:not([formControlName]):not([formControl])",
833
+ inputs: [
834
+ "name",
835
+ "disabled",
836
+ "ngModel",
837
+ "ngModelOptions"
838
+ ],
839
+ outputs: ["ngModelChange"],
840
+ exportAs: ["ngModel"]
841
+ },
842
+ {
843
+ kind: "component",
844
+ type: ChevronRight,
845
+ selector: "svg[data-p-icon=\"chevron-right\"]"
846
+ },
847
+ {
848
+ kind: "component",
849
+ type: ChevronDown,
850
+ selector: "svg[data-p-icon=\"chevron-down\"]"
851
+ },
852
+ {
853
+ kind: "component",
854
+ type: Spinner,
855
+ selector: "svg[data-p-icon=\"spinner\"]"
856
+ },
857
+ {
858
+ kind: "directive",
859
+ type: Bind,
860
+ selector: "[pBind]",
861
+ inputs: ["pBind"]
862
+ }
863
+ ],
864
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
865
+ encapsulation: i0.ViewEncapsulation.None
866
+ });
867
+ };
868
+ i0.ɵɵngDeclareClassMetadata({
869
+ minVersion: "12.0.0",
870
+ version: "22.2.0",
871
+ ngImport: i0,
872
+ type: UITreeNode,
873
+ decorators: [{
874
+ type: Component,
875
+ args: [{
876
+ selector: "p-treenode",
877
+ standalone: true,
878
+ imports: [
879
+ NgTemplateOutlet,
880
+ Ripple,
881
+ Checkbox,
882
+ FormsModule,
883
+ ChevronRight,
884
+ ChevronDown,
885
+ Spinner,
886
+ Bind
887
+ ],
888
+ changeDetection: ChangeDetectionStrategy.OnPush,
889
+ template: `
803
890
  @if (node()) {
804
891
  <li
805
892
  [class]="cn(cx('node'), node()!.styleClass)"
@@ -917,1158 +1004,1258 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
917
1004
  </li>
918
1005
  }
919
1006
  `,
920
- encapsulation: ViewEncapsulation.None,
921
- providers: [TreeStyle, { provide: TREENODE_INSTANCE, useExisting: UITreeNode }, { provide: PARENT_INSTANCE, useExisting: UITreeNode }]
922
- }]
923
- }], propDecorators: { rowNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowNode", required: false }] }], node: [{ type: i0.Input, args: [{ isSignal: true, alias: "node", required: false }] }], parentNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentNode", required: false }] }], root: [{ type: i0.Input, args: [{ isSignal: true, alias: "root", required: false }] }], index: [{ type: i0.Input, args: [{ isSignal: true, alias: "index", required: false }] }], firstChild: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstChild", required: false }] }], lastChild: [{ type: i0.Input, args: [{ isSignal: true, alias: "lastChild", required: false }] }], level: [{ type: i0.Input, args: [{ isSignal: true, alias: "level", required: false }] }], indentation: [{ type: i0.Input, args: [{ isSignal: true, alias: "indentation", required: false }] }], itemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemSize", required: false }] }], loadingMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingMode", required: false }] }] } });
924
-
925
- /**
926
- * Tree is used to display hierarchical data.
927
- * @group Components
928
- */
929
- class Tree extends BaseComponent {
930
- componentName = 'Tree';
931
- _destroyed = false;
932
- bindDirectiveInstance = inject(Bind, { self: true });
933
- $pcTree = inject(TREE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
934
- /**
935
- * An array of treenodes.
936
- * @group Props
937
- */
938
- value = input(/* @ts-ignore */
939
- ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
940
- /**
941
- * Defines the selection mode.
942
- * @group Props
943
- */
944
- selectionMode = input(/* @ts-ignore */
945
- ...(ngDevMode ? [undefined, { debugName: "selectionMode" }] : /* istanbul ignore next */ []));
946
- /**
947
- * Loading mode display.
948
- * @group Props
949
- */
950
- loadingMode = input('mask', /* @ts-ignore */
951
- ...(ngDevMode ? [{ debugName: "loadingMode" }] : /* istanbul ignore next */ []));
952
- /**
953
- * A single treenode instance or an array to refer to the selections.
954
- * @deprecated since v22, use `selectionKeys` instead for key-based selection state.
955
- * @group Props
956
- */
957
- selection = model(null, /* @ts-ignore */
958
- ...(ngDevMode ? [{ debugName: "selection" }] : /* istanbul ignore next */ []));
959
- /**
960
- * A map of node keys (by `TreeNode.key`) whose value is `true` for collapsed nodes. Two-way bindable.
961
- * When provided it controls expansion (a node is expanded unless its key maps to `true`); leave it
962
- * unset to keep driving expansion from each node's `expanded` flag (default, non-breaking).
963
- * @group Props
964
- */
965
- collapsedKeys = model(null, /* @ts-ignore */
966
- ...(ngDevMode ? [{ debugName: "collapsedKeys" }] : /* istanbul ignore next */ []));
967
- /**
968
- * A map of node keys (by `TreeNode.key`) describing the selection state. Two-way bindable.
969
- * For single/multiple selection a key maps to `true`; for checkbox selection it maps to
970
- * `{ checked, partialChecked }`. When provided it is kept in sync with `selection`; leave it unset
971
- * to keep using the node-reference based `selection` model (default, non-breaking).
972
- * @group Props
973
- */
974
- selectionKeys = model(null, /* @ts-ignore */
975
- ...(ngDevMode ? [{ debugName: "selectionKeys" }] : /* istanbul ignore next */ []));
976
- /**
977
- * Context menu instance.
978
- * @group Props
979
- */
980
- contextMenu = input(/* @ts-ignore */
981
- ...(ngDevMode ? [undefined, { debugName: "contextMenu" }] : /* istanbul ignore next */ []));
982
- /**
983
- * Selected node with a context menu.
984
- * @group Props
985
- */
986
- contextMenuSelection = model(null, /* @ts-ignore */
987
- ...(ngDevMode ? [{ debugName: "contextMenuSelection" }] : /* istanbul ignore next */ []));
988
- /**
989
- * Scope of the draggable nodes to match a droppableScope.
990
- * @group Props
991
- */
992
- draggableScope = input(/* @ts-ignore */
993
- ...(ngDevMode ? [undefined, { debugName: "draggableScope" }] : /* istanbul ignore next */ []));
994
- /**
995
- * Scope of the droppable nodes to match a draggableScope.
996
- * @group Props
997
- */
998
- droppableScope = input(/* @ts-ignore */
999
- ...(ngDevMode ? [undefined, { debugName: "droppableScope" }] : /* istanbul ignore next */ []));
1000
- /**
1001
- * Whether the nodes are draggable.
1002
- * @group Props
1003
- */
1004
- draggableNodes = input(false, { ...(ngDevMode ? { debugName: "draggableNodes" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1005
- /**
1006
- * Whether the nodes are droppable.
1007
- * @group Props
1008
- */
1009
- droppableNodes = input(false, { ...(ngDevMode ? { debugName: "droppableNodes" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1010
- /**
1011
- * Defines how multiple items can be selected, when true metaKey needs to be pressed to select or unselect an item and when set to false selection of each item can be toggled individually. On touch enabled devices, metaKeySelection is turned off automatically.
1012
- * @group Props
1013
- */
1014
- metaKeySelection = input(false, { ...(ngDevMode ? { debugName: "metaKeySelection" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1015
- /**
1016
- * Whether checkbox selections propagate to ancestor nodes.
1017
- * @group Props
1018
- */
1019
- propagateSelectionUp = input(true, { ...(ngDevMode ? { debugName: "propagateSelectionUp" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1020
- /**
1021
- * Whether checkbox selections propagate to descendant nodes.
1022
- * @group Props
1023
- */
1024
- propagateSelectionDown = input(true, { ...(ngDevMode ? { debugName: "propagateSelectionDown" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1025
- /**
1026
- * Displays a loader to indicate data load is in progress.
1027
- * @group Props
1028
- */
1029
- loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1030
- /**
1031
- * The icon to show while indicating data load is in progress.
1032
- * @group Props
1033
- */
1034
- loadingIcon = input(/* @ts-ignore */
1035
- ...(ngDevMode ? [undefined, { debugName: "loadingIcon" }] : /* istanbul ignore next */ []));
1036
- /**
1037
- * Text to display when there is no data.
1038
- * @group Props
1039
- */
1040
- emptyMessage = input('', /* @ts-ignore */
1041
- ...(ngDevMode ? [{ debugName: "emptyMessage" }] : /* istanbul ignore next */ []));
1042
- /**
1043
- * Used to define a string that labels the tree.
1044
- * @group Props
1045
- */
1046
- ariaLabel = input(/* @ts-ignore */
1047
- ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
1048
- /**
1049
- * Defines a string that labels the toggler icon for accessibility.
1050
- * @group Props
1051
- */
1052
- togglerAriaLabel = input(/* @ts-ignore */
1053
- ...(ngDevMode ? [undefined, { debugName: "togglerAriaLabel" }] : /* istanbul ignore next */ []));
1054
- /**
1055
- * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
1056
- * @group Props
1057
- */
1058
- ariaLabelledBy = input(/* @ts-ignore */
1059
- ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
1060
- /**
1061
- * When enabled, drop can be accepted or rejected based on condition defined at onNodeDrop.
1062
- * @group Props
1063
- */
1064
- validateDrop = input(false, { ...(ngDevMode ? { debugName: "validateDrop" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1065
- /**
1066
- * When specified, displays an input field to filter the items.
1067
- * @group Props
1068
- */
1069
- filter = input(false, { ...(ngDevMode ? { debugName: "filter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1070
- /**
1071
- * Determines whether the filter input should be automatically focused when the component is rendered.
1072
- * @group Props
1073
- */
1074
- filterInputAutoFocus = input(false, { ...(ngDevMode ? { debugName: "filterInputAutoFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1075
- /**
1076
- * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.
1077
- * @group Props
1078
- */
1079
- filterBy = input('label', /* @ts-ignore */
1080
- ...(ngDevMode ? [{ debugName: "filterBy" }] : /* istanbul ignore next */ []));
1081
- /**
1082
- * Mode for filtering valid values are "lenient" and "strict". Default is lenient.
1083
- * @group Props
1084
- */
1085
- filterMode = input('lenient', /* @ts-ignore */
1086
- ...(ngDevMode ? [{ debugName: "filterMode" }] : /* istanbul ignore next */ []));
1087
- /**
1088
- * Mode for filtering valid values are "lenient" and "strict". Default is lenient.
1089
- * @group Props
1090
- */
1091
- filterOptions;
1092
- /**
1093
- * Placeholder text to show when filter input is empty.
1094
- * @group Props
1095
- */
1096
- filterPlaceholder = input(/* @ts-ignore */
1097
- ...(ngDevMode ? [undefined, { debugName: "filterPlaceholder" }] : /* istanbul ignore next */ []));
1098
- /**
1099
- * Values after the tree nodes are filtered.
1100
- * @group Props
1101
- */
1102
- filteredNodes = model(undefined, /* @ts-ignore */
1103
- ...(ngDevMode ? [{ debugName: "filteredNodes" }] : /* istanbul ignore next */ []));
1104
- /**
1105
- * Locale to use in filtering. The default locale is the host environment's current locale.
1106
- * @group Props
1107
- */
1108
- filterLocale = input(/* @ts-ignore */
1109
- ...(ngDevMode ? [undefined, { debugName: "filterLocale" }] : /* istanbul ignore next */ []));
1110
- /**
1111
- * Height of the scrollable viewport.
1112
- * @group Props
1113
- */
1114
- scrollHeight = input(/* @ts-ignore */
1115
- ...(ngDevMode ? [undefined, { debugName: "scrollHeight" }] : /* istanbul ignore next */ []));
1116
- /**
1117
- * Defines if data is loaded and interacted with in lazy manner.
1118
- * @group Props
1119
- */
1120
- lazy = input(false, { ...(ngDevMode ? { debugName: "lazy" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1121
- /**
1122
- * Whether the data should be loaded on demand during scroll.
1123
- * @group Props
1124
- */
1125
- virtualScroll = input(false, { ...(ngDevMode ? { debugName: "virtualScroll" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1126
- /**
1127
- * Height of an item in the list for VirtualScrolling.
1128
- * @group Props
1129
- */
1130
- virtualScrollItemSize = input(/* @ts-ignore */
1131
- ...(ngDevMode ? [undefined, { debugName: "virtualScrollItemSize" }] : /* istanbul ignore next */ []));
1132
- /**
1133
- * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.
1134
- * @group Props
1135
- */
1136
- virtualScrollOptions = input(/* @ts-ignore */
1137
- ...(ngDevMode ? [undefined, { debugName: "virtualScrollOptions" }] : /* istanbul ignore next */ []));
1138
- /**
1139
- * Indentation factor for spacing of the nested node when virtual scrolling is enabled.
1140
- * @group Props
1141
- */
1142
- indentation = input(1.5, { ...(ngDevMode ? { debugName: "indentation" } : /* istanbul ignore next */ {}), transform: numberAttribute });
1143
- /**
1144
- * Function to optimize the node list rendering, default algorithm checks for object identity.
1145
- * @group Props
1146
- */
1147
- // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
1148
- trackBy = input((index, item) => item, /* @ts-ignore */
1149
- ...(ngDevMode ? [{ debugName: "trackBy" }] : /* istanbul ignore next */ []));
1150
- /**
1151
- * Highlights the node on select.
1152
- * @group Props
1153
- */
1154
- highlightOnSelect = input(false, { ...(ngDevMode ? { debugName: "highlightOnSelect" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1155
- /**
1156
- * Callback to invoke when a node is selected.
1157
- * @param {TreeNodeSelectEvent} event - Node select event.
1158
- * @group Emits
1159
- */
1160
- onNodeSelect = output();
1161
- /**
1162
- * Callback to invoke when a node is unselected.
1163
- * @param {TreeNodeUnSelectEvent} event - Node unselect event.
1164
- * @group Emits
1165
- */
1166
- onNodeUnselect = output();
1167
- /**
1168
- * Callback to invoke when a node is expanded.
1169
- * @param {TreeNodeExpandEvent} event - Node expand event.
1170
- * @group Emits
1171
- */
1172
- onNodeExpand = output();
1173
- /**
1174
- * Callback to invoke when a node is collapsed.
1175
- * @param {TreeNodeCollapseEvent} event - Node collapse event.
1176
- * @group Emits
1177
- */
1178
- onNodeCollapse = output();
1179
- /**
1180
- * Callback to invoke when a node is selected with right click.
1181
- * @param {onNodeContextMenuSelect} event - Node context menu select event.
1182
- * @group Emits
1183
- */
1184
- onNodeContextMenuSelect = output();
1185
- /**
1186
- * Callback to invoke when a node is double clicked.
1187
- * @param {TreeNodeDoubleClickEvent} event - Node double click event.
1188
- * @group Emits
1189
- */
1190
- onNodeDoubleClick = output();
1191
- /**
1192
- * Callback to invoke when a node is dropped.
1193
- * @param {TreeNodeDropEvent} event - Node drop event.
1194
- * @group Emits
1195
- */
1196
- onNodeDrop = output();
1197
- /**
1198
- * Callback to invoke in lazy mode to load new data.
1199
- * @param {TreeLazyLoadEvent} event - Custom lazy load event.
1200
- * @group Emits
1201
- */
1202
- onLazyLoad = output();
1203
- /**
1204
- * Callback to invoke in virtual scroll mode when scroll position changes.
1205
- * @param {TreeScrollEvent} event - Custom scroll event.
1206
- * @group Emits
1207
- */
1208
- onScroll = output();
1209
- /**
1210
- * Callback to invoke in virtual scroll mode when scroll position and item's range in view changes.
1211
- * @param {TreeScrollIndexChangeEvent} event - Scroll index change event.
1212
- * @group Emits
1213
- */
1214
- onScrollIndexChange = output();
1215
- /**
1216
- * Callback to invoke when data is filtered.
1217
- * @param {TreeFilterEvent} event - Custom filter event.
1218
- * @group Emits
1219
- */
1220
- onFilter = output();
1221
- /**
1222
- * Custom filter template.
1223
- * @param {TreeFilterTemplateContext} context - filter context.
1224
- * @see {@link TreeFilterTemplateContext}
1225
- * @group Templates
1226
- */
1227
- filterTemplate = contentChild('filter', { ...(ngDevMode ? { debugName: "filterTemplate" } : /* istanbul ignore next */ {}), descendants: false });
1228
- /**
1229
- * Custom node template.
1230
- * @group Templates
1231
- */
1232
- nodeTemplate = contentChild('node', { ...(ngDevMode ? { debugName: "nodeTemplate" } : /* istanbul ignore next */ {}), descendants: false });
1233
- /**
1234
- * Custom header template.
1235
- * @group Templates
1236
- */
1237
- headerTemplate = contentChild('header', { ...(ngDevMode ? { debugName: "headerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
1238
- /**
1239
- * Custom footer template.
1240
- * @group Templates
1241
- */
1242
- footerTemplate = contentChild('footer', { ...(ngDevMode ? { debugName: "footerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
1243
- /**
1244
- * Custom loader template.
1245
- * @param {TreeLoaderTemplateContext} context - loader context.
1246
- * @see {@link TreeLoaderTemplateContext}
1247
- * @group Templates
1248
- */
1249
- loaderTemplate = contentChild('loader', { ...(ngDevMode ? { debugName: "loaderTemplate" } : /* istanbul ignore next */ {}), descendants: false });
1250
- /**
1251
- * Custom empty message template.
1252
- * @group Templates
1253
- */
1254
- emptyTemplate = contentChild('empty', { ...(ngDevMode ? { debugName: "emptyTemplate" } : /* istanbul ignore next */ {}), descendants: false });
1255
- /**
1256
- * Custom toggler icon template.
1257
- * @param {TreeTogglerIconTemplateContext} context - toggler icon context.
1258
- * @see {@link TreeTogglerIconTemplateContext}
1259
- * @group Templates
1260
- */
1261
- togglerIconTemplate = contentChild('togglericon', { ...(ngDevMode ? { debugName: "togglerIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
1262
- /**
1263
- * Custom checkbox icon template.
1264
- * @param {TreeCheckboxIconTemplateContext} context - checkbox icon context.
1265
- * @see {@link TreeCheckboxIconTemplateContext}
1266
- * @group Templates
1267
- */
1268
- checkboxIconTemplate = contentChild('checkboxicon', { ...(ngDevMode ? { debugName: "checkboxIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
1269
- /**
1270
- * Custom loading icon template.
1271
- * @group Templates
1272
- */
1273
- loadingIconTemplate = contentChild('loadingicon', { ...(ngDevMode ? { debugName: "loadingIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
1274
- /**
1275
- * Custom filter icon template.
1276
- * @group Templates
1277
- */
1278
- filterIconTemplate = contentChild('filtericon', { ...(ngDevMode ? { debugName: "filterIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
1279
- filterViewChild = viewChild('filter', /* @ts-ignore */
1280
- ...(ngDevMode ? [{ debugName: "filterViewChild" }] : /* istanbul ignore next */ []));
1281
- scroller = viewChild('scroller', /* @ts-ignore */
1282
- ...(ngDevMode ? [{ debugName: "scroller" }] : /* istanbul ignore next */ []));
1283
- wrapperViewChild = viewChild('wrapper', /* @ts-ignore */
1284
- ...(ngDevMode ? [{ debugName: "wrapperViewChild" }] : /* istanbul ignore next */ []));
1285
- contentViewChild = viewChild('content', /* @ts-ignore */
1286
- ...(ngDevMode ? [{ debugName: "contentViewChild" }] : /* istanbul ignore next */ []));
1287
- serializedValue;
1288
- nodeTouched;
1289
- dragNodeTree;
1290
- dragNode;
1291
- dragNodeSubNodes;
1292
- dragNodeIndex;
1293
- dragNodeScope;
1294
- dragHover;
1295
- _componentStyle = inject(TreeStyle);
1296
- dragDropService = inject(TreeDragDropService, { optional: true });
1297
- destroyRef = inject(DestroyRef);
1298
- constructor() {
1299
- super();
1300
- effect(() => {
1301
- this.value();
1302
- untracked(() => {
1303
- this.updateSerializedValue();
1304
- if (this.hasFilterActive()) {
1305
- this._filter(this.filterViewChild()?.nativeElement?.value);
1306
- }
1307
- });
1308
- });
1309
- effect(() => {
1310
- this.collapsedKeys();
1311
- this.value();
1312
- untracked(() => {
1313
- if (this.collapsedKeys() == null) {
1314
- return;
1315
- }
1316
- this.applyCollapsedKeys();
1317
- this.updateSerializedValue();
1318
- });
1319
- });
1320
- effect(() => {
1321
- this.selectionKeys();
1322
- this.value();
1323
- untracked(() => {
1324
- if (this.selectionKeys() == null) {
1325
- return;
1326
- }
1327
- if (!this.isSameSelectionKeys(this.deriveSelectionKeys(), this.selectionKeys())) {
1328
- this.applySelectionKeys();
1329
- }
1330
- });
1331
- });
1332
- effect(() => {
1333
- this.selection();
1334
- untracked(() => {
1335
- if (this.selectionKeys() == null) {
1336
- return;
1337
- }
1338
- const derived = this.deriveSelectionKeys();
1339
- if (!this.isSameSelectionKeys(derived, this.selectionKeys())) {
1340
- this.selectionKeys.set(derived);
1341
- }
1342
- });
1343
- });
1344
- }
1345
- showLoadingMask = computed(() => this.loading() && this.loadingMode() === 'mask', /* @ts-ignore */
1346
- ...(ngDevMode ? [{ debugName: "showLoadingMask" }] : /* istanbul ignore next */ []));
1347
- get showEmptyMessage() {
1348
- return !this.loading() && (this.getRootNode() == null || this.getRootNode().length === 0);
1349
- }
1350
- scrollerStyleHeight = computed(() => (this.scrollHeight() !== 'flex' ? this.scrollHeight() : undefined), /* @ts-ignore */
1351
- ...(ngDevMode ? [{ debugName: "scrollerStyleHeight" }] : /* istanbul ignore next */ []));
1352
- scrollerScrollHeight = computed(() => (this.scrollHeight() !== 'flex' ? undefined : '100%'), /* @ts-ignore */
1353
- ...(ngDevMode ? [{ debugName: "scrollerScrollHeight" }] : /* istanbul ignore next */ []));
1354
- get emptyMessageLabel() {
1355
- return this.emptyMessage() || this.translate(TranslationKeys.EMPTY_MESSAGE);
1356
- }
1357
- /**
1358
- * Filtering renders shallow copies of the matched nodes, this map links each copy back to
1359
- * its source node so that structural operations (drag&drop) can mutate the original value.
1360
- */
1361
- filteredNodeOrigins = new WeakMap();
1362
- onDestroy() {
1363
- this._destroyed = true;
1364
- }
1365
- onAfterViewChecked() {
1366
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1367
- }
1368
- onInit() {
1369
- if (this.filterBy()) {
1370
- this.filterOptions = {
1371
- filter: (value) => this._filter(value),
1372
- reset: () => this.resetFilter()
1373
- };
1374
- }
1375
- if (this.droppableNodes()) {
1376
- this.dragDropService?.dragStart$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
1377
- this.dragNodeTree = event.tree;
1378
- this.dragNode = event.node;
1379
- this.dragNodeSubNodes = event.subNodes;
1380
- this.dragNodeIndex = event.index;
1381
- this.dragNodeScope = event.scope;
1382
- });
1383
- }
1384
- if (this.droppableNodes() || this.draggableNodes()) {
1385
- this.dragDropService?.dragStop$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
1386
- this.dragNodeTree = null;
1387
- this.dragNode = null;
1388
- this.dragNodeSubNodes = null;
1389
- this.dragNodeIndex = null;
1390
- this.dragNodeScope = null;
1391
- this.dragHover = false;
1392
- if (this.hasFilterActive()) {
1393
- this._filter(this.filterViewChild()?.nativeElement?.value);
1394
- this.cd.markForCheck();
1395
- }
1396
- else if (this.virtualScroll()) {
1397
- this.updateSerializedValue();
1398
- this.cd.markForCheck();
1399
- }
1400
- });
1401
- }
1402
- }
1403
- updateSerializedValue() {
1404
- this.serializedValue = [];
1405
- this.serializeNodes(null, this.getRootNode(), 0, true);
1406
- }
1407
- /**
1408
- * Projects the current `collapsedKeys` map onto each node's `expanded` flag (a node is expanded
1409
- * unless its key maps to `true`).
1410
- */
1411
- applyCollapsedKeys() {
1412
- const collapsedKeys = this.collapsedKeys();
1413
- if (collapsedKeys == null) {
1414
- return;
1415
- }
1416
- const walk = (nodes) => {
1417
- if (!nodes)
1418
- return;
1419
- for (const node of nodes) {
1420
- if (node.key != null) {
1421
- node.expanded = !collapsedKeys[node.key];
1422
- }
1423
- if (node.children) {
1424
- walk(node.children);
1425
- }
1426
- }
1427
- };
1428
- walk(this.getRootNode());
1429
- }
1430
- /**
1431
- * Reflects a node's expansion change back into the two-way `collapsedKeys` map when it is in use.
1432
- */
1433
- setNodeCollapsed(node, collapsed) {
1434
- const collapsedKeys = this.collapsedKeys();
1435
- if (collapsedKeys == null || node.key == null) {
1436
- return;
1437
- }
1438
- const next = { ...collapsedKeys };
1439
- if (collapsed) {
1440
- next[node.key] = true;
1441
- }
1442
- else {
1443
- delete next[node.key];
1444
- }
1445
- this.collapsedKeys.set(next);
1446
- }
1447
- /** Builds a `key -> node` lookup over the whole tree (for `selectionKeys` projection). */
1448
- collectNodesByKey() {
1449
- const map = new Map();
1450
- const walk = (nodes) => {
1451
- if (!nodes)
1452
- return;
1453
- for (const node of nodes) {
1454
- if (node.key != null) {
1455
- map.set(node.key, node);
1456
- }
1457
- if (node.children) {
1458
- walk(node.children);
1459
- }
1460
- }
1461
- };
1462
- walk(this.getRootNode());
1463
- return map;
1464
- }
1465
- /** Derives the `selectionKeys` map from the current `selection` (and `partialSelected` for checkbox). */
1466
- deriveSelectionKeys() {
1467
- const mode = this.selectionMode();
1468
- const map = {};
1469
- if (mode === 'checkbox') {
1470
- const selection = this.selection() || [];
1471
- const selectedKeys = new Set(selection.map((node) => node.key));
1472
- const walk = (nodes) => {
1473
- if (!nodes)
1474
- return;
1475
- for (const node of nodes) {
1476
- if (node.key != null) {
1477
- if (selectedKeys.has(node.key)) {
1478
- map[node.key] = { checked: true, partialChecked: false };
1479
- }
1480
- else if (node.partialSelected) {
1481
- map[node.key] = { checked: false, partialChecked: true };
1482
- }
1483
- }
1484
- if (node.children) {
1485
- walk(node.children);
1486
- }
1487
- }
1488
- };
1489
- walk(this.getRootNode());
1490
- }
1491
- else if (mode === 'single') {
1492
- const selected = this.selection();
1493
- if (selected?.key != null) {
1494
- map[selected.key] = true;
1495
- }
1496
- }
1497
- else {
1498
- const selection = this.selection() || [];
1499
- for (const node of selection) {
1500
- if (node.key != null) {
1501
- map[node.key] = true;
1502
- }
1503
- }
1504
- }
1505
- return map;
1506
- }
1507
- /** Applies the current `selectionKeys` map onto the `selection` model (and `partialSelected` for checkbox). */
1508
- applySelectionKeys() {
1509
- const keys = this.selectionKeys();
1510
- if (keys == null) {
1511
- return;
1512
- }
1513
- const mode = this.selectionMode();
1514
- const nodesByKey = this.collectNodesByKey();
1515
- const isChecked = (value) => value === true || value?.checked === true;
1516
- if (mode === 'single') {
1517
- const key = Object.keys(keys).find((k) => isChecked(keys[k]));
1518
- this.selection.set(key != null ? (nodesByKey.get(key) ?? null) : null);
1519
- return;
1520
- }
1521
- const selected = [];
1522
- nodesByKey.forEach((node, key) => {
1523
- const value = keys[key];
1524
- if (mode === 'checkbox') {
1525
- node.partialSelected = value?.partialChecked === true;
1526
- }
1527
- if (isChecked(value)) {
1528
- selected.push(node);
1529
- }
1530
- });
1531
- this.selection.set(selected);
1532
- }
1533
- /** Value-based equality for two `selectionKeys` maps (handles both boolean and `{checked,partialChecked}` values). */
1534
- isSameSelectionKeys(a, b) {
1535
- const aKeys = Object.keys(a || {});
1536
- const bKeys = Object.keys(b || {});
1537
- if (aKeys.length !== bKeys.length) {
1538
- return false;
1539
- }
1540
- return aKeys.every((key) => {
1541
- const av = a[key];
1542
- const bv = b[key];
1543
- if (av === bv)
1544
- return true;
1545
- if (av && bv && typeof av === 'object' && typeof bv === 'object') {
1546
- return av.checked === bv.checked && av.partialChecked === bv.partialChecked;
1547
- }
1548
- return false;
1549
- });
1550
- }
1551
- serializeNodes(parent, nodes, level, visible) {
1552
- if (nodes && nodes.length) {
1553
- for (let node of nodes) {
1554
- node.parent = parent;
1555
- const rowNode = {
1556
- node: node,
1557
- parent: parent,
1558
- level: level,
1559
- visible: visible && (parent ? parent.expanded : true)
1560
- };
1561
- this.serializedValue.push(rowNode);
1562
- if (rowNode.visible && node.expanded) {
1563
- this.serializeNodes(node, node.children, level + 1, rowNode.visible);
1564
- }
1565
- }
1566
- }
1567
- }
1568
- onNodeClick(event, node) {
1569
- let eventTarget = event.target;
1570
- const section = eventTarget?.getAttribute?.('data-pc-section');
1571
- if (section === 'nodetogglebutton' || section === 'nodetoggleicon') {
1572
- return;
1573
- }
1574
- if (this.selectionMode()) {
1575
- if (node.selectable === false) {
1576
- return;
1577
- }
1578
- if (this.hasFilteredNodes()) {
1579
- node = this.getNodeWithKey(node.key, this.filteredNodes());
1580
- if (!node) {
1581
- return;
1582
- }
1583
- }
1584
- let index = this.findIndexInSelection(node);
1585
- let selected = index >= 0;
1586
- const currentSelection = this.selection();
1587
- if (this.isCheckboxSelectionMode()) {
1588
- if (selected) {
1589
- if (this.propagateSelectionDown())
1590
- this.propagateDown(node, false);
1591
- else
1592
- this.selection.set(currentSelection.filter((_val, i) => i != index));
1593
- if (this.propagateSelectionUp() && node.parent) {
1594
- this.propagateUp(node.parent, false);
1595
- }
1596
- this.onNodeUnselect.emit({ originalEvent: event, node: node });
1597
- }
1598
- else {
1599
- if (this.propagateSelectionDown())
1600
- this.propagateDown(node, true);
1601
- else
1602
- this.selection.set([...(currentSelection || []), node]);
1603
- if (this.propagateSelectionUp() && node.parent) {
1604
- this.propagateUp(node.parent, true);
1605
- }
1606
- this.onNodeSelect.emit({ originalEvent: event, node: node });
1607
- }
1608
- }
1609
- else {
1610
- let metaSelection = this.nodeTouched ? false : this.metaKeySelection();
1611
- if (metaSelection) {
1612
- let metaKey = event.metaKey || event.ctrlKey;
1613
- if (selected && metaKey) {
1614
- if (this.isSingleSelectionMode()) {
1615
- this.selection.set(null);
1616
- }
1617
- else {
1618
- this.selection.set(currentSelection.filter((_val, i) => i != index));
1619
- }
1620
- this.onNodeUnselect.emit({ originalEvent: event, node: node });
1621
- }
1622
- else {
1623
- if (this.isSingleSelectionMode()) {
1624
- this.selection.set(node);
1625
- }
1626
- else if (this.isMultipleSelectionMode()) {
1627
- const base = !metaKey ? [] : currentSelection || [];
1628
- this.selection.set([...base, node]);
1629
- }
1630
- this.onNodeSelect.emit({ originalEvent: event, node: node });
1631
- }
1632
- }
1633
- else {
1634
- if (this.isSingleSelectionMode()) {
1635
- if (selected) {
1636
- this.selection.set(null);
1637
- this.onNodeUnselect.emit({ originalEvent: event, node: node });
1638
- }
1639
- else {
1640
- this.selection.set(node);
1641
- setTimeout(() => {
1642
- if (this._destroyed)
1643
- return;
1644
- this.onNodeSelect.emit({ originalEvent: event, node: node });
1645
- });
1646
- }
1647
- }
1648
- else {
1649
- if (selected) {
1650
- this.selection.set(currentSelection.filter((_val, i) => i != index));
1651
- this.onNodeUnselect.emit({ originalEvent: event, node: node });
1652
- }
1653
- else {
1654
- this.selection.set([...(currentSelection || []), node]);
1655
- setTimeout(() => {
1656
- if (this._destroyed)
1657
- return;
1658
- this.onNodeSelect.emit({ originalEvent: event, node: node });
1659
- });
1660
- }
1661
- }
1662
- }
1663
- }
1664
- }
1665
- this.nodeTouched = false;
1666
- }
1667
- onNodeTouchEnd() {
1668
- this.nodeTouched = true;
1669
- }
1670
- onNodeRightClick(event, node) {
1671
- if (this.contextMenu()) {
1672
- let eventTarget = event.target;
1673
- const section = eventTarget.getAttribute('data-pc-section');
1674
- if (section === 'nodetogglebutton' || section === 'nodetoggleicon') {
1675
- return;
1676
- }
1677
- const onContextMenuCallback = () => {
1678
- this.contextMenu().show(event);
1679
- this.contextMenu().hideCallback = () => {
1680
- this.contextMenuSelection.set(null);
1681
- };
1682
- this.onNodeContextMenuSelect.emit({ originalEvent: event, node: node });
1683
- };
1684
- this.contextMenuSelection.set(node);
1685
- onContextMenuCallback();
1686
- }
1687
- }
1688
- onNodeDblClick(event, node) {
1689
- this.onNodeDoubleClick.emit({ originalEvent: event, node: node });
1690
- }
1691
- findIndexInSelection(node) {
1692
- let index = -1;
1693
- const currentSelection = this.selection();
1694
- if (this.selectionMode() && currentSelection) {
1695
- if (this.isSingleSelectionMode()) {
1696
- const sel = currentSelection;
1697
- let areNodesEqual = (sel.key && sel.key === node.key) || sel == node;
1698
- index = areNodesEqual ? 0 : -1;
1699
- }
1700
- else {
1701
- const selArray = currentSelection;
1702
- for (let i = 0; i < selArray.length; i++) {
1703
- let selectedNode = selArray[i];
1704
- let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;
1705
- if (areNodesEqual) {
1706
- index = i;
1707
- break;
1708
- }
1709
- }
1710
- }
1711
- }
1712
- return index;
1713
- }
1714
- syncNodeOption(node, parentNodes, option, value) {
1715
- // to synchronize the node option between the filtered nodes and the original nodes(this.value)
1716
- const _node = this.hasFilteredNodes() ? this.getNodeWithKey(node.key, parentNodes) : null;
1717
- if (_node) {
1718
- _node[option] = value || node[option];
1719
- }
1720
- }
1721
- hasFilteredNodes() {
1722
- return this.filter() && this.filteredNodes() && this.filteredNodes().length;
1723
- }
1724
- /** Returns the source node of a filtered copy, or the node itself when it is not a copy. */
1725
- getOriginalNode(node) {
1726
- return this.filteredNodeOrigins.get(node) ?? node;
1727
- }
1728
- hasFilterActive() {
1729
- return this.filter() && this.filterViewChild()?.nativeElement?.value.length > 0;
1730
- }
1731
- getNodeWithKey(key, nodes) {
1732
- for (let node of nodes) {
1733
- if (node.key === key) {
1734
- return node;
1735
- }
1736
- if (node.children) {
1737
- let matchedNode = this.getNodeWithKey(key, node.children);
1738
- if (matchedNode) {
1739
- return matchedNode;
1740
- }
1741
- }
1742
- }
1743
- }
1744
- propagateUp(node, select) {
1745
- if (node.children && node.children.length) {
1746
- let selectedCount = 0;
1747
- let childPartialSelected = false;
1748
- for (let child of node.children) {
1749
- if (this.isSelected(child)) {
1750
- selectedCount++;
1751
- }
1752
- else if (child.partialSelected) {
1753
- childPartialSelected = true;
1754
- }
1755
- }
1756
- const currentSelection = this.selection() || [];
1757
- if (select && selectedCount == node.children.length) {
1758
- this.selection.set([...currentSelection, node]);
1759
- node.partialSelected = false;
1760
- }
1761
- else {
1762
- if (!select) {
1763
- let index = this.findIndexInSelection(node);
1764
- if (index >= 0) {
1765
- this.selection.set(currentSelection.filter((_val, i) => i != index));
1766
- }
1767
- }
1768
- if (childPartialSelected || (selectedCount > 0 && selectedCount != node.children.length))
1769
- node.partialSelected = true;
1770
- else
1771
- node.partialSelected = false;
1772
- }
1773
- this.syncNodeOption(node, this.filteredNodes(), 'partialSelected');
1774
- }
1775
- let parent = node.parent;
1776
- if (parent) {
1777
- this.propagateUp(parent, select);
1778
- }
1779
- }
1780
- propagateDown(node, select) {
1781
- let index = this.findIndexInSelection(node);
1782
- const currentSelection = this.selection() || [];
1783
- if (select && index == -1) {
1784
- this.selection.set([...currentSelection, node]);
1785
- }
1786
- else if (!select && index > -1) {
1787
- this.selection.set(currentSelection.filter((_val, i) => i != index));
1788
- }
1789
- node.partialSelected = false;
1790
- this.syncNodeOption(node, this.filteredNodes(), 'partialSelected');
1791
- if (node.children && node.children.length) {
1792
- for (let child of node.children) {
1793
- this.propagateDown(child, select);
1794
- }
1795
- }
1796
- }
1797
- isSelected(node) {
1798
- return this.findIndexInSelection(node) != -1;
1799
- }
1800
- isSingleSelectionMode() {
1801
- return this.selectionMode() && this.selectionMode() == 'single';
1802
- }
1803
- isMultipleSelectionMode() {
1804
- return this.selectionMode() && this.selectionMode() == 'multiple';
1805
- }
1806
- isCheckboxSelectionMode() {
1807
- return this.selectionMode() && this.selectionMode() == 'checkbox';
1808
- }
1809
- isNodeLeaf(node) {
1810
- return node.leaf == false ? false : !(node.children && node.children.length);
1811
- }
1812
- getRootNode() {
1813
- return this.filteredNodes() ? this.filteredNodes() : this.value();
1814
- }
1815
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
1816
- getTemplateForNode(node) {
1817
- return this.nodeTemplate() ?? null;
1818
- }
1819
- onDragOver(event) {
1820
- if (this.droppableNodes() && this.allowDrop(this.dragNode, null, this.dragNodeScope)) {
1821
- event.dataTransfer.dropEffect = 'copy';
1822
- event.preventDefault();
1823
- }
1824
- }
1825
- onDrop(event) {
1826
- if (this.droppableNodes()) {
1827
- event.preventDefault();
1828
- let dragNode = this.dragNode;
1829
- if (this.isSameTreeScope(this.dragNodeScope)) {
1830
- return;
1831
- }
1832
- if (this.allowDrop(dragNode, null, this.dragNodeScope)) {
1833
- let dragNodeIndex = this.dragNodeIndex;
1834
- if (this.validateDrop()) {
1835
- this.onNodeDrop.emit({
1836
- originalEvent: event,
1837
- dragNode: dragNode,
1838
- dropNode: null,
1839
- index: dragNodeIndex,
1840
- accept: () => {
1841
- this.processTreeDrop(dragNode, dragNodeIndex);
1842
- }
1843
- });
1844
- }
1845
- else {
1846
- this.onNodeDrop.emit({
1847
- originalEvent: event,
1848
- dragNode: dragNode,
1849
- dropNode: null,
1850
- index: dragNodeIndex
1851
- });
1852
- this.processTreeDrop(dragNode, dragNodeIndex);
1853
- }
1854
- }
1855
- }
1856
- }
1857
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
1858
- processTreeDrop(dragNode, dragNodeIndex) {
1859
- const subNodes = this.dragNodeSubNodes;
1860
- const removalIndex = subNodes ? subNodes.indexOf(dragNode) : -1;
1861
- if (removalIndex !== -1) {
1862
- subNodes.splice(removalIndex, 1);
1863
- }
1864
- this.value().push(dragNode);
1865
- this.dragDropService.stopDrag({
1866
- node: dragNode
1867
- });
1868
- }
1869
- onDragEnter() {
1870
- if (this.droppableNodes() && this.allowDrop(this.dragNode, null, this.dragNodeScope)) {
1871
- this.dragHover = true;
1872
- }
1873
- }
1874
- onDragLeave(event) {
1875
- if (this.droppableNodes()) {
1876
- let rect = event.currentTarget.getBoundingClientRect();
1877
- if (event.x > parseInt(rect.left) + rect.width || event.x < parseInt(rect.left) || event.y > parseInt(rect.top) + rect.height || event.y < parseInt(rect.top)) {
1878
- this.dragHover = false;
1879
- }
1880
- }
1881
- }
1882
- allowDrop(dragNode, dropNode, dragNodeScope) {
1883
- if (!dragNode) {
1884
- //prevent random html elements to be dragged
1885
- return false;
1886
- }
1887
- else if (this.isValidDragScope(dragNodeScope)) {
1888
- let allow = true;
1889
- if (dropNode) {
1890
- // The drag state holds original nodes while a filtered tree renders copies,
1891
- // so compare against the original of each node in the drop chain.
1892
- if (dragNode === this.getOriginalNode(dropNode)) {
1893
- allow = false;
1894
- }
1895
- else {
1896
- let parent = dropNode.parent;
1897
- while (parent != null) {
1898
- if (this.getOriginalNode(parent) === dragNode) {
1899
- allow = false;
1900
- break;
1901
- }
1902
- parent = parent.parent;
1903
- }
1904
- }
1905
- }
1906
- return allow;
1907
- }
1908
- else {
1909
- return false;
1910
- }
1911
- }
1912
- hasCommonScope(dragScope, dropScope) {
1913
- if (typeof dropScope === 'string') {
1914
- if (typeof dragScope === 'string')
1915
- return dropScope === dragScope;
1916
- else if (Array.isArray(dragScope))
1917
- return dragScope.indexOf(dropScope) != -1;
1918
- }
1919
- else if (Array.isArray(dropScope)) {
1920
- if (typeof dragScope === 'string') {
1921
- return dropScope.indexOf(dragScope) != -1;
1922
- }
1923
- else if (Array.isArray(dragScope)) {
1924
- for (let s of dropScope) {
1925
- for (let ds of dragScope) {
1926
- if (s === ds) {
1927
- return true;
1928
- }
1929
- }
1930
- }
1931
- }
1932
- }
1933
- return false;
1934
- }
1935
- isSameTreeScope(dragScope) {
1936
- return this.hasCommonScope(dragScope, this.draggableScope());
1937
- }
1938
- isValidDragScope(dragScope) {
1939
- let dropScope = this.droppableScope();
1940
- if (dropScope) {
1941
- return this.hasCommonScope(dragScope, dropScope);
1942
- }
1943
- else {
1944
- return true;
1945
- }
1946
- }
1947
- _filter(value) {
1948
- let filterValue = value;
1949
- if (filterValue === '') {
1950
- this.filteredNodes.set(null);
1951
- }
1952
- else {
1953
- const filteredNodes = [];
1954
- const searchFields = this.filterBy().split(',');
1955
- const filterText = removeAccents(filterValue).toLocaleLowerCase(this.filterLocale());
1956
- const isStrictMode = this.filterMode() === 'strict';
1957
- for (let node of this.value()) {
1958
- let copyNode = { ...node };
1959
- this.filteredNodeOrigins.set(copyNode, node);
1960
- let paramsWithoutNode = { searchFields, filterText, isStrictMode };
1961
- if ((isStrictMode && (this.findFilteredNodes(copyNode, paramsWithoutNode) || this.isFilterMatched(copyNode, paramsWithoutNode))) ||
1962
- (!isStrictMode && (this.isFilterMatched(copyNode, paramsWithoutNode) || this.findFilteredNodes(copyNode, paramsWithoutNode)))) {
1963
- filteredNodes.push(copyNode);
1964
- }
1965
- }
1966
- this.filteredNodes.set(filteredNodes);
1967
- }
1968
- this.updateSerializedValue();
1969
- this.onFilter.emit({
1970
- filter: filterValue,
1971
- filteredValue: this.filteredNodes()
1972
- });
1973
- }
1974
- /**
1975
- * Resets filter.
1976
- * @group Method
1977
- */
1978
- resetFilter() {
1979
- this.filteredNodes.set(null);
1980
- const filterEl = this.filterViewChild();
1981
- if (filterEl && filterEl.nativeElement) {
1982
- filterEl.nativeElement.value = '';
1983
- }
1984
- }
1985
- /**
1986
- * Scrolls to virtual index.
1987
- * @param {number} number - Index to be scrolled.
1988
- * @group Method
1989
- */
1990
- scrollToVirtualIndex(index) {
1991
- if (this.virtualScroll()) {
1992
- this.scroller()?.scrollToIndex(index);
1993
- }
1994
- }
1995
- /**
1996
- * Scrolls to virtual index.
1997
- * @param {ScrollToOptions} options - Scroll options.
1998
- * @group Method
1999
- */
2000
- scrollTo(options) {
2001
- if (this.virtualScroll()) {
2002
- this.scroller()?.scrollTo(options);
2003
- }
2004
- else {
2005
- const wrapper = this.wrapperViewChild();
2006
- if (wrapper && wrapper.nativeElement) {
2007
- if (wrapper.nativeElement.scrollTo) {
2008
- wrapper.nativeElement.scrollTo(options);
2009
- }
2010
- else {
2011
- wrapper.nativeElement.scrollLeft = options.left;
2012
- wrapper.nativeElement.scrollTop = options.top;
2013
- }
2014
- }
2015
- }
2016
- }
2017
- findFilteredNodes(node, paramsWithoutNode) {
2018
- if (node) {
2019
- let matched = false;
2020
- if (node.children) {
2021
- let childNodes = [...node.children];
2022
- node.children = [];
2023
- for (let childNode of childNodes) {
2024
- let copyChildNode = { ...childNode };
2025
- this.filteredNodeOrigins.set(copyChildNode, this.getOriginalNode(childNode));
2026
- if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {
2027
- matched = true;
2028
- node.children.push(copyChildNode);
2029
- }
2030
- }
2031
- }
2032
- if (matched) {
2033
- node.expanded = true;
2034
- return true;
2035
- }
2036
- }
2037
- }
2038
- isFilterMatched(node, params) {
2039
- let { searchFields, filterText, isStrictMode } = params;
2040
- let matched = false;
2041
- for (let field of searchFields) {
2042
- let fieldValue = removeAccents(String(resolveFieldData(node, field))).toLocaleLowerCase(this.filterLocale());
2043
- if (fieldValue.indexOf(filterText) > -1) {
2044
- matched = true;
2045
- }
2046
- }
2047
- if (!matched || (isStrictMode && !this.isNodeLeaf(node))) {
2048
- matched = this.findFilteredNodes(node, { searchFields, filterText, isStrictMode }) || matched;
2049
- }
2050
- return matched;
2051
- }
2052
- getIndex(options, index) {
2053
- const getItemOptions = options['getItemOptions'];
2054
- return getItemOptions ? getItemOptions(index).index : index;
2055
- }
2056
- getBlockableElement() {
2057
- return this.el.nativeElement.children[0];
2058
- }
2059
- get containerDataP() {
2060
- return this.cn({
2061
- loading: this.loading(),
2062
- scrollable: this.scrollHeight() === 'flex'
2063
- });
2064
- }
2065
- get wrapperDataP() {
2066
- return this.cn({
2067
- scrollable: this.scrollHeight() === 'flex'
2068
- });
2069
- }
2070
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Tree, deps: [], target: i0.ɵɵFactoryTarget.Component });
2071
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: Tree, isStandalone: true, selector: "p-tree", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, loadingMode: { classPropertyName: "loadingMode", publicName: "loadingMode", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, collapsedKeys: { classPropertyName: "collapsedKeys", publicName: "collapsedKeys", isSignal: true, isRequired: false, transformFunction: null }, selectionKeys: { classPropertyName: "selectionKeys", publicName: "selectionKeys", isSignal: true, isRequired: false, transformFunction: null }, contextMenu: { classPropertyName: "contextMenu", publicName: "contextMenu", isSignal: true, isRequired: false, transformFunction: null }, contextMenuSelection: { classPropertyName: "contextMenuSelection", publicName: "contextMenuSelection", isSignal: true, isRequired: false, transformFunction: null }, draggableScope: { classPropertyName: "draggableScope", publicName: "draggableScope", isSignal: true, isRequired: false, transformFunction: null }, droppableScope: { classPropertyName: "droppableScope", publicName: "droppableScope", isSignal: true, isRequired: false, transformFunction: null }, draggableNodes: { classPropertyName: "draggableNodes", publicName: "draggableNodes", isSignal: true, isRequired: false, transformFunction: null }, droppableNodes: { classPropertyName: "droppableNodes", publicName: "droppableNodes", isSignal: true, isRequired: false, transformFunction: null }, metaKeySelection: { classPropertyName: "metaKeySelection", publicName: "metaKeySelection", isSignal: true, isRequired: false, transformFunction: null }, propagateSelectionUp: { classPropertyName: "propagateSelectionUp", publicName: "propagateSelectionUp", isSignal: true, isRequired: false, transformFunction: null }, propagateSelectionDown: { classPropertyName: "propagateSelectionDown", publicName: "propagateSelectionDown", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: true, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, togglerAriaLabel: { classPropertyName: "togglerAriaLabel", publicName: "togglerAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, validateDrop: { classPropertyName: "validateDrop", publicName: "validateDrop", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, filterInputAutoFocus: { classPropertyName: "filterInputAutoFocus", publicName: "filterInputAutoFocus", isSignal: true, isRequired: false, transformFunction: null }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: true, isRequired: false, transformFunction: null }, filterMode: { classPropertyName: "filterMode", publicName: "filterMode", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, filteredNodes: { classPropertyName: "filteredNodes", publicName: "filteredNodes", isSignal: true, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: true, isRequired: false, transformFunction: null }, indentation: { classPropertyName: "indentation", publicName: "indentation", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: true, isRequired: false, transformFunction: null }, highlightOnSelect: { classPropertyName: "highlightOnSelect", publicName: "highlightOnSelect", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selection: "selectionChange", collapsedKeys: "collapsedKeysChange", selectionKeys: "selectionKeysChange", contextMenuSelection: "contextMenuSelectionChange", filteredNodes: "filteredNodesChange", 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": "onDrop($event)", "dragover": "onDragOver($event)", "dragenter": "onDragEnter()", "dragleave": "onDragLeave($event)" }, properties: { "class": "cx('root')", "attr.data-p": "containerDataP" } }, providers: [TreeStyle, { provide: TREE_INSTANCE, useExisting: Tree }, { provide: PARENT_INSTANCE, useExisting: Tree }], queries: [{ propertyName: "filterTemplate", first: true, predicate: ["filter"], isSignal: true }, { propertyName: "nodeTemplate", first: true, predicate: ["node"], isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], isSignal: true }, { propertyName: "footerTemplate", first: true, predicate: ["footer"], isSignal: true }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"], isSignal: true }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"], isSignal: true }, { propertyName: "togglerIconTemplate", first: true, predicate: ["togglericon"], isSignal: true }, { propertyName: "checkboxIconTemplate", first: true, predicate: ["checkboxicon"], isSignal: true }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"], isSignal: true }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"], isSignal: true }], viewQueries: [{ propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true, isSignal: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true, isSignal: true }, { propertyName: "wrapperViewChild", first: true, predicate: ["wrapper"], descendants: true, isSignal: true }, { propertyName: "contentViewChild", first: true, predicate: ["content"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1$1.Bind }], ngImport: i0, template: `
1007
+ encapsulation: ViewEncapsulation.None,
1008
+ providers: [
1009
+ TreeStyle,
1010
+ {
1011
+ provide: TREENODE_INSTANCE,
1012
+ useExisting: UITreeNode
1013
+ },
1014
+ {
1015
+ provide: PARENT_INSTANCE,
1016
+ useExisting: UITreeNode
1017
+ }
1018
+ ]
1019
+ }]
1020
+ }],
1021
+ propDecorators: {
1022
+ rowNode: [{
1023
+ type: i0.Input,
1024
+ args: [{
1025
+ isSignal: true,
1026
+ alias: "rowNode",
1027
+ required: false
1028
+ }]
1029
+ }],
1030
+ node: [{
1031
+ type: i0.Input,
1032
+ args: [{
1033
+ isSignal: true,
1034
+ alias: "node",
1035
+ required: false
1036
+ }]
1037
+ }],
1038
+ parentNode: [{
1039
+ type: i0.Input,
1040
+ args: [{
1041
+ isSignal: true,
1042
+ alias: "parentNode",
1043
+ required: false
1044
+ }]
1045
+ }],
1046
+ root: [{
1047
+ type: i0.Input,
1048
+ args: [{
1049
+ isSignal: true,
1050
+ alias: "root",
1051
+ required: false
1052
+ }]
1053
+ }],
1054
+ index: [{
1055
+ type: i0.Input,
1056
+ args: [{
1057
+ isSignal: true,
1058
+ alias: "index",
1059
+ required: false
1060
+ }]
1061
+ }],
1062
+ firstChild: [{
1063
+ type: i0.Input,
1064
+ args: [{
1065
+ isSignal: true,
1066
+ alias: "firstChild",
1067
+ required: false
1068
+ }]
1069
+ }],
1070
+ lastChild: [{
1071
+ type: i0.Input,
1072
+ args: [{
1073
+ isSignal: true,
1074
+ alias: "lastChild",
1075
+ required: false
1076
+ }]
1077
+ }],
1078
+ level: [{
1079
+ type: i0.Input,
1080
+ args: [{
1081
+ isSignal: true,
1082
+ alias: "level",
1083
+ required: false
1084
+ }]
1085
+ }],
1086
+ indentation: [{
1087
+ type: i0.Input,
1088
+ args: [{
1089
+ isSignal: true,
1090
+ alias: "indentation",
1091
+ required: false
1092
+ }]
1093
+ }],
1094
+ itemSize: [{
1095
+ type: i0.Input,
1096
+ args: [{
1097
+ isSignal: true,
1098
+ alias: "itemSize",
1099
+ required: false
1100
+ }]
1101
+ }],
1102
+ loadingMode: [{
1103
+ type: i0.Input,
1104
+ args: [{
1105
+ isSignal: true,
1106
+ alias: "loadingMode",
1107
+ required: false
1108
+ }]
1109
+ }]
1110
+ }
1111
+ });
1112
+ var Tree = class Tree extends BaseComponent {
1113
+ componentName = "Tree";
1114
+ _destroyed = false;
1115
+ bindDirectiveInstance = inject(Bind, { self: true });
1116
+ $pcTree = inject(TREE_INSTANCE, {
1117
+ optional: true,
1118
+ skipSelf: true
1119
+ }) ?? void 0;
1120
+ value = input(...ngDevMode ? [void 0, { debugName: "value" }] : /* istanbul ignore next */ []);
1121
+ selectionMode = input(...ngDevMode ? [void 0, { debugName: "selectionMode" }] : /* istanbul ignore next */ []);
1122
+ loadingMode = input("mask", ...ngDevMode ? [{ debugName: "loadingMode" }] : /* istanbul ignore next */ []);
1123
+ selection = model(null, ...ngDevMode ? [{ debugName: "selection" }] : /* istanbul ignore next */ []);
1124
+ collapsedKeys = model(null, ...ngDevMode ? [{ debugName: "collapsedKeys" }] : /* istanbul ignore next */ []);
1125
+ selectionKeys = model(null, ...ngDevMode ? [{ debugName: "selectionKeys" }] : /* istanbul ignore next */ []);
1126
+ contextMenu = input(...ngDevMode ? [void 0, { debugName: "contextMenu" }] : /* istanbul ignore next */ []);
1127
+ contextMenuSelection = model(null, ...ngDevMode ? [{ debugName: "contextMenuSelection" }] : /* istanbul ignore next */ []);
1128
+ draggableScope = input(...ngDevMode ? [void 0, { debugName: "draggableScope" }] : /* istanbul ignore next */ []);
1129
+ droppableScope = input(...ngDevMode ? [void 0, { debugName: "droppableScope" }] : /* istanbul ignore next */ []);
1130
+ draggableNodes = input(false, {
1131
+ ...ngDevMode ? { debugName: "draggableNodes" } : /* istanbul ignore next */ {},
1132
+ transform: booleanAttribute
1133
+ });
1134
+ droppableNodes = input(false, {
1135
+ ...ngDevMode ? { debugName: "droppableNodes" } : /* istanbul ignore next */ {},
1136
+ transform: booleanAttribute
1137
+ });
1138
+ metaKeySelection = input(false, {
1139
+ ...ngDevMode ? { debugName: "metaKeySelection" } : /* istanbul ignore next */ {},
1140
+ transform: booleanAttribute
1141
+ });
1142
+ propagateSelectionUp = input(true, {
1143
+ ...ngDevMode ? { debugName: "propagateSelectionUp" } : /* istanbul ignore next */ {},
1144
+ transform: booleanAttribute
1145
+ });
1146
+ propagateSelectionDown = input(true, {
1147
+ ...ngDevMode ? { debugName: "propagateSelectionDown" } : /* istanbul ignore next */ {},
1148
+ transform: booleanAttribute
1149
+ });
1150
+ loading = input(false, {
1151
+ ...ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {},
1152
+ transform: booleanAttribute
1153
+ });
1154
+ loadingIcon = input(...ngDevMode ? [void 0, { debugName: "loadingIcon" }] : /* istanbul ignore next */ []);
1155
+ emptyMessage = input("", ...ngDevMode ? [{ debugName: "emptyMessage" }] : /* istanbul ignore next */ []);
1156
+ ariaLabel = input(...ngDevMode ? [void 0, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
1157
+ togglerAriaLabel = input(...ngDevMode ? [void 0, { debugName: "togglerAriaLabel" }] : /* istanbul ignore next */ []);
1158
+ ariaLabelledBy = input(...ngDevMode ? [void 0, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []);
1159
+ validateDrop = input(false, {
1160
+ ...ngDevMode ? { debugName: "validateDrop" } : /* istanbul ignore next */ {},
1161
+ transform: booleanAttribute
1162
+ });
1163
+ filter = input(false, {
1164
+ ...ngDevMode ? { debugName: "filter" } : /* istanbul ignore next */ {},
1165
+ transform: booleanAttribute
1166
+ });
1167
+ filterInputAutoFocus = input(false, {
1168
+ ...ngDevMode ? { debugName: "filterInputAutoFocus" } : /* istanbul ignore next */ {},
1169
+ transform: booleanAttribute
1170
+ });
1171
+ filterBy = input("label", ...ngDevMode ? [{ debugName: "filterBy" }] : /* istanbul ignore next */ []);
1172
+ filterMode = input("lenient", ...ngDevMode ? [{ debugName: "filterMode" }] : /* istanbul ignore next */ []);
1173
+ filterOptions;
1174
+ filterPlaceholder = input(...ngDevMode ? [void 0, { debugName: "filterPlaceholder" }] : /* istanbul ignore next */ []);
1175
+ filteredNodes = model(void 0, ...ngDevMode ? [{ debugName: "filteredNodes" }] : /* istanbul ignore next */ []);
1176
+ filterLocale = input(...ngDevMode ? [void 0, { debugName: "filterLocale" }] : /* istanbul ignore next */ []);
1177
+ scrollHeight = input(...ngDevMode ? [void 0, { debugName: "scrollHeight" }] : /* istanbul ignore next */ []);
1178
+ lazy = input(false, {
1179
+ ...ngDevMode ? { debugName: "lazy" } : /* istanbul ignore next */ {},
1180
+ transform: booleanAttribute
1181
+ });
1182
+ virtualScroll = input(false, {
1183
+ ...ngDevMode ? { debugName: "virtualScroll" } : /* istanbul ignore next */ {},
1184
+ transform: booleanAttribute
1185
+ });
1186
+ virtualScrollItemSize = input(...ngDevMode ? [void 0, { debugName: "virtualScrollItemSize" }] : /* istanbul ignore next */ []);
1187
+ virtualScrollOptions = input(...ngDevMode ? [void 0, { debugName: "virtualScrollOptions" }] : /* istanbul ignore next */ []);
1188
+ indentation = input(1.5, {
1189
+ ...ngDevMode ? { debugName: "indentation" } : /* istanbul ignore next */ {},
1190
+ transform: numberAttribute
1191
+ });
1192
+ trackBy = input((index, item) => item, ...ngDevMode ? [{ debugName: "trackBy" }] : /* istanbul ignore next */ []);
1193
+ highlightOnSelect = input(false, {
1194
+ ...ngDevMode ? { debugName: "highlightOnSelect" } : /* istanbul ignore next */ {},
1195
+ transform: booleanAttribute
1196
+ });
1197
+ onNodeSelect = output();
1198
+ onNodeUnselect = output();
1199
+ onNodeExpand = output();
1200
+ onNodeCollapse = output();
1201
+ onNodeContextMenuSelect = output();
1202
+ onNodeDoubleClick = output();
1203
+ onNodeDrop = output();
1204
+ onLazyLoad = output();
1205
+ onScroll = output();
1206
+ onScrollIndexChange = output();
1207
+ onFilter = output();
1208
+ filterTemplate = contentChild("filter", {
1209
+ ...ngDevMode ? { debugName: "filterTemplate" } : /* istanbul ignore next */ {},
1210
+ descendants: false
1211
+ });
1212
+ nodeTemplate = contentChild("node", {
1213
+ ...ngDevMode ? { debugName: "nodeTemplate" } : /* istanbul ignore next */ {},
1214
+ descendants: false
1215
+ });
1216
+ headerTemplate = contentChild("header", {
1217
+ ...ngDevMode ? { debugName: "headerTemplate" } : /* istanbul ignore next */ {},
1218
+ descendants: false
1219
+ });
1220
+ footerTemplate = contentChild("footer", {
1221
+ ...ngDevMode ? { debugName: "footerTemplate" } : /* istanbul ignore next */ {},
1222
+ descendants: false
1223
+ });
1224
+ loaderTemplate = contentChild("loader", {
1225
+ ...ngDevMode ? { debugName: "loaderTemplate" } : /* istanbul ignore next */ {},
1226
+ descendants: false
1227
+ });
1228
+ emptyTemplate = contentChild("empty", {
1229
+ ...ngDevMode ? { debugName: "emptyTemplate" } : /* istanbul ignore next */ {},
1230
+ descendants: false
1231
+ });
1232
+ togglerIconTemplate = contentChild("togglericon", {
1233
+ ...ngDevMode ? { debugName: "togglerIconTemplate" } : /* istanbul ignore next */ {},
1234
+ descendants: false
1235
+ });
1236
+ checkboxIconTemplate = contentChild("checkboxicon", {
1237
+ ...ngDevMode ? { debugName: "checkboxIconTemplate" } : /* istanbul ignore next */ {},
1238
+ descendants: false
1239
+ });
1240
+ loadingIconTemplate = contentChild("loadingicon", {
1241
+ ...ngDevMode ? { debugName: "loadingIconTemplate" } : /* istanbul ignore next */ {},
1242
+ descendants: false
1243
+ });
1244
+ filterIconTemplate = contentChild("filtericon", {
1245
+ ...ngDevMode ? { debugName: "filterIconTemplate" } : /* istanbul ignore next */ {},
1246
+ descendants: false
1247
+ });
1248
+ filterViewChild = viewChild("filter", ...ngDevMode ? [{ debugName: "filterViewChild" }] : /* istanbul ignore next */ []);
1249
+ scroller = viewChild("scroller", ...ngDevMode ? [{ debugName: "scroller" }] : /* istanbul ignore next */ []);
1250
+ wrapperViewChild = viewChild("wrapper", ...ngDevMode ? [{ debugName: "wrapperViewChild" }] : /* istanbul ignore next */ []);
1251
+ contentViewChild = viewChild("content", ...ngDevMode ? [{ debugName: "contentViewChild" }] : /* istanbul ignore next */ []);
1252
+ serializedValue;
1253
+ nodeTouched;
1254
+ dragNodeTree;
1255
+ dragNode;
1256
+ dragNodeSubNodes;
1257
+ dragNodeIndex;
1258
+ dragNodeScope;
1259
+ dragHover;
1260
+ _componentStyle = inject(TreeStyle);
1261
+ dragDropService = inject(TreeDragDropService, { optional: true });
1262
+ destroyRef = inject(DestroyRef);
1263
+ constructor() {
1264
+ super();
1265
+ effect(() => {
1266
+ this.value();
1267
+ untracked(() => {
1268
+ this.updateSerializedValue();
1269
+ if (this.hasFilterActive()) this._filter(this.filterViewChild()?.nativeElement?.value);
1270
+ });
1271
+ });
1272
+ effect(() => {
1273
+ this.collapsedKeys();
1274
+ this.value();
1275
+ untracked(() => {
1276
+ if (this.collapsedKeys() == null) return;
1277
+ this.applyCollapsedKeys();
1278
+ this.updateSerializedValue();
1279
+ });
1280
+ });
1281
+ effect(() => {
1282
+ this.selectionKeys();
1283
+ this.value();
1284
+ untracked(() => {
1285
+ if (this.selectionKeys() == null) return;
1286
+ if (!this.isSameSelectionKeys(this.deriveSelectionKeys(), this.selectionKeys())) this.applySelectionKeys();
1287
+ });
1288
+ });
1289
+ effect(() => {
1290
+ this.selection();
1291
+ untracked(() => {
1292
+ if (this.selectionKeys() == null) return;
1293
+ const derived = this.deriveSelectionKeys();
1294
+ if (!this.isSameSelectionKeys(derived, this.selectionKeys())) this.selectionKeys.set(derived);
1295
+ });
1296
+ });
1297
+ }
1298
+ showLoadingMask = computed(() => this.loading() && this.loadingMode() === "mask", ...ngDevMode ? [{ debugName: "showLoadingMask" }] : /* istanbul ignore next */ []);
1299
+ get showEmptyMessage() {
1300
+ return !this.loading() && (this.getRootNode() == null || this.getRootNode().length === 0);
1301
+ }
1302
+ scrollerStyleHeight = computed(() => this.scrollHeight() !== "flex" ? this.scrollHeight() : void 0, ...ngDevMode ? [{ debugName: "scrollerStyleHeight" }] : /* istanbul ignore next */ []);
1303
+ scrollerScrollHeight = computed(() => this.scrollHeight() !== "flex" ? void 0 : "100%", ...ngDevMode ? [{ debugName: "scrollerScrollHeight" }] : /* istanbul ignore next */ []);
1304
+ get emptyMessageLabel() {
1305
+ return this.emptyMessage() || this.translate(TranslationKeys.EMPTY_MESSAGE);
1306
+ }
1307
+ filteredNodeOrigins = /* @__PURE__ */ new WeakMap();
1308
+ onDestroy() {
1309
+ this._destroyed = true;
1310
+ }
1311
+ onAfterViewChecked() {
1312
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1313
+ }
1314
+ onInit() {
1315
+ if (this.filterBy()) this.filterOptions = {
1316
+ filter: (value) => this._filter(value),
1317
+ reset: () => this.resetFilter()
1318
+ };
1319
+ if (this.droppableNodes()) this.dragDropService?.dragStart$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
1320
+ this.dragNodeTree = event.tree;
1321
+ this.dragNode = event.node;
1322
+ this.dragNodeSubNodes = event.subNodes;
1323
+ this.dragNodeIndex = event.index;
1324
+ this.dragNodeScope = event.scope;
1325
+ });
1326
+ if (this.droppableNodes() || this.draggableNodes()) this.dragDropService?.dragStop$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
1327
+ this.dragNodeTree = null;
1328
+ this.dragNode = null;
1329
+ this.dragNodeSubNodes = null;
1330
+ this.dragNodeIndex = null;
1331
+ this.dragNodeScope = null;
1332
+ this.dragHover = false;
1333
+ if (this.hasFilterActive()) {
1334
+ this._filter(this.filterViewChild()?.nativeElement?.value);
1335
+ this.cd.markForCheck();
1336
+ } else if (this.virtualScroll()) {
1337
+ this.updateSerializedValue();
1338
+ this.cd.markForCheck();
1339
+ }
1340
+ });
1341
+ }
1342
+ updateSerializedValue() {
1343
+ this.serializedValue = [];
1344
+ this.serializeNodes(null, this.getRootNode(), 0, true);
1345
+ }
1346
+ applyCollapsedKeys() {
1347
+ const collapsedKeys = this.collapsedKeys();
1348
+ if (collapsedKeys == null) return;
1349
+ const walk = (nodes) => {
1350
+ if (!nodes) return;
1351
+ for (const node of nodes) {
1352
+ if (node.key != null) node.expanded = !collapsedKeys[node.key];
1353
+ if (node.children) walk(node.children);
1354
+ }
1355
+ };
1356
+ walk(this.getRootNode());
1357
+ }
1358
+ setNodeCollapsed(node, collapsed) {
1359
+ const collapsedKeys = this.collapsedKeys();
1360
+ if (collapsedKeys == null || node.key == null) return;
1361
+ const next = { ...collapsedKeys };
1362
+ if (collapsed) next[node.key] = true;
1363
+ else delete next[node.key];
1364
+ this.collapsedKeys.set(next);
1365
+ }
1366
+ collectNodesByKey() {
1367
+ const map = /* @__PURE__ */ new Map();
1368
+ const walk = (nodes) => {
1369
+ if (!nodes) return;
1370
+ for (const node of nodes) {
1371
+ if (node.key != null) map.set(node.key, node);
1372
+ if (node.children) walk(node.children);
1373
+ }
1374
+ };
1375
+ walk(this.getRootNode());
1376
+ return map;
1377
+ }
1378
+ deriveSelectionKeys() {
1379
+ const mode = this.selectionMode();
1380
+ const map = {};
1381
+ if (mode === "checkbox") {
1382
+ const selection = this.selection() || [];
1383
+ const selectedKeys = new Set(selection.map((node) => node.key));
1384
+ const walk = (nodes) => {
1385
+ if (!nodes) return;
1386
+ for (const node of nodes) {
1387
+ if (node.key != null) {
1388
+ if (selectedKeys.has(node.key)) map[node.key] = {
1389
+ checked: true,
1390
+ partialChecked: false
1391
+ };
1392
+ else if (node.partialSelected) map[node.key] = {
1393
+ checked: false,
1394
+ partialChecked: true
1395
+ };
1396
+ }
1397
+ if (node.children) walk(node.children);
1398
+ }
1399
+ };
1400
+ walk(this.getRootNode());
1401
+ } else if (mode === "single") {
1402
+ const selected = this.selection();
1403
+ if (selected?.key != null) map[selected.key] = true;
1404
+ } else {
1405
+ const selection = this.selection() || [];
1406
+ for (const node of selection) if (node.key != null) map[node.key] = true;
1407
+ }
1408
+ return map;
1409
+ }
1410
+ applySelectionKeys() {
1411
+ const keys = this.selectionKeys();
1412
+ if (keys == null) return;
1413
+ const mode = this.selectionMode();
1414
+ const nodesByKey = this.collectNodesByKey();
1415
+ const isChecked = (value) => value === true || value?.checked === true;
1416
+ if (mode === "single") {
1417
+ const key = Object.keys(keys).find((k) => isChecked(keys[k]));
1418
+ this.selection.set(key != null ? nodesByKey.get(key) ?? null : null);
1419
+ return;
1420
+ }
1421
+ const selected = [];
1422
+ nodesByKey.forEach((node, key) => {
1423
+ const value = keys[key];
1424
+ if (mode === "checkbox") node.partialSelected = value?.partialChecked === true;
1425
+ if (isChecked(value)) selected.push(node);
1426
+ });
1427
+ this.selection.set(selected);
1428
+ }
1429
+ isSameSelectionKeys(a, b) {
1430
+ const aKeys = Object.keys(a || {});
1431
+ const bKeys = Object.keys(b || {});
1432
+ if (aKeys.length !== bKeys.length) return false;
1433
+ return aKeys.every((key) => {
1434
+ const av = a[key];
1435
+ const bv = b[key];
1436
+ if (av === bv) return true;
1437
+ if (av && bv && typeof av === "object" && typeof bv === "object") return av.checked === bv.checked && av.partialChecked === bv.partialChecked;
1438
+ return false;
1439
+ });
1440
+ }
1441
+ serializeNodes(parent, nodes, level, visible) {
1442
+ if (nodes && nodes.length) for (let node of nodes) {
1443
+ node.parent = parent;
1444
+ const rowNode = {
1445
+ node,
1446
+ parent,
1447
+ level,
1448
+ visible: visible && (parent ? parent.expanded : true)
1449
+ };
1450
+ this.serializedValue.push(rowNode);
1451
+ if (rowNode.visible && node.expanded) this.serializeNodes(node, node.children, level + 1, rowNode.visible);
1452
+ }
1453
+ }
1454
+ onNodeClick(event, node) {
1455
+ const section = event.target?.getAttribute?.("data-pc-section");
1456
+ if (section === "nodetogglebutton" || section === "nodetoggleicon") return;
1457
+ if (this.selectionMode()) {
1458
+ if (node.selectable === false) return;
1459
+ if (this.hasFilteredNodes()) {
1460
+ node = this.getNodeWithKey(node.key, this.filteredNodes());
1461
+ if (!node) return;
1462
+ }
1463
+ let index = this.findIndexInSelection(node);
1464
+ let selected = index >= 0;
1465
+ const currentSelection = this.selection();
1466
+ if (this.isCheckboxSelectionMode()) {
1467
+ if (selected) {
1468
+ if (this.propagateSelectionDown()) this.propagateDown(node, false);
1469
+ else this.selection.set(currentSelection.filter((_val, i) => i != index));
1470
+ if (this.propagateSelectionUp() && node.parent) this.propagateUp(node.parent, false);
1471
+ this.onNodeUnselect.emit({
1472
+ originalEvent: event,
1473
+ node
1474
+ });
1475
+ } else {
1476
+ if (this.propagateSelectionDown()) this.propagateDown(node, true);
1477
+ else this.selection.set([...currentSelection || [], node]);
1478
+ if (this.propagateSelectionUp() && node.parent) this.propagateUp(node.parent, true);
1479
+ this.onNodeSelect.emit({
1480
+ originalEvent: event,
1481
+ node
1482
+ });
1483
+ }
1484
+ } else if (this.nodeTouched ? false : this.metaKeySelection()) {
1485
+ let metaKey = event.metaKey || event.ctrlKey;
1486
+ if (selected && metaKey) {
1487
+ if (this.isSingleSelectionMode()) this.selection.set(null);
1488
+ else this.selection.set(currentSelection.filter((_val, i) => i != index));
1489
+ this.onNodeUnselect.emit({
1490
+ originalEvent: event,
1491
+ node
1492
+ });
1493
+ } else {
1494
+ if (this.isSingleSelectionMode()) this.selection.set(node);
1495
+ else if (this.isMultipleSelectionMode()) {
1496
+ const base = !metaKey ? [] : currentSelection || [];
1497
+ this.selection.set([...base, node]);
1498
+ }
1499
+ this.onNodeSelect.emit({
1500
+ originalEvent: event,
1501
+ node
1502
+ });
1503
+ }
1504
+ } else if (this.isSingleSelectionMode()) {
1505
+ if (selected) {
1506
+ this.selection.set(null);
1507
+ this.onNodeUnselect.emit({
1508
+ originalEvent: event,
1509
+ node
1510
+ });
1511
+ } else {
1512
+ this.selection.set(node);
1513
+ setTimeout(() => {
1514
+ if (this._destroyed) return;
1515
+ this.onNodeSelect.emit({
1516
+ originalEvent: event,
1517
+ node
1518
+ });
1519
+ });
1520
+ }
1521
+ } else if (selected) {
1522
+ this.selection.set(currentSelection.filter((_val, i) => i != index));
1523
+ this.onNodeUnselect.emit({
1524
+ originalEvent: event,
1525
+ node
1526
+ });
1527
+ } else {
1528
+ this.selection.set([...currentSelection || [], node]);
1529
+ setTimeout(() => {
1530
+ if (this._destroyed) return;
1531
+ this.onNodeSelect.emit({
1532
+ originalEvent: event,
1533
+ node
1534
+ });
1535
+ });
1536
+ }
1537
+ }
1538
+ this.nodeTouched = false;
1539
+ }
1540
+ onNodeTouchEnd() {
1541
+ this.nodeTouched = true;
1542
+ }
1543
+ onNodeRightClick(event, node) {
1544
+ if (this.contextMenu()) {
1545
+ const section = event.target.getAttribute("data-pc-section");
1546
+ if (section === "nodetogglebutton" || section === "nodetoggleicon") return;
1547
+ const onContextMenuCallback = () => {
1548
+ this.contextMenu().show(event);
1549
+ this.contextMenu().hideCallback = () => {
1550
+ this.contextMenuSelection.set(null);
1551
+ };
1552
+ this.onNodeContextMenuSelect.emit({
1553
+ originalEvent: event,
1554
+ node
1555
+ });
1556
+ };
1557
+ this.contextMenuSelection.set(node);
1558
+ onContextMenuCallback();
1559
+ }
1560
+ }
1561
+ onNodeDblClick(event, node) {
1562
+ this.onNodeDoubleClick.emit({
1563
+ originalEvent: event,
1564
+ node
1565
+ });
1566
+ }
1567
+ findIndexInSelection(node) {
1568
+ let index = -1;
1569
+ const currentSelection = this.selection();
1570
+ if (this.selectionMode() && currentSelection) {
1571
+ if (this.isSingleSelectionMode()) {
1572
+ const sel = currentSelection;
1573
+ index = sel.key && sel.key === node.key || sel == node ? 0 : -1;
1574
+ } else {
1575
+ const selArray = currentSelection;
1576
+ for (let i = 0; i < selArray.length; i++) {
1577
+ let selectedNode = selArray[i];
1578
+ if (selectedNode.key && selectedNode.key === node.key || selectedNode == node) {
1579
+ index = i;
1580
+ break;
1581
+ }
1582
+ }
1583
+ }
1584
+ }
1585
+ return index;
1586
+ }
1587
+ syncNodeOption(node, parentNodes, option, value) {
1588
+ const _node = this.hasFilteredNodes() ? this.getNodeWithKey(node.key, parentNodes) : null;
1589
+ if (_node) _node[option] = value || node[option];
1590
+ }
1591
+ hasFilteredNodes() {
1592
+ return this.filter() && this.filteredNodes() && this.filteredNodes().length;
1593
+ }
1594
+ getOriginalNode(node) {
1595
+ return this.filteredNodeOrigins.get(node) ?? node;
1596
+ }
1597
+ hasFilterActive() {
1598
+ return this.filter() && this.filterViewChild()?.nativeElement?.value.length > 0;
1599
+ }
1600
+ getNodeWithKey(key, nodes) {
1601
+ for (let node of nodes) {
1602
+ if (node.key === key) return node;
1603
+ if (node.children) {
1604
+ let matchedNode = this.getNodeWithKey(key, node.children);
1605
+ if (matchedNode) return matchedNode;
1606
+ }
1607
+ }
1608
+ }
1609
+ propagateUp(node, select) {
1610
+ if (node.children && node.children.length) {
1611
+ let selectedCount = 0;
1612
+ let childPartialSelected = false;
1613
+ for (let child of node.children) if (this.isSelected(child)) selectedCount++;
1614
+ else if (child.partialSelected) childPartialSelected = true;
1615
+ const currentSelection = this.selection() || [];
1616
+ if (select && selectedCount == node.children.length) {
1617
+ this.selection.set([...currentSelection, node]);
1618
+ node.partialSelected = false;
1619
+ } else {
1620
+ if (!select) {
1621
+ let index = this.findIndexInSelection(node);
1622
+ if (index >= 0) this.selection.set(currentSelection.filter((_val, i) => i != index));
1623
+ }
1624
+ if (childPartialSelected || selectedCount > 0 && selectedCount != node.children.length) node.partialSelected = true;
1625
+ else node.partialSelected = false;
1626
+ }
1627
+ this.syncNodeOption(node, this.filteredNodes(), "partialSelected");
1628
+ }
1629
+ let parent = node.parent;
1630
+ if (parent) this.propagateUp(parent, select);
1631
+ }
1632
+ propagateDown(node, select) {
1633
+ let index = this.findIndexInSelection(node);
1634
+ const currentSelection = this.selection() || [];
1635
+ if (select && index == -1) this.selection.set([...currentSelection, node]);
1636
+ else if (!select && index > -1) this.selection.set(currentSelection.filter((_val, i) => i != index));
1637
+ node.partialSelected = false;
1638
+ this.syncNodeOption(node, this.filteredNodes(), "partialSelected");
1639
+ if (node.children && node.children.length) for (let child of node.children) this.propagateDown(child, select);
1640
+ }
1641
+ isSelected(node) {
1642
+ return this.findIndexInSelection(node) != -1;
1643
+ }
1644
+ isSingleSelectionMode() {
1645
+ return this.selectionMode() && this.selectionMode() == "single";
1646
+ }
1647
+ isMultipleSelectionMode() {
1648
+ return this.selectionMode() && this.selectionMode() == "multiple";
1649
+ }
1650
+ isCheckboxSelectionMode() {
1651
+ return this.selectionMode() && this.selectionMode() == "checkbox";
1652
+ }
1653
+ isNodeLeaf(node) {
1654
+ return node.leaf == false ? false : !(node.children && node.children.length);
1655
+ }
1656
+ getRootNode() {
1657
+ return this.filteredNodes() ? this.filteredNodes() : this.value();
1658
+ }
1659
+ getTemplateForNode(node) {
1660
+ return this.nodeTemplate() ?? null;
1661
+ }
1662
+ onDragOver(event) {
1663
+ if (this.droppableNodes() && this.allowDrop(this.dragNode, null, this.dragNodeScope)) {
1664
+ event.dataTransfer.dropEffect = "copy";
1665
+ event.preventDefault();
1666
+ }
1667
+ }
1668
+ onDrop(event) {
1669
+ if (this.droppableNodes()) {
1670
+ event.preventDefault();
1671
+ let dragNode = this.dragNode;
1672
+ if (this.isSameTreeScope(this.dragNodeScope)) return;
1673
+ if (this.allowDrop(dragNode, null, this.dragNodeScope)) {
1674
+ let dragNodeIndex = this.dragNodeIndex;
1675
+ if (this.validateDrop()) this.onNodeDrop.emit({
1676
+ originalEvent: event,
1677
+ dragNode,
1678
+ dropNode: null,
1679
+ index: dragNodeIndex,
1680
+ accept: () => {
1681
+ this.processTreeDrop(dragNode, dragNodeIndex);
1682
+ }
1683
+ });
1684
+ else {
1685
+ this.onNodeDrop.emit({
1686
+ originalEvent: event,
1687
+ dragNode,
1688
+ dropNode: null,
1689
+ index: dragNodeIndex
1690
+ });
1691
+ this.processTreeDrop(dragNode, dragNodeIndex);
1692
+ }
1693
+ }
1694
+ }
1695
+ }
1696
+ processTreeDrop(dragNode, dragNodeIndex) {
1697
+ const subNodes = this.dragNodeSubNodes;
1698
+ const removalIndex = subNodes ? subNodes.indexOf(dragNode) : -1;
1699
+ if (removalIndex !== -1) subNodes.splice(removalIndex, 1);
1700
+ this.value().push(dragNode);
1701
+ this.dragDropService.stopDrag({ node: dragNode });
1702
+ }
1703
+ onDragEnter() {
1704
+ if (this.droppableNodes() && this.allowDrop(this.dragNode, null, this.dragNodeScope)) this.dragHover = true;
1705
+ }
1706
+ onDragLeave(event) {
1707
+ if (this.droppableNodes()) {
1708
+ let rect = event.currentTarget.getBoundingClientRect();
1709
+ if (event.x > parseInt(rect.left) + rect.width || event.x < parseInt(rect.left) || event.y > parseInt(rect.top) + rect.height || event.y < parseInt(rect.top)) this.dragHover = false;
1710
+ }
1711
+ }
1712
+ allowDrop(dragNode, dropNode, dragNodeScope) {
1713
+ if (!dragNode) return false;
1714
+ else if (this.isValidDragScope(dragNodeScope)) {
1715
+ let allow = true;
1716
+ if (dropNode) {
1717
+ if (dragNode === this.getOriginalNode(dropNode)) allow = false;
1718
+ else {
1719
+ let parent = dropNode.parent;
1720
+ while (parent != null) {
1721
+ if (this.getOriginalNode(parent) === dragNode) {
1722
+ allow = false;
1723
+ break;
1724
+ }
1725
+ parent = parent.parent;
1726
+ }
1727
+ }
1728
+ }
1729
+ return allow;
1730
+ } else return false;
1731
+ }
1732
+ hasCommonScope(dragScope, dropScope) {
1733
+ if (typeof dropScope === "string") {
1734
+ if (typeof dragScope === "string") return dropScope === dragScope;
1735
+ else if (Array.isArray(dragScope)) return dragScope.indexOf(dropScope) != -1;
1736
+ } else if (Array.isArray(dropScope)) {
1737
+ if (typeof dragScope === "string") return dropScope.indexOf(dragScope) != -1;
1738
+ else if (Array.isArray(dragScope)) {
1739
+ for (let s of dropScope) for (let ds of dragScope) if (s === ds) return true;
1740
+ }
1741
+ }
1742
+ return false;
1743
+ }
1744
+ isSameTreeScope(dragScope) {
1745
+ return this.hasCommonScope(dragScope, this.draggableScope());
1746
+ }
1747
+ isValidDragScope(dragScope) {
1748
+ let dropScope = this.droppableScope();
1749
+ if (dropScope) return this.hasCommonScope(dragScope, dropScope);
1750
+ else return true;
1751
+ }
1752
+ _filter(value) {
1753
+ let filterValue = value;
1754
+ if (filterValue === "") this.filteredNodes.set(null);
1755
+ else {
1756
+ const filteredNodes = [];
1757
+ const searchFields = this.filterBy().split(",");
1758
+ const filterText = removeAccents(filterValue).toLocaleLowerCase(this.filterLocale());
1759
+ const isStrictMode = this.filterMode() === "strict";
1760
+ for (let node of this.value()) {
1761
+ let copyNode = { ...node };
1762
+ this.filteredNodeOrigins.set(copyNode, node);
1763
+ let paramsWithoutNode = {
1764
+ searchFields,
1765
+ filterText,
1766
+ isStrictMode
1767
+ };
1768
+ if (isStrictMode && (this.findFilteredNodes(copyNode, paramsWithoutNode) || this.isFilterMatched(copyNode, paramsWithoutNode)) || !isStrictMode && (this.isFilterMatched(copyNode, paramsWithoutNode) || this.findFilteredNodes(copyNode, paramsWithoutNode))) filteredNodes.push(copyNode);
1769
+ }
1770
+ this.filteredNodes.set(filteredNodes);
1771
+ }
1772
+ this.updateSerializedValue();
1773
+ this.onFilter.emit({
1774
+ filter: filterValue,
1775
+ filteredValue: this.filteredNodes()
1776
+ });
1777
+ }
1778
+ resetFilter() {
1779
+ this.filteredNodes.set(null);
1780
+ const filterEl = this.filterViewChild();
1781
+ if (filterEl && filterEl.nativeElement) filterEl.nativeElement.value = "";
1782
+ }
1783
+ scrollToVirtualIndex(index) {
1784
+ if (this.virtualScroll()) this.scroller()?.scrollToIndex(index);
1785
+ }
1786
+ scrollTo(options) {
1787
+ if (this.virtualScroll()) this.scroller()?.scrollTo(options);
1788
+ else {
1789
+ const wrapper = this.wrapperViewChild();
1790
+ if (wrapper && wrapper.nativeElement) {
1791
+ if (wrapper.nativeElement.scrollTo) wrapper.nativeElement.scrollTo(options);
1792
+ else {
1793
+ wrapper.nativeElement.scrollLeft = options.left;
1794
+ wrapper.nativeElement.scrollTop = options.top;
1795
+ }
1796
+ }
1797
+ }
1798
+ }
1799
+ findFilteredNodes(node, paramsWithoutNode) {
1800
+ if (node) {
1801
+ let matched = false;
1802
+ if (node.children) {
1803
+ let childNodes = [...node.children];
1804
+ node.children = [];
1805
+ for (let childNode of childNodes) {
1806
+ let copyChildNode = { ...childNode };
1807
+ this.filteredNodeOrigins.set(copyChildNode, this.getOriginalNode(childNode));
1808
+ if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {
1809
+ matched = true;
1810
+ node.children.push(copyChildNode);
1811
+ }
1812
+ }
1813
+ }
1814
+ if (matched) {
1815
+ node.expanded = true;
1816
+ return true;
1817
+ }
1818
+ }
1819
+ }
1820
+ isFilterMatched(node, params) {
1821
+ let { searchFields, filterText, isStrictMode } = params;
1822
+ let matched = false;
1823
+ for (let field of searchFields) if (removeAccents(String(resolveFieldData(node, field))).toLocaleLowerCase(this.filterLocale()).indexOf(filterText) > -1) matched = true;
1824
+ if (!matched || isStrictMode && !this.isNodeLeaf(node)) matched = this.findFilteredNodes(node, {
1825
+ searchFields,
1826
+ filterText,
1827
+ isStrictMode
1828
+ }) || matched;
1829
+ return matched;
1830
+ }
1831
+ getIndex(options, index) {
1832
+ const getItemOptions = options["getItemOptions"];
1833
+ return getItemOptions ? getItemOptions(index).index : index;
1834
+ }
1835
+ getBlockableElement() {
1836
+ return this.el.nativeElement.children[0];
1837
+ }
1838
+ get containerDataP() {
1839
+ return this.cn({
1840
+ loading: this.loading(),
1841
+ scrollable: this.scrollHeight() === "flex"
1842
+ });
1843
+ }
1844
+ get wrapperDataP() {
1845
+ return this.cn({ scrollable: this.scrollHeight() === "flex" });
1846
+ }
1847
+ static ɵfac = i0.ɵɵngDeclareFactory({
1848
+ minVersion: "12.0.0",
1849
+ version: "22.2.0",
1850
+ ngImport: i0,
1851
+ type: Tree,
1852
+ deps: [],
1853
+ target: i0.ɵɵFactoryTarget.Component
1854
+ });
1855
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1856
+ minVersion: "17.0.0",
1857
+ version: "22.2.0",
1858
+ type: Tree,
1859
+ isStandalone: true,
1860
+ selector: "p-tree",
1861
+ inputs: {
1862
+ value: {
1863
+ classPropertyName: "value",
1864
+ publicName: "value",
1865
+ isSignal: true,
1866
+ isRequired: false,
1867
+ transformFunction: null
1868
+ },
1869
+ selectionMode: {
1870
+ classPropertyName: "selectionMode",
1871
+ publicName: "selectionMode",
1872
+ isSignal: true,
1873
+ isRequired: false,
1874
+ transformFunction: null
1875
+ },
1876
+ loadingMode: {
1877
+ classPropertyName: "loadingMode",
1878
+ publicName: "loadingMode",
1879
+ isSignal: true,
1880
+ isRequired: false,
1881
+ transformFunction: null
1882
+ },
1883
+ selection: {
1884
+ classPropertyName: "selection",
1885
+ publicName: "selection",
1886
+ isSignal: true,
1887
+ isRequired: false,
1888
+ transformFunction: null
1889
+ },
1890
+ collapsedKeys: {
1891
+ classPropertyName: "collapsedKeys",
1892
+ publicName: "collapsedKeys",
1893
+ isSignal: true,
1894
+ isRequired: false,
1895
+ transformFunction: null
1896
+ },
1897
+ selectionKeys: {
1898
+ classPropertyName: "selectionKeys",
1899
+ publicName: "selectionKeys",
1900
+ isSignal: true,
1901
+ isRequired: false,
1902
+ transformFunction: null
1903
+ },
1904
+ contextMenu: {
1905
+ classPropertyName: "contextMenu",
1906
+ publicName: "contextMenu",
1907
+ isSignal: true,
1908
+ isRequired: false,
1909
+ transformFunction: null
1910
+ },
1911
+ contextMenuSelection: {
1912
+ classPropertyName: "contextMenuSelection",
1913
+ publicName: "contextMenuSelection",
1914
+ isSignal: true,
1915
+ isRequired: false,
1916
+ transformFunction: null
1917
+ },
1918
+ draggableScope: {
1919
+ classPropertyName: "draggableScope",
1920
+ publicName: "draggableScope",
1921
+ isSignal: true,
1922
+ isRequired: false,
1923
+ transformFunction: null
1924
+ },
1925
+ droppableScope: {
1926
+ classPropertyName: "droppableScope",
1927
+ publicName: "droppableScope",
1928
+ isSignal: true,
1929
+ isRequired: false,
1930
+ transformFunction: null
1931
+ },
1932
+ draggableNodes: {
1933
+ classPropertyName: "draggableNodes",
1934
+ publicName: "draggableNodes",
1935
+ isSignal: true,
1936
+ isRequired: false,
1937
+ transformFunction: null
1938
+ },
1939
+ droppableNodes: {
1940
+ classPropertyName: "droppableNodes",
1941
+ publicName: "droppableNodes",
1942
+ isSignal: true,
1943
+ isRequired: false,
1944
+ transformFunction: null
1945
+ },
1946
+ metaKeySelection: {
1947
+ classPropertyName: "metaKeySelection",
1948
+ publicName: "metaKeySelection",
1949
+ isSignal: true,
1950
+ isRequired: false,
1951
+ transformFunction: null
1952
+ },
1953
+ propagateSelectionUp: {
1954
+ classPropertyName: "propagateSelectionUp",
1955
+ publicName: "propagateSelectionUp",
1956
+ isSignal: true,
1957
+ isRequired: false,
1958
+ transformFunction: null
1959
+ },
1960
+ propagateSelectionDown: {
1961
+ classPropertyName: "propagateSelectionDown",
1962
+ publicName: "propagateSelectionDown",
1963
+ isSignal: true,
1964
+ isRequired: false,
1965
+ transformFunction: null
1966
+ },
1967
+ loading: {
1968
+ classPropertyName: "loading",
1969
+ publicName: "loading",
1970
+ isSignal: true,
1971
+ isRequired: false,
1972
+ transformFunction: null
1973
+ },
1974
+ loadingIcon: {
1975
+ classPropertyName: "loadingIcon",
1976
+ publicName: "loadingIcon",
1977
+ isSignal: true,
1978
+ isRequired: false,
1979
+ transformFunction: null
1980
+ },
1981
+ emptyMessage: {
1982
+ classPropertyName: "emptyMessage",
1983
+ publicName: "emptyMessage",
1984
+ isSignal: true,
1985
+ isRequired: false,
1986
+ transformFunction: null
1987
+ },
1988
+ ariaLabel: {
1989
+ classPropertyName: "ariaLabel",
1990
+ publicName: "ariaLabel",
1991
+ isSignal: true,
1992
+ isRequired: false,
1993
+ transformFunction: null
1994
+ },
1995
+ togglerAriaLabel: {
1996
+ classPropertyName: "togglerAriaLabel",
1997
+ publicName: "togglerAriaLabel",
1998
+ isSignal: true,
1999
+ isRequired: false,
2000
+ transformFunction: null
2001
+ },
2002
+ ariaLabelledBy: {
2003
+ classPropertyName: "ariaLabelledBy",
2004
+ publicName: "ariaLabelledBy",
2005
+ isSignal: true,
2006
+ isRequired: false,
2007
+ transformFunction: null
2008
+ },
2009
+ validateDrop: {
2010
+ classPropertyName: "validateDrop",
2011
+ publicName: "validateDrop",
2012
+ isSignal: true,
2013
+ isRequired: false,
2014
+ transformFunction: null
2015
+ },
2016
+ filter: {
2017
+ classPropertyName: "filter",
2018
+ publicName: "filter",
2019
+ isSignal: true,
2020
+ isRequired: false,
2021
+ transformFunction: null
2022
+ },
2023
+ filterInputAutoFocus: {
2024
+ classPropertyName: "filterInputAutoFocus",
2025
+ publicName: "filterInputAutoFocus",
2026
+ isSignal: true,
2027
+ isRequired: false,
2028
+ transformFunction: null
2029
+ },
2030
+ filterBy: {
2031
+ classPropertyName: "filterBy",
2032
+ publicName: "filterBy",
2033
+ isSignal: true,
2034
+ isRequired: false,
2035
+ transformFunction: null
2036
+ },
2037
+ filterMode: {
2038
+ classPropertyName: "filterMode",
2039
+ publicName: "filterMode",
2040
+ isSignal: true,
2041
+ isRequired: false,
2042
+ transformFunction: null
2043
+ },
2044
+ filterPlaceholder: {
2045
+ classPropertyName: "filterPlaceholder",
2046
+ publicName: "filterPlaceholder",
2047
+ isSignal: true,
2048
+ isRequired: false,
2049
+ transformFunction: null
2050
+ },
2051
+ filteredNodes: {
2052
+ classPropertyName: "filteredNodes",
2053
+ publicName: "filteredNodes",
2054
+ isSignal: true,
2055
+ isRequired: false,
2056
+ transformFunction: null
2057
+ },
2058
+ filterLocale: {
2059
+ classPropertyName: "filterLocale",
2060
+ publicName: "filterLocale",
2061
+ isSignal: true,
2062
+ isRequired: false,
2063
+ transformFunction: null
2064
+ },
2065
+ scrollHeight: {
2066
+ classPropertyName: "scrollHeight",
2067
+ publicName: "scrollHeight",
2068
+ isSignal: true,
2069
+ isRequired: false,
2070
+ transformFunction: null
2071
+ },
2072
+ lazy: {
2073
+ classPropertyName: "lazy",
2074
+ publicName: "lazy",
2075
+ isSignal: true,
2076
+ isRequired: false,
2077
+ transformFunction: null
2078
+ },
2079
+ virtualScroll: {
2080
+ classPropertyName: "virtualScroll",
2081
+ publicName: "virtualScroll",
2082
+ isSignal: true,
2083
+ isRequired: false,
2084
+ transformFunction: null
2085
+ },
2086
+ virtualScrollItemSize: {
2087
+ classPropertyName: "virtualScrollItemSize",
2088
+ publicName: "virtualScrollItemSize",
2089
+ isSignal: true,
2090
+ isRequired: false,
2091
+ transformFunction: null
2092
+ },
2093
+ virtualScrollOptions: {
2094
+ classPropertyName: "virtualScrollOptions",
2095
+ publicName: "virtualScrollOptions",
2096
+ isSignal: true,
2097
+ isRequired: false,
2098
+ transformFunction: null
2099
+ },
2100
+ indentation: {
2101
+ classPropertyName: "indentation",
2102
+ publicName: "indentation",
2103
+ isSignal: true,
2104
+ isRequired: false,
2105
+ transformFunction: null
2106
+ },
2107
+ trackBy: {
2108
+ classPropertyName: "trackBy",
2109
+ publicName: "trackBy",
2110
+ isSignal: true,
2111
+ isRequired: false,
2112
+ transformFunction: null
2113
+ },
2114
+ highlightOnSelect: {
2115
+ classPropertyName: "highlightOnSelect",
2116
+ publicName: "highlightOnSelect",
2117
+ isSignal: true,
2118
+ isRequired: false,
2119
+ transformFunction: null
2120
+ }
2121
+ },
2122
+ outputs: {
2123
+ selection: "selectionChange",
2124
+ collapsedKeys: "collapsedKeysChange",
2125
+ selectionKeys: "selectionKeysChange",
2126
+ contextMenuSelection: "contextMenuSelectionChange",
2127
+ filteredNodes: "filteredNodesChange",
2128
+ onNodeSelect: "onNodeSelect",
2129
+ onNodeUnselect: "onNodeUnselect",
2130
+ onNodeExpand: "onNodeExpand",
2131
+ onNodeCollapse: "onNodeCollapse",
2132
+ onNodeContextMenuSelect: "onNodeContextMenuSelect",
2133
+ onNodeDoubleClick: "onNodeDoubleClick",
2134
+ onNodeDrop: "onNodeDrop",
2135
+ onLazyLoad: "onLazyLoad",
2136
+ onScroll: "onScroll",
2137
+ onScrollIndexChange: "onScrollIndexChange",
2138
+ onFilter: "onFilter"
2139
+ },
2140
+ host: {
2141
+ listeners: {
2142
+ "drop": "onDrop($event)",
2143
+ "dragover": "onDragOver($event)",
2144
+ "dragenter": "onDragEnter()",
2145
+ "dragleave": "onDragLeave($event)"
2146
+ },
2147
+ properties: {
2148
+ "class": "cx('root')",
2149
+ "attr.data-p": "containerDataP"
2150
+ }
2151
+ },
2152
+ providers: [
2153
+ TreeStyle,
2154
+ {
2155
+ provide: TREE_INSTANCE,
2156
+ useExisting: Tree
2157
+ },
2158
+ {
2159
+ provide: PARENT_INSTANCE,
2160
+ useExisting: Tree
2161
+ }
2162
+ ],
2163
+ queries: [
2164
+ {
2165
+ propertyName: "filterTemplate",
2166
+ first: true,
2167
+ predicate: ["filter"],
2168
+ isSignal: true
2169
+ },
2170
+ {
2171
+ propertyName: "nodeTemplate",
2172
+ first: true,
2173
+ predicate: ["node"],
2174
+ isSignal: true
2175
+ },
2176
+ {
2177
+ propertyName: "headerTemplate",
2178
+ first: true,
2179
+ predicate: ["header"],
2180
+ isSignal: true
2181
+ },
2182
+ {
2183
+ propertyName: "footerTemplate",
2184
+ first: true,
2185
+ predicate: ["footer"],
2186
+ isSignal: true
2187
+ },
2188
+ {
2189
+ propertyName: "loaderTemplate",
2190
+ first: true,
2191
+ predicate: ["loader"],
2192
+ isSignal: true
2193
+ },
2194
+ {
2195
+ propertyName: "emptyTemplate",
2196
+ first: true,
2197
+ predicate: ["empty"],
2198
+ isSignal: true
2199
+ },
2200
+ {
2201
+ propertyName: "togglerIconTemplate",
2202
+ first: true,
2203
+ predicate: ["togglericon"],
2204
+ isSignal: true
2205
+ },
2206
+ {
2207
+ propertyName: "checkboxIconTemplate",
2208
+ first: true,
2209
+ predicate: ["checkboxicon"],
2210
+ isSignal: true
2211
+ },
2212
+ {
2213
+ propertyName: "loadingIconTemplate",
2214
+ first: true,
2215
+ predicate: ["loadingicon"],
2216
+ isSignal: true
2217
+ },
2218
+ {
2219
+ propertyName: "filterIconTemplate",
2220
+ first: true,
2221
+ predicate: ["filtericon"],
2222
+ isSignal: true
2223
+ }
2224
+ ],
2225
+ viewQueries: [
2226
+ {
2227
+ propertyName: "filterViewChild",
2228
+ first: true,
2229
+ predicate: ["filter"],
2230
+ descendants: true,
2231
+ isSignal: true
2232
+ },
2233
+ {
2234
+ propertyName: "scroller",
2235
+ first: true,
2236
+ predicate: ["scroller"],
2237
+ descendants: true,
2238
+ isSignal: true
2239
+ },
2240
+ {
2241
+ propertyName: "wrapperViewChild",
2242
+ first: true,
2243
+ predicate: ["wrapper"],
2244
+ descendants: true,
2245
+ isSignal: true
2246
+ },
2247
+ {
2248
+ propertyName: "contentViewChild",
2249
+ first: true,
2250
+ predicate: ["content"],
2251
+ descendants: true,
2252
+ isSignal: true
2253
+ }
2254
+ ],
2255
+ usesInheritance: true,
2256
+ hostDirectives: [{ directive: i1.Bind }],
2257
+ ngImport: i0,
2258
+ template: `
2072
2259
  @if (showLoadingMask()) {
2073
2260
  <div [class]="cx('mask')" [pBind]="ptm('mask')" animate.enter="p-overlay-mask-enter-active" animate.leave="p-overlay-mask-leave-active">
2074
2261
  @if (loadingIcon()) {
@@ -2200,15 +2387,155 @@ class Tree extends BaseComponent {
2200
2387
  </div>
2201
2388
  }
2202
2389
  <ng-container *ngTemplateOutlet="footerTemplate()"></ng-container>
2203
- `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller", 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: "component", type: Search, selector: "svg[data-p-icon=\"search\"]" }, { kind: "component", type: Spinner, selector: "svg[data-p-icon=\"spinner\"]" }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: IconField, selector: "p-iconfield, p-icon-field", inputs: ["hostName", "iconPosition"] }, { kind: "component", type: InputIcon, selector: "p-inputicon", inputs: ["hostName"] }, { 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: i2.AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "directive", type: Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2204
- }
2205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Tree, decorators: [{
2206
- type: Component,
2207
- args: [{
2208
- selector: 'p-tree',
2209
- standalone: true,
2210
- imports: [NgTemplateOutlet, Scroller, Search, Spinner, InputText, IconField, InputIcon, UITreeNode, AutoFocusModule, Bind],
2211
- template: `
2390
+ `,
2391
+ isInline: true,
2392
+ dependencies: [
2393
+ {
2394
+ kind: "directive",
2395
+ type: NgTemplateOutlet,
2396
+ selector: "[ngTemplateOutlet]",
2397
+ inputs: [
2398
+ "ngTemplateOutletContext",
2399
+ "ngTemplateOutlet",
2400
+ "ngTemplateOutletInjector"
2401
+ ]
2402
+ },
2403
+ {
2404
+ kind: "component",
2405
+ type: Scroller,
2406
+ selector: "p-scroller, p-virtualscroller, p-virtual-scroller",
2407
+ inputs: [
2408
+ "hostName",
2409
+ "id",
2410
+ "style",
2411
+ "styleClass",
2412
+ "tabindex",
2413
+ "items",
2414
+ "itemSize",
2415
+ "scrollHeight",
2416
+ "scrollWidth",
2417
+ "orientation",
2418
+ "step",
2419
+ "delay",
2420
+ "resizeDelay",
2421
+ "appendOnly",
2422
+ "inline",
2423
+ "lazy",
2424
+ "disabled",
2425
+ "loaderDisabled",
2426
+ "columns",
2427
+ "showSpacer",
2428
+ "showLoader",
2429
+ "numToleratedItems",
2430
+ "loading",
2431
+ "autoSize",
2432
+ "trackBy",
2433
+ "options"
2434
+ ],
2435
+ outputs: [
2436
+ "onLazyLoad",
2437
+ "onScroll",
2438
+ "onScrollIndexChange"
2439
+ ]
2440
+ },
2441
+ {
2442
+ kind: "component",
2443
+ type: Search,
2444
+ selector: "svg[data-p-icon=\"search\"]"
2445
+ },
2446
+ {
2447
+ kind: "component",
2448
+ type: Spinner,
2449
+ selector: "svg[data-p-icon=\"spinner\"]"
2450
+ },
2451
+ {
2452
+ kind: "directive",
2453
+ type: InputText,
2454
+ selector: "[pInputText]",
2455
+ inputs: [
2456
+ "hostName",
2457
+ "pInputTextPT",
2458
+ "pInputTextUnstyled",
2459
+ "pSize",
2460
+ "variant",
2461
+ "fluid",
2462
+ "invalid"
2463
+ ]
2464
+ },
2465
+ {
2466
+ kind: "component",
2467
+ type: IconField,
2468
+ selector: "p-iconfield, p-icon-field",
2469
+ inputs: ["hostName", "iconPosition"]
2470
+ },
2471
+ {
2472
+ kind: "component",
2473
+ type: InputIcon,
2474
+ selector: "p-inputicon",
2475
+ inputs: ["hostName"]
2476
+ },
2477
+ {
2478
+ kind: "component",
2479
+ type: UITreeNode,
2480
+ selector: "p-treenode",
2481
+ inputs: [
2482
+ "rowNode",
2483
+ "node",
2484
+ "parentNode",
2485
+ "root",
2486
+ "index",
2487
+ "firstChild",
2488
+ "lastChild",
2489
+ "level",
2490
+ "indentation",
2491
+ "itemSize",
2492
+ "loadingMode"
2493
+ ]
2494
+ },
2495
+ {
2496
+ kind: "ngmodule",
2497
+ type: AutoFocusModule
2498
+ },
2499
+ {
2500
+ kind: "directive",
2501
+ type: i2.AutoFocus,
2502
+ selector: "[pAutoFocus]",
2503
+ inputs: ["pAutoFocus"]
2504
+ },
2505
+ {
2506
+ kind: "directive",
2507
+ type: Bind,
2508
+ selector: "[pBind]",
2509
+ inputs: ["pBind"]
2510
+ }
2511
+ ],
2512
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2513
+ encapsulation: i0.ViewEncapsulation.None
2514
+ });
2515
+ };
2516
+ i0.ɵɵngDeclareClassMetadata({
2517
+ minVersion: "12.0.0",
2518
+ version: "22.2.0",
2519
+ ngImport: i0,
2520
+ type: Tree,
2521
+ decorators: [{
2522
+ type: Component,
2523
+ args: [{
2524
+ selector: "p-tree",
2525
+ standalone: true,
2526
+ imports: [
2527
+ NgTemplateOutlet,
2528
+ Scroller,
2529
+ Search,
2530
+ Spinner,
2531
+ InputText,
2532
+ IconField,
2533
+ InputIcon,
2534
+ UITreeNode,
2535
+ AutoFocusModule,
2536
+ Bind
2537
+ ],
2538
+ template: `
2212
2539
  @if (showLoadingMask()) {
2213
2540
  <div [class]="cx('mask')" [pBind]="ptm('mask')" animate.enter="p-overlay-mask-enter-active" animate.leave="p-overlay-mask-leave-active">
2214
2541
  @if (loadingIcon()) {
@@ -2341,36 +2668,513 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2341
2668
  }
2342
2669
  <ng-container *ngTemplateOutlet="footerTemplate()"></ng-container>
2343
2670
  `,
2344
- changeDetection: ChangeDetectionStrategy.OnPush,
2345
- encapsulation: ViewEncapsulation.None,
2346
- providers: [TreeStyle, { provide: TREE_INSTANCE, useExisting: Tree }, { provide: PARENT_INSTANCE, useExisting: Tree }],
2347
- host: {
2348
- '[class]': "cx('root')",
2349
- '[attr.data-p]': 'containerDataP',
2350
- '(drop)': 'onDrop($event)',
2351
- '(dragover)': 'onDragOver($event)',
2352
- '(dragenter)': 'onDragEnter()',
2353
- '(dragleave)': 'onDragLeave($event)'
2354
- },
2355
- hostDirectives: [Bind]
2356
- }]
2357
- }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], selectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionMode", required: false }] }], loadingMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingMode", required: false }] }], selection: [{ type: i0.Input, args: [{ isSignal: true, alias: "selection", required: false }] }, { type: i0.Output, args: ["selectionChange"] }], collapsedKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsedKeys", required: false }] }, { type: i0.Output, args: ["collapsedKeysChange"] }], selectionKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionKeys", required: false }] }, { type: i0.Output, args: ["selectionKeysChange"] }], contextMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextMenu", required: false }] }], contextMenuSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextMenuSelection", required: false }] }, { type: i0.Output, args: ["contextMenuSelectionChange"] }], draggableScope: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggableScope", required: false }] }], droppableScope: [{ type: i0.Input, args: [{ isSignal: true, alias: "droppableScope", required: false }] }], draggableNodes: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggableNodes", required: false }] }], droppableNodes: [{ type: i0.Input, args: [{ isSignal: true, alias: "droppableNodes", required: false }] }], metaKeySelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "metaKeySelection", required: false }] }], propagateSelectionUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "propagateSelectionUp", required: false }] }], propagateSelectionDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "propagateSelectionDown", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], loadingIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingIcon", required: false }] }], emptyMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyMessage", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], togglerAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "togglerAriaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], validateDrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "validateDrop", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], filterInputAutoFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterInputAutoFocus", required: false }] }], filterBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterBy", required: false }] }], filterMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterMode", required: false }] }], filterPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterPlaceholder", required: false }] }], filteredNodes: [{ type: i0.Input, args: [{ isSignal: true, alias: "filteredNodes", required: false }] }, { type: i0.Output, args: ["filteredNodesChange"] }], filterLocale: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterLocale", required: false }] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], lazy: [{ type: i0.Input, args: [{ isSignal: true, alias: "lazy", required: false }] }], virtualScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScroll", required: false }] }], virtualScrollItemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScrollItemSize", required: false }] }], virtualScrollOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScrollOptions", required: false }] }], indentation: [{ type: i0.Input, args: [{ isSignal: true, alias: "indentation", required: false }] }], trackBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "trackBy", required: false }] }], highlightOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlightOnSelect", required: false }] }], onNodeSelect: [{ type: i0.Output, args: ["onNodeSelect"] }], onNodeUnselect: [{ type: i0.Output, args: ["onNodeUnselect"] }], onNodeExpand: [{ type: i0.Output, args: ["onNodeExpand"] }], onNodeCollapse: [{ type: i0.Output, args: ["onNodeCollapse"] }], onNodeContextMenuSelect: [{ type: i0.Output, args: ["onNodeContextMenuSelect"] }], onNodeDoubleClick: [{ type: i0.Output, args: ["onNodeDoubleClick"] }], onNodeDrop: [{ type: i0.Output, args: ["onNodeDrop"] }], onLazyLoad: [{ type: i0.Output, args: ["onLazyLoad"] }], onScroll: [{ type: i0.Output, args: ["onScroll"] }], onScrollIndexChange: [{ type: i0.Output, args: ["onScrollIndexChange"] }], onFilter: [{ type: i0.Output, args: ["onFilter"] }], filterTemplate: [{ type: i0.ContentChild, args: ['filter', { ...{ descendants: false }, isSignal: true }] }], nodeTemplate: [{ type: i0.ContentChild, args: ['node', { ...{ descendants: false }, isSignal: true }] }], headerTemplate: [{ type: i0.ContentChild, args: ['header', { ...{ descendants: false }, isSignal: true }] }], footerTemplate: [{ type: i0.ContentChild, args: ['footer', { ...{ descendants: false }, isSignal: true }] }], loaderTemplate: [{ type: i0.ContentChild, args: ['loader', { ...{ descendants: false }, isSignal: true }] }], emptyTemplate: [{ type: i0.ContentChild, args: ['empty', { ...{ descendants: false }, isSignal: true }] }], togglerIconTemplate: [{ type: i0.ContentChild, args: ['togglericon', { ...{ descendants: false }, isSignal: true }] }], checkboxIconTemplate: [{ type: i0.ContentChild, args: ['checkboxicon', { ...{ descendants: false }, isSignal: true }] }], loadingIconTemplate: [{ type: i0.ContentChild, args: ['loadingicon', { ...{ descendants: false }, isSignal: true }] }], filterIconTemplate: [{ type: i0.ContentChild, args: ['filtericon', { ...{ descendants: false }, isSignal: true }] }], filterViewChild: [{ type: i0.ViewChild, args: ['filter', { isSignal: true }] }], scroller: [{ type: i0.ViewChild, args: ['scroller', { isSignal: true }] }], wrapperViewChild: [{ type: i0.ViewChild, args: ['wrapper', { isSignal: true }] }], contentViewChild: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }] } });
2358
- class TreeModule {
2359
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2360
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.5", ngImport: i0, type: TreeModule, imports: [Tree], exports: [Tree] });
2361
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: TreeModule, imports: [Tree] });
2362
- }
2363
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: TreeModule, decorators: [{
2364
- type: NgModule,
2365
- args: [{
2366
- imports: [Tree],
2367
- exports: [Tree]
2368
- }]
2369
- }] });
2370
-
2371
- /**
2372
- * Generated bundle index. Do not edit.
2373
- */
2374
-
2671
+ changeDetection: ChangeDetectionStrategy.OnPush,
2672
+ encapsulation: ViewEncapsulation.None,
2673
+ providers: [
2674
+ TreeStyle,
2675
+ {
2676
+ provide: TREE_INSTANCE,
2677
+ useExisting: Tree
2678
+ },
2679
+ {
2680
+ provide: PARENT_INSTANCE,
2681
+ useExisting: Tree
2682
+ }
2683
+ ],
2684
+ host: {
2685
+ "[class]": "cx('root')",
2686
+ "[attr.data-p]": "containerDataP",
2687
+ "(drop)": "onDrop($event)",
2688
+ "(dragover)": "onDragOver($event)",
2689
+ "(dragenter)": "onDragEnter()",
2690
+ "(dragleave)": "onDragLeave($event)"
2691
+ },
2692
+ hostDirectives: [Bind]
2693
+ }]
2694
+ }],
2695
+ ctorParameters: () => [],
2696
+ propDecorators: {
2697
+ value: [{
2698
+ type: i0.Input,
2699
+ args: [{
2700
+ isSignal: true,
2701
+ alias: "value",
2702
+ required: false
2703
+ }]
2704
+ }],
2705
+ selectionMode: [{
2706
+ type: i0.Input,
2707
+ args: [{
2708
+ isSignal: true,
2709
+ alias: "selectionMode",
2710
+ required: false
2711
+ }]
2712
+ }],
2713
+ loadingMode: [{
2714
+ type: i0.Input,
2715
+ args: [{
2716
+ isSignal: true,
2717
+ alias: "loadingMode",
2718
+ required: false
2719
+ }]
2720
+ }],
2721
+ selection: [{
2722
+ type: i0.Input,
2723
+ args: [{
2724
+ isSignal: true,
2725
+ alias: "selection",
2726
+ required: false
2727
+ }]
2728
+ }, {
2729
+ type: i0.Output,
2730
+ args: ["selectionChange"]
2731
+ }],
2732
+ collapsedKeys: [{
2733
+ type: i0.Input,
2734
+ args: [{
2735
+ isSignal: true,
2736
+ alias: "collapsedKeys",
2737
+ required: false
2738
+ }]
2739
+ }, {
2740
+ type: i0.Output,
2741
+ args: ["collapsedKeysChange"]
2742
+ }],
2743
+ selectionKeys: [{
2744
+ type: i0.Input,
2745
+ args: [{
2746
+ isSignal: true,
2747
+ alias: "selectionKeys",
2748
+ required: false
2749
+ }]
2750
+ }, {
2751
+ type: i0.Output,
2752
+ args: ["selectionKeysChange"]
2753
+ }],
2754
+ contextMenu: [{
2755
+ type: i0.Input,
2756
+ args: [{
2757
+ isSignal: true,
2758
+ alias: "contextMenu",
2759
+ required: false
2760
+ }]
2761
+ }],
2762
+ contextMenuSelection: [{
2763
+ type: i0.Input,
2764
+ args: [{
2765
+ isSignal: true,
2766
+ alias: "contextMenuSelection",
2767
+ required: false
2768
+ }]
2769
+ }, {
2770
+ type: i0.Output,
2771
+ args: ["contextMenuSelectionChange"]
2772
+ }],
2773
+ draggableScope: [{
2774
+ type: i0.Input,
2775
+ args: [{
2776
+ isSignal: true,
2777
+ alias: "draggableScope",
2778
+ required: false
2779
+ }]
2780
+ }],
2781
+ droppableScope: [{
2782
+ type: i0.Input,
2783
+ args: [{
2784
+ isSignal: true,
2785
+ alias: "droppableScope",
2786
+ required: false
2787
+ }]
2788
+ }],
2789
+ draggableNodes: [{
2790
+ type: i0.Input,
2791
+ args: [{
2792
+ isSignal: true,
2793
+ alias: "draggableNodes",
2794
+ required: false
2795
+ }]
2796
+ }],
2797
+ droppableNodes: [{
2798
+ type: i0.Input,
2799
+ args: [{
2800
+ isSignal: true,
2801
+ alias: "droppableNodes",
2802
+ required: false
2803
+ }]
2804
+ }],
2805
+ metaKeySelection: [{
2806
+ type: i0.Input,
2807
+ args: [{
2808
+ isSignal: true,
2809
+ alias: "metaKeySelection",
2810
+ required: false
2811
+ }]
2812
+ }],
2813
+ propagateSelectionUp: [{
2814
+ type: i0.Input,
2815
+ args: [{
2816
+ isSignal: true,
2817
+ alias: "propagateSelectionUp",
2818
+ required: false
2819
+ }]
2820
+ }],
2821
+ propagateSelectionDown: [{
2822
+ type: i0.Input,
2823
+ args: [{
2824
+ isSignal: true,
2825
+ alias: "propagateSelectionDown",
2826
+ required: false
2827
+ }]
2828
+ }],
2829
+ loading: [{
2830
+ type: i0.Input,
2831
+ args: [{
2832
+ isSignal: true,
2833
+ alias: "loading",
2834
+ required: false
2835
+ }]
2836
+ }],
2837
+ loadingIcon: [{
2838
+ type: i0.Input,
2839
+ args: [{
2840
+ isSignal: true,
2841
+ alias: "loadingIcon",
2842
+ required: false
2843
+ }]
2844
+ }],
2845
+ emptyMessage: [{
2846
+ type: i0.Input,
2847
+ args: [{
2848
+ isSignal: true,
2849
+ alias: "emptyMessage",
2850
+ required: false
2851
+ }]
2852
+ }],
2853
+ ariaLabel: [{
2854
+ type: i0.Input,
2855
+ args: [{
2856
+ isSignal: true,
2857
+ alias: "ariaLabel",
2858
+ required: false
2859
+ }]
2860
+ }],
2861
+ togglerAriaLabel: [{
2862
+ type: i0.Input,
2863
+ args: [{
2864
+ isSignal: true,
2865
+ alias: "togglerAriaLabel",
2866
+ required: false
2867
+ }]
2868
+ }],
2869
+ ariaLabelledBy: [{
2870
+ type: i0.Input,
2871
+ args: [{
2872
+ isSignal: true,
2873
+ alias: "ariaLabelledBy",
2874
+ required: false
2875
+ }]
2876
+ }],
2877
+ validateDrop: [{
2878
+ type: i0.Input,
2879
+ args: [{
2880
+ isSignal: true,
2881
+ alias: "validateDrop",
2882
+ required: false
2883
+ }]
2884
+ }],
2885
+ filter: [{
2886
+ type: i0.Input,
2887
+ args: [{
2888
+ isSignal: true,
2889
+ alias: "filter",
2890
+ required: false
2891
+ }]
2892
+ }],
2893
+ filterInputAutoFocus: [{
2894
+ type: i0.Input,
2895
+ args: [{
2896
+ isSignal: true,
2897
+ alias: "filterInputAutoFocus",
2898
+ required: false
2899
+ }]
2900
+ }],
2901
+ filterBy: [{
2902
+ type: i0.Input,
2903
+ args: [{
2904
+ isSignal: true,
2905
+ alias: "filterBy",
2906
+ required: false
2907
+ }]
2908
+ }],
2909
+ filterMode: [{
2910
+ type: i0.Input,
2911
+ args: [{
2912
+ isSignal: true,
2913
+ alias: "filterMode",
2914
+ required: false
2915
+ }]
2916
+ }],
2917
+ filterPlaceholder: [{
2918
+ type: i0.Input,
2919
+ args: [{
2920
+ isSignal: true,
2921
+ alias: "filterPlaceholder",
2922
+ required: false
2923
+ }]
2924
+ }],
2925
+ filteredNodes: [{
2926
+ type: i0.Input,
2927
+ args: [{
2928
+ isSignal: true,
2929
+ alias: "filteredNodes",
2930
+ required: false
2931
+ }]
2932
+ }, {
2933
+ type: i0.Output,
2934
+ args: ["filteredNodesChange"]
2935
+ }],
2936
+ filterLocale: [{
2937
+ type: i0.Input,
2938
+ args: [{
2939
+ isSignal: true,
2940
+ alias: "filterLocale",
2941
+ required: false
2942
+ }]
2943
+ }],
2944
+ scrollHeight: [{
2945
+ type: i0.Input,
2946
+ args: [{
2947
+ isSignal: true,
2948
+ alias: "scrollHeight",
2949
+ required: false
2950
+ }]
2951
+ }],
2952
+ lazy: [{
2953
+ type: i0.Input,
2954
+ args: [{
2955
+ isSignal: true,
2956
+ alias: "lazy",
2957
+ required: false
2958
+ }]
2959
+ }],
2960
+ virtualScroll: [{
2961
+ type: i0.Input,
2962
+ args: [{
2963
+ isSignal: true,
2964
+ alias: "virtualScroll",
2965
+ required: false
2966
+ }]
2967
+ }],
2968
+ virtualScrollItemSize: [{
2969
+ type: i0.Input,
2970
+ args: [{
2971
+ isSignal: true,
2972
+ alias: "virtualScrollItemSize",
2973
+ required: false
2974
+ }]
2975
+ }],
2976
+ virtualScrollOptions: [{
2977
+ type: i0.Input,
2978
+ args: [{
2979
+ isSignal: true,
2980
+ alias: "virtualScrollOptions",
2981
+ required: false
2982
+ }]
2983
+ }],
2984
+ indentation: [{
2985
+ type: i0.Input,
2986
+ args: [{
2987
+ isSignal: true,
2988
+ alias: "indentation",
2989
+ required: false
2990
+ }]
2991
+ }],
2992
+ trackBy: [{
2993
+ type: i0.Input,
2994
+ args: [{
2995
+ isSignal: true,
2996
+ alias: "trackBy",
2997
+ required: false
2998
+ }]
2999
+ }],
3000
+ highlightOnSelect: [{
3001
+ type: i0.Input,
3002
+ args: [{
3003
+ isSignal: true,
3004
+ alias: "highlightOnSelect",
3005
+ required: false
3006
+ }]
3007
+ }],
3008
+ onNodeSelect: [{
3009
+ type: i0.Output,
3010
+ args: ["onNodeSelect"]
3011
+ }],
3012
+ onNodeUnselect: [{
3013
+ type: i0.Output,
3014
+ args: ["onNodeUnselect"]
3015
+ }],
3016
+ onNodeExpand: [{
3017
+ type: i0.Output,
3018
+ args: ["onNodeExpand"]
3019
+ }],
3020
+ onNodeCollapse: [{
3021
+ type: i0.Output,
3022
+ args: ["onNodeCollapse"]
3023
+ }],
3024
+ onNodeContextMenuSelect: [{
3025
+ type: i0.Output,
3026
+ args: ["onNodeContextMenuSelect"]
3027
+ }],
3028
+ onNodeDoubleClick: [{
3029
+ type: i0.Output,
3030
+ args: ["onNodeDoubleClick"]
3031
+ }],
3032
+ onNodeDrop: [{
3033
+ type: i0.Output,
3034
+ args: ["onNodeDrop"]
3035
+ }],
3036
+ onLazyLoad: [{
3037
+ type: i0.Output,
3038
+ args: ["onLazyLoad"]
3039
+ }],
3040
+ onScroll: [{
3041
+ type: i0.Output,
3042
+ args: ["onScroll"]
3043
+ }],
3044
+ onScrollIndexChange: [{
3045
+ type: i0.Output,
3046
+ args: ["onScrollIndexChange"]
3047
+ }],
3048
+ onFilter: [{
3049
+ type: i0.Output,
3050
+ args: ["onFilter"]
3051
+ }],
3052
+ filterTemplate: [{
3053
+ type: i0.ContentChild,
3054
+ args: ["filter", {
3055
+ descendants: false,
3056
+ isSignal: true
3057
+ }]
3058
+ }],
3059
+ nodeTemplate: [{
3060
+ type: i0.ContentChild,
3061
+ args: ["node", {
3062
+ descendants: false,
3063
+ isSignal: true
3064
+ }]
3065
+ }],
3066
+ headerTemplate: [{
3067
+ type: i0.ContentChild,
3068
+ args: ["header", {
3069
+ descendants: false,
3070
+ isSignal: true
3071
+ }]
3072
+ }],
3073
+ footerTemplate: [{
3074
+ type: i0.ContentChild,
3075
+ args: ["footer", {
3076
+ descendants: false,
3077
+ isSignal: true
3078
+ }]
3079
+ }],
3080
+ loaderTemplate: [{
3081
+ type: i0.ContentChild,
3082
+ args: ["loader", {
3083
+ descendants: false,
3084
+ isSignal: true
3085
+ }]
3086
+ }],
3087
+ emptyTemplate: [{
3088
+ type: i0.ContentChild,
3089
+ args: ["empty", {
3090
+ descendants: false,
3091
+ isSignal: true
3092
+ }]
3093
+ }],
3094
+ togglerIconTemplate: [{
3095
+ type: i0.ContentChild,
3096
+ args: ["togglericon", {
3097
+ descendants: false,
3098
+ isSignal: true
3099
+ }]
3100
+ }],
3101
+ checkboxIconTemplate: [{
3102
+ type: i0.ContentChild,
3103
+ args: ["checkboxicon", {
3104
+ descendants: false,
3105
+ isSignal: true
3106
+ }]
3107
+ }],
3108
+ loadingIconTemplate: [{
3109
+ type: i0.ContentChild,
3110
+ args: ["loadingicon", {
3111
+ descendants: false,
3112
+ isSignal: true
3113
+ }]
3114
+ }],
3115
+ filterIconTemplate: [{
3116
+ type: i0.ContentChild,
3117
+ args: ["filtericon", {
3118
+ descendants: false,
3119
+ isSignal: true
3120
+ }]
3121
+ }],
3122
+ filterViewChild: [{
3123
+ type: i0.ViewChild,
3124
+ args: ["filter", { isSignal: true }]
3125
+ }],
3126
+ scroller: [{
3127
+ type: i0.ViewChild,
3128
+ args: ["scroller", { isSignal: true }]
3129
+ }],
3130
+ wrapperViewChild: [{
3131
+ type: i0.ViewChild,
3132
+ args: ["wrapper", { isSignal: true }]
3133
+ }],
3134
+ contentViewChild: [{
3135
+ type: i0.ViewChild,
3136
+ args: ["content", { isSignal: true }]
3137
+ }]
3138
+ }
3139
+ });
3140
+ var TreeModule = class TreeModule {
3141
+ static ɵfac = i0.ɵɵngDeclareFactory({
3142
+ minVersion: "12.0.0",
3143
+ version: "22.2.0",
3144
+ ngImport: i0,
3145
+ type: TreeModule,
3146
+ deps: [],
3147
+ target: i0.ɵɵFactoryTarget.NgModule
3148
+ });
3149
+ static ɵmod = i0.ɵɵngDeclareNgModule({
3150
+ minVersion: "14.0.0",
3151
+ version: "22.2.0",
3152
+ ngImport: i0,
3153
+ type: TreeModule,
3154
+ imports: [Tree],
3155
+ exports: [Tree]
3156
+ });
3157
+ static ɵinj = i0.ɵɵngDeclareInjector({
3158
+ minVersion: "12.0.0",
3159
+ version: "22.2.0",
3160
+ ngImport: i0,
3161
+ type: TreeModule,
3162
+ imports: [Tree]
3163
+ });
3164
+ };
3165
+ i0.ɵɵngDeclareClassMetadata({
3166
+ minVersion: "12.0.0",
3167
+ version: "22.2.0",
3168
+ ngImport: i0,
3169
+ type: TreeModule,
3170
+ decorators: [{
3171
+ type: NgModule,
3172
+ args: [{
3173
+ imports: [Tree],
3174
+ exports: [Tree]
3175
+ }]
3176
+ }]
3177
+ });
2375
3178
  export { Tree, TreeClasses, TreeModule, TreeStyle };
2376
- //# sourceMappingURL=primeng-tree.mjs.map
3179
+
3180
+ //# sourceMappingURL=primeng-tree.mjs.map