primeng 22.1.1 → 22.1.3

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 (854) hide show
  1. package/fesm2022/primeng-accordion.mjs +999 -596
  2. package/fesm2022/primeng-animateonscroll.mjs +265 -174
  3. package/fesm2022/primeng-api.mjs +887 -848
  4. package/fesm2022/primeng-autocomplete.mjs +2535 -1633
  5. package/fesm2022/primeng-autofocus.mjs +113 -77
  6. package/fesm2022/primeng-avatar.mjs +329 -189
  7. package/fesm2022/primeng-avatargroup.mjs +177 -95
  8. package/fesm2022/primeng-badge.mjs +289 -156
  9. package/fesm2022/primeng-base.mjs +105 -83
  10. package/fesm2022/primeng-basecomponent.mjs +592 -478
  11. package/fesm2022/primeng-baseeditableholder.mjs +130 -74
  12. package/fesm2022/primeng-baseinput.mjs +213 -99
  13. package/fesm2022/primeng-basemodelholder.mjs +38 -26
  14. package/fesm2022/primeng-bind.mjs +157 -97
  15. package/fesm2022/primeng-blockui.mjs +359 -225
  16. package/fesm2022/primeng-breadcrumb.mjs +457 -220
  17. package/fesm2022/primeng-button.mjs +1562 -710
  18. package/fesm2022/primeng-buttongroup.mjs +126 -75
  19. package/fesm2022/primeng-card.mjs +388 -178
  20. package/fesm2022/primeng-carousel.mjs +2398 -1776
  21. package/fesm2022/primeng-cascadeselect.mjs +2380 -1407
  22. package/fesm2022/primeng-chart.mjs +401 -231
  23. package/fesm2022/primeng-checkbox.mjs +649 -351
  24. package/fesm2022/primeng-chip.mjs +410 -224
  25. package/fesm2022/primeng-classnames.mjs +94 -48
  26. package/fesm2022/primeng-colorpicker.mjs +889 -635
  27. package/fesm2022/primeng-commandmenu.mjs +567 -313
  28. package/fesm2022/primeng-compare.mjs +842 -481
  29. package/fesm2022/primeng-config.mjs +436 -321
  30. package/fesm2022/primeng-confirmdialog.mjs +1196 -536
  31. package/fesm2022/primeng-confirmpopup.mjs +815 -522
  32. package/fesm2022/primeng-contextmenu.mjs +1871 -1090
  33. package/fesm2022/primeng-dataview.mjs +1129 -550
  34. package/fesm2022/primeng-datepicker.mjs +3783 -3366
  35. package/fesm2022/primeng-dialog.mjs +1649 -977
  36. package/fesm2022/primeng-divider.mjs +271 -146
  37. package/fesm2022/primeng-dock.mjs +608 -391
  38. package/fesm2022/primeng-dom.mjs +611 -767
  39. package/fesm2022/primeng-dragdrop.mjs +324 -312
  40. package/fesm2022/primeng-drawer.mjs +911 -484
  41. package/fesm2022/primeng-dynamicdialog.mjs +829 -917
  42. package/fesm2022/primeng-editor.mjs +546 -391
  43. package/fesm2022/primeng-fieldset.mjs +559 -273
  44. package/fesm2022/primeng-fileupload.mjs +1843 -1062
  45. package/fesm2022/primeng-floatlabel.mjs +186 -102
  46. package/fesm2022/primeng-fluid.mjs +155 -85
  47. package/fesm2022/primeng-focustrap.mjs +149 -112
  48. package/fesm2022/primeng-galleria.mjs +2594 -1412
  49. package/fesm2022/primeng-gallery.mjs +2767 -1796
  50. package/fesm2022/primeng-iconfield.mjs +191 -93
  51. package/fesm2022/primeng-icons-angledoubledown.mjs +40 -23
  52. package/fesm2022/primeng-icons-angledoubleleft.mjs +40 -23
  53. package/fesm2022/primeng-icons-angledoubleright.mjs +40 -23
  54. package/fesm2022/primeng-icons-angledoubleup.mjs +40 -23
  55. package/fesm2022/primeng-icons-angledown.mjs +40 -23
  56. package/fesm2022/primeng-icons-angleleft.mjs +40 -23
  57. package/fesm2022/primeng-icons-angleright.mjs +40 -23
  58. package/fesm2022/primeng-icons-angleup.mjs +40 -23
  59. package/fesm2022/primeng-icons-arrowdown.mjs +44 -28
  60. package/fesm2022/primeng-icons-arrowdownleft.mjs +40 -23
  61. package/fesm2022/primeng-icons-arrowdownright.mjs +40 -23
  62. package/fesm2022/primeng-icons-arrowleft.mjs +44 -28
  63. package/fesm2022/primeng-icons-arrowright.mjs +40 -23
  64. package/fesm2022/primeng-icons-arrowup.mjs +44 -28
  65. package/fesm2022/primeng-icons-ban.mjs +44 -28
  66. package/fesm2022/primeng-icons-bars.mjs +40 -23
  67. package/fesm2022/primeng-icons-baseicon.mjs +110 -67
  68. package/fesm2022/primeng-icons-blank.mjs +39 -22
  69. package/fesm2022/primeng-icons-calendar.mjs +40 -23
  70. package/fesm2022/primeng-icons-caretleft.mjs +40 -23
  71. package/fesm2022/primeng-icons-caretright.mjs +40 -23
  72. package/fesm2022/primeng-icons-check.mjs +40 -23
  73. package/fesm2022/primeng-icons-chevrondown.mjs +40 -23
  74. package/fesm2022/primeng-icons-chevronleft.mjs +40 -23
  75. package/fesm2022/primeng-icons-chevronright.mjs +40 -23
  76. package/fesm2022/primeng-icons-chevronup.mjs +40 -23
  77. package/fesm2022/primeng-icons-exclamationtriangle.mjs +44 -28
  78. package/fesm2022/primeng-icons-eye.mjs +40 -23
  79. package/fesm2022/primeng-icons-eyeslash.mjs +44 -28
  80. package/fesm2022/primeng-icons-filter.mjs +44 -28
  81. package/fesm2022/primeng-icons-filterfill.mjs +40 -23
  82. package/fesm2022/primeng-icons-filterslash.mjs +44 -28
  83. package/fesm2022/primeng-icons-home.mjs +44 -28
  84. package/fesm2022/primeng-icons-infocircle.mjs +44 -28
  85. package/fesm2022/primeng-icons-minus.mjs +40 -23
  86. package/fesm2022/primeng-icons-pencil.mjs +44 -28
  87. package/fesm2022/primeng-icons-plus.mjs +44 -28
  88. package/fesm2022/primeng-icons-refresh.mjs +44 -28
  89. package/fesm2022/primeng-icons-search.mjs +44 -28
  90. package/fesm2022/primeng-icons-searchminus.mjs +44 -28
  91. package/fesm2022/primeng-icons-searchplus.mjs +44 -28
  92. package/fesm2022/primeng-icons-sortalt.mjs +44 -28
  93. package/fesm2022/primeng-icons-sortamountdown.mjs +44 -28
  94. package/fesm2022/primeng-icons-sortamountupalt.mjs +44 -28
  95. package/fesm2022/primeng-icons-spinner.mjs +44 -28
  96. package/fesm2022/primeng-icons-star.mjs +44 -28
  97. package/fesm2022/primeng-icons-starfill.mjs +44 -28
  98. package/fesm2022/primeng-icons-thlarge.mjs +44 -28
  99. package/fesm2022/primeng-icons-times.mjs +40 -23
  100. package/fesm2022/primeng-icons-timescircle.mjs +44 -28
  101. package/fesm2022/primeng-icons-trash.mjs +44 -28
  102. package/fesm2022/primeng-icons-undo.mjs +44 -28
  103. package/fesm2022/primeng-icons-upload.mjs +44 -28
  104. package/fesm2022/primeng-icons-windowmaximize.mjs +44 -28
  105. package/fesm2022/primeng-icons-windowminimize.mjs +44 -28
  106. package/fesm2022/primeng-icons.mjs +53 -63
  107. package/fesm2022/primeng-iftalabel.mjs +152 -86
  108. package/fesm2022/primeng-image.mjs +1022 -534
  109. package/fesm2022/primeng-imagecompare.mjs +324 -165
  110. package/fesm2022/primeng-inplace.mjs +400 -199
  111. package/fesm2022/primeng-inputcolor.mjs +2626 -2189
  112. package/fesm2022/primeng-inputgroup.mjs +158 -91
  113. package/fesm2022/primeng-inputgroupaddon.mjs +152 -68
  114. package/fesm2022/primeng-inputicon.mjs +172 -72
  115. package/fesm2022/primeng-inputmask.mjs +1606 -1387
  116. package/fesm2022/primeng-inputnumber.mjs +1645 -1305
  117. package/fesm2022/primeng-inputotp.mjs +570 -376
  118. package/fesm2022/primeng-inputpassword.mjs +178 -96
  119. package/fesm2022/primeng-inputtags.mjs +1211 -588
  120. package/fesm2022/primeng-inputtext.mjs +324 -175
  121. package/fesm2022/primeng-isolation.mjs +280 -0
  122. package/fesm2022/primeng-keyfilter.mjs +267 -244
  123. package/fesm2022/primeng-knob.mjs +625 -405
  124. package/fesm2022/primeng-label.mjs +142 -81
  125. package/fesm2022/primeng-license.mjs +9 -36
  126. package/fesm2022/primeng-listbox.mjs +2426 -1622
  127. package/fesm2022/primeng-megamenu.mjs +2008 -1143
  128. package/fesm2022/primeng-menu.mjs +1434 -852
  129. package/fesm2022/primeng-menubar.mjs +1836 -996
  130. package/fesm2022/primeng-message.mjs +471 -239
  131. package/fesm2022/primeng-metergroup.mjs +662 -331
  132. package/fesm2022/primeng-motion.mjs +1178 -690
  133. package/fesm2022/primeng-multiselect.mjs +3421 -1940
  134. package/fesm2022/primeng-orderlist.mjs +1320 -668
  135. package/fesm2022/primeng-organizationchart.mjs +911 -595
  136. package/fesm2022/primeng-overlay.mjs +933 -626
  137. package/fesm2022/primeng-overlaybadge.mjs +290 -107
  138. package/fesm2022/primeng-paginator.mjs +961 -503
  139. package/fesm2022/primeng-panel.mjs +668 -345
  140. package/fesm2022/primeng-panelmenu.mjs +1845 -1002
  141. package/fesm2022/primeng-passthrough.mjs +7 -16
  142. package/fesm2022/primeng-password.mjs +1517 -866
  143. package/fesm2022/primeng-picklist.mjs +2278 -1256
  144. package/fesm2022/primeng-popover.mjs +658 -438
  145. package/fesm2022/primeng-progressbar.mjs +345 -168
  146. package/fesm2022/primeng-progressspinner.mjs +337 -188
  147. package/fesm2022/primeng-radiobutton.mjs +498 -292
  148. package/fesm2022/primeng-rating.mjs +583 -354
  149. package/fesm2022/primeng-ripple.mjs +195 -184
  150. package/fesm2022/primeng-scrollarea.mjs +1017 -721
  151. package/fesm2022/primeng-scroller.mjs +1388 -1083
  152. package/fesm2022/primeng-scrollpanel.mjs +567 -480
  153. package/fesm2022/primeng-scrolltop.mjs +510 -262
  154. package/fesm2022/primeng-select.mjs +3073 -1793
  155. package/fesm2022/primeng-selectbutton.mjs +628 -339
  156. package/fesm2022/primeng-sidebar.mjs +2559 -1416
  157. package/fesm2022/primeng-skeleton.mjs +299 -157
  158. package/fesm2022/primeng-slider.mjs +840 -604
  159. package/fesm2022/primeng-speeddial.mjs +1118 -719
  160. package/fesm2022/primeng-splitbutton.mjs +887 -339
  161. package/fesm2022/primeng-splitter.mjs +996 -759
  162. package/fesm2022/primeng-stepper.mjs +1356 -643
  163. package/fesm2022/primeng-steps.mjs +396 -304
  164. package/fesm2022/primeng-styleclass.mjs +447 -334
  165. package/fesm2022/primeng-table.mjs +9827 -5913
  166. package/fesm2022/primeng-tabs.mjs +1356 -831
  167. package/fesm2022/primeng-tag.mjs +304 -151
  168. package/fesm2022/primeng-terminal.mjs +367 -216
  169. package/fesm2022/primeng-textarea.mjs +344 -208
  170. package/fesm2022/primeng-tieredmenu.mjs +1921 -1129
  171. package/fesm2022/primeng-timeline.mjs +303 -165
  172. package/fesm2022/primeng-toast.mjs +1384 -922
  173. package/fesm2022/primeng-togglebutton.mjs +562 -309
  174. package/fesm2022/primeng-toggleswitch.mjs +463 -237
  175. package/fesm2022/primeng-toolbar.mjs +298 -129
  176. package/fesm2022/primeng-tooltip.mjs +1017 -778
  177. package/fesm2022/primeng-tree.mjs +2680 -1877
  178. package/fesm2022/primeng-treeselect.mjs +1683 -945
  179. package/fesm2022/primeng-treetable.mjs +5868 -3768
  180. package/fesm2022/primeng-ts-helpers.mjs +0 -4
  181. package/fesm2022/primeng-types-accordion.mjs +0 -4
  182. package/fesm2022/primeng-types-autocomplete.mjs +0 -4
  183. package/fesm2022/primeng-types-avatar.mjs +0 -4
  184. package/fesm2022/primeng-types-avatargroup.mjs +0 -4
  185. package/fesm2022/primeng-types-badge.mjs +0 -4
  186. package/fesm2022/primeng-types-blockui.mjs +0 -4
  187. package/fesm2022/primeng-types-breadcrumb.mjs +0 -4
  188. package/fesm2022/primeng-types-button.mjs +0 -4
  189. package/fesm2022/primeng-types-card.mjs +0 -4
  190. package/fesm2022/primeng-types-carousel.mjs +0 -4
  191. package/fesm2022/primeng-types-cascadeselect.mjs +0 -4
  192. package/fesm2022/primeng-types-chart.mjs +0 -4
  193. package/fesm2022/primeng-types-checkbox.mjs +0 -4
  194. package/fesm2022/primeng-types-chip.mjs +0 -4
  195. package/fesm2022/primeng-types-colorpicker.mjs +0 -4
  196. package/fesm2022/primeng-types-commandmenu.mjs +0 -4
  197. package/fesm2022/primeng-types-compare.mjs +0 -4
  198. package/fesm2022/primeng-types-confirmdialog.mjs +0 -4
  199. package/fesm2022/primeng-types-confirmpopup.mjs +0 -4
  200. package/fesm2022/primeng-types-contextmenu.mjs +0 -4
  201. package/fesm2022/primeng-types-dataview.mjs +0 -4
  202. package/fesm2022/primeng-types-datepicker.mjs +0 -4
  203. package/fesm2022/primeng-types-dialog.mjs +0 -4
  204. package/fesm2022/primeng-types-divider.mjs +0 -4
  205. package/fesm2022/primeng-types-dock.mjs +0 -4
  206. package/fesm2022/primeng-types-drawer.mjs +0 -4
  207. package/fesm2022/primeng-types-editor.mjs +0 -4
  208. package/fesm2022/primeng-types-fieldset.mjs +0 -4
  209. package/fesm2022/primeng-types-fileupload.mjs +0 -4
  210. package/fesm2022/primeng-types-floatlabel.mjs +0 -4
  211. package/fesm2022/primeng-types-fluid.mjs +0 -4
  212. package/fesm2022/primeng-types-galleria.mjs +0 -4
  213. package/fesm2022/primeng-types-gallery.mjs +0 -4
  214. package/fesm2022/primeng-types-iconfield.mjs +0 -4
  215. package/fesm2022/primeng-types-iftalabel.mjs +0 -4
  216. package/fesm2022/primeng-types-image.mjs +0 -4
  217. package/fesm2022/primeng-types-imagecompare.mjs +0 -4
  218. package/fesm2022/primeng-types-inplace.mjs +0 -4
  219. package/fesm2022/primeng-types-inputcolor.mjs +0 -4
  220. package/fesm2022/primeng-types-inputgroup.mjs +0 -4
  221. package/fesm2022/primeng-types-inputgroupaddon.mjs +0 -4
  222. package/fesm2022/primeng-types-inputicon.mjs +0 -4
  223. package/fesm2022/primeng-types-inputmask.mjs +0 -4
  224. package/fesm2022/primeng-types-inputnumber.mjs +0 -4
  225. package/fesm2022/primeng-types-inputotp.mjs +0 -4
  226. package/fesm2022/primeng-types-inputpassword.mjs +0 -4
  227. package/fesm2022/primeng-types-inputtags.mjs +0 -4
  228. package/fesm2022/primeng-types-inputtext.mjs +0 -4
  229. package/fesm2022/primeng-types-knob.mjs +0 -4
  230. package/fesm2022/primeng-types-label.mjs +0 -4
  231. package/fesm2022/primeng-types-listbox.mjs +0 -4
  232. package/fesm2022/primeng-types-megamenu.mjs +0 -4
  233. package/fesm2022/primeng-types-menu.mjs +0 -4
  234. package/fesm2022/primeng-types-menubar.mjs +0 -4
  235. package/fesm2022/primeng-types-message.mjs +0 -4
  236. package/fesm2022/primeng-types-metergroup.mjs +0 -4
  237. package/fesm2022/primeng-types-motion.mjs +0 -4
  238. package/fesm2022/primeng-types-multiselect.mjs +0 -4
  239. package/fesm2022/primeng-types-orderlist.mjs +0 -4
  240. package/fesm2022/primeng-types-organizationchart.mjs +0 -4
  241. package/fesm2022/primeng-types-overlay.mjs +0 -4
  242. package/fesm2022/primeng-types-overlaybadge.mjs +0 -4
  243. package/fesm2022/primeng-types-paginator.mjs +0 -4
  244. package/fesm2022/primeng-types-panel.mjs +0 -4
  245. package/fesm2022/primeng-types-panelmenu.mjs +0 -4
  246. package/fesm2022/primeng-types-password.mjs +0 -4
  247. package/fesm2022/primeng-types-picklist.mjs +0 -4
  248. package/fesm2022/primeng-types-popover.mjs +0 -4
  249. package/fesm2022/primeng-types-progressbar.mjs +0 -4
  250. package/fesm2022/primeng-types-progressspinner.mjs +0 -4
  251. package/fesm2022/primeng-types-radiobutton.mjs +0 -4
  252. package/fesm2022/primeng-types-rating.mjs +0 -4
  253. package/fesm2022/primeng-types-scrollarea.mjs +0 -4
  254. package/fesm2022/primeng-types-scroller.mjs +0 -4
  255. package/fesm2022/primeng-types-scrollpanel.mjs +0 -4
  256. package/fesm2022/primeng-types-scrolltop.mjs +0 -4
  257. package/fesm2022/primeng-types-select.mjs +0 -4
  258. package/fesm2022/primeng-types-selectbutton.mjs +0 -4
  259. package/fesm2022/primeng-types-shared.mjs +0 -4
  260. package/fesm2022/primeng-types-sidebar.mjs +0 -4
  261. package/fesm2022/primeng-types-skeleton.mjs +0 -4
  262. package/fesm2022/primeng-types-slider.mjs +0 -4
  263. package/fesm2022/primeng-types-speeddial.mjs +0 -4
  264. package/fesm2022/primeng-types-splitbutton.mjs +0 -4
  265. package/fesm2022/primeng-types-splitter.mjs +0 -4
  266. package/fesm2022/primeng-types-stepper.mjs +0 -4
  267. package/fesm2022/primeng-types-table.mjs +0 -4
  268. package/fesm2022/primeng-types-tabs.mjs +0 -4
  269. package/fesm2022/primeng-types-tag.mjs +0 -4
  270. package/fesm2022/primeng-types-terminal.mjs +0 -4
  271. package/fesm2022/primeng-types-textarea.mjs +0 -4
  272. package/fesm2022/primeng-types-tieredmenu.mjs +0 -4
  273. package/fesm2022/primeng-types-timeline.mjs +0 -4
  274. package/fesm2022/primeng-types-toast.mjs +0 -4
  275. package/fesm2022/primeng-types-togglebutton.mjs +0 -4
  276. package/fesm2022/primeng-types-toggleswitch.mjs +0 -4
  277. package/fesm2022/primeng-types-toolbar.mjs +0 -4
  278. package/fesm2022/primeng-types-tooltip.mjs +0 -4
  279. package/fesm2022/primeng-types-tree.mjs +0 -4
  280. package/fesm2022/primeng-types-treeselect.mjs +0 -4
  281. package/fesm2022/primeng-types-treetable.mjs +0 -4
  282. package/fesm2022/primeng-useid.mjs +38 -0
  283. package/fesm2022/primeng-usestyle.mjs +325 -112
  284. package/fesm2022/primeng-utils.mjs +267 -317
  285. package/fesm2022/primeng.mjs +0 -5
  286. package/package.json +17 -4
  287. package/types/primeng-accordion.d.ts +280 -219
  288. package/types/primeng-animateonscroll.d.ts +89 -60
  289. package/types/primeng-api.d.ts +1755 -1789
  290. package/types/primeng-autocomplete.d.ts +1051 -754
  291. package/types/primeng-autofocus.d.ts +27 -24
  292. package/types/primeng-avatar.d.ts +152 -114
  293. package/types/primeng-avatargroup.d.ts +45 -40
  294. package/types/primeng-badge.d.ts +104 -78
  295. package/types/primeng-base.d.ts +51 -52
  296. package/types/primeng-basecomponent.d.ts +209 -174
  297. package/types/primeng-baseeditableholder.d.ts +63 -45
  298. package/types/primeng-baseinput.d.ts +122 -74
  299. package/types/primeng-basemodelholder.d.ts +9 -12
  300. package/types/primeng-bind.d.ts +36 -32
  301. package/types/primeng-blockui.d.ts +99 -80
  302. package/types/primeng-breadcrumb.d.ts +159 -133
  303. package/types/primeng-button.d.ts +688 -426
  304. package/types/primeng-buttongroup.d.ts +26 -30
  305. package/types/primeng-card.d.ts +130 -119
  306. package/types/primeng-carousel.d.ts +777 -629
  307. package/types/primeng-cascadeselect.d.ts +753 -562
  308. package/types/primeng-chart.d.ts +158 -112
  309. package/types/primeng-checkbox.d.ts +298 -208
  310. package/types/primeng-chip.d.ts +187 -143
  311. package/types/primeng-classnames.d.ts +23 -21
  312. package/types/primeng-colorpicker.d.ts +324 -269
  313. package/types/primeng-commandmenu.d.ts +213 -165
  314. package/types/primeng-compare.d.ts +258 -189
  315. package/types/primeng-config.d.ts +319 -304
  316. package/types/primeng-confirmdialog.d.ts +505 -325
  317. package/types/primeng-confirmpopup.d.ts +251 -207
  318. package/types/primeng-contextmenu.d.ts +522 -366
  319. package/types/primeng-dataview.d.ts +497 -342
  320. package/types/primeng-datepicker.d.ts +1258 -969
  321. package/types/primeng-dialog.d.ts +668 -462
  322. package/types/primeng-divider.d.ts +112 -96
  323. package/types/primeng-dock.d.ts +206 -172
  324. package/types/primeng-dom.d.ts +99 -107
  325. package/types/primeng-dragdrop.d.ts +143 -107
  326. package/types/primeng-drawer.d.ts +354 -254
  327. package/types/primeng-dynamicdialog.d.ts +528 -534
  328. package/types/primeng-editor.d.ts +210 -162
  329. package/types/primeng-fieldset.d.ts +198 -163
  330. package/types/primeng-fileupload.d.ts +726 -523
  331. package/types/primeng-floatlabel.d.ts +54 -48
  332. package/types/primeng-fluid.d.ts +36 -36
  333. package/types/primeng-focustrap.d.ts +30 -27
  334. package/types/primeng-galleria.d.ts +569 -430
  335. package/types/primeng-gallery.d.ts +668 -529
  336. package/types/primeng-iconfield.d.ts +53 -42
  337. package/types/primeng-icons-angledoubledown.d.ts +6 -9
  338. package/types/primeng-icons-angledoubleleft.d.ts +6 -9
  339. package/types/primeng-icons-angledoubleright.d.ts +6 -9
  340. package/types/primeng-icons-angledoubleup.d.ts +6 -9
  341. package/types/primeng-icons-angledown.d.ts +6 -9
  342. package/types/primeng-icons-angleleft.d.ts +6 -9
  343. package/types/primeng-icons-angleright.d.ts +6 -9
  344. package/types/primeng-icons-angleup.d.ts +6 -9
  345. package/types/primeng-icons-arrowdown.d.ts +8 -11
  346. package/types/primeng-icons-arrowdownleft.d.ts +6 -9
  347. package/types/primeng-icons-arrowdownright.d.ts +6 -9
  348. package/types/primeng-icons-arrowleft.d.ts +8 -11
  349. package/types/primeng-icons-arrowright.d.ts +6 -9
  350. package/types/primeng-icons-arrowup.d.ts +8 -11
  351. package/types/primeng-icons-ban.d.ts +8 -11
  352. package/types/primeng-icons-bars.d.ts +6 -9
  353. package/types/primeng-icons-baseicon.d.ts +23 -22
  354. package/types/primeng-icons-blank.d.ts +6 -9
  355. package/types/primeng-icons-calendar.d.ts +6 -9
  356. package/types/primeng-icons-caretleft.d.ts +6 -9
  357. package/types/primeng-icons-caretright.d.ts +6 -9
  358. package/types/primeng-icons-check.d.ts +6 -9
  359. package/types/primeng-icons-chevrondown.d.ts +6 -9
  360. package/types/primeng-icons-chevronleft.d.ts +6 -9
  361. package/types/primeng-icons-chevronright.d.ts +6 -9
  362. package/types/primeng-icons-chevronup.d.ts +6 -9
  363. package/types/primeng-icons-exclamationtriangle.d.ts +8 -11
  364. package/types/primeng-icons-eye.d.ts +6 -9
  365. package/types/primeng-icons-eyeslash.d.ts +8 -11
  366. package/types/primeng-icons-filter.d.ts +8 -11
  367. package/types/primeng-icons-filterfill.d.ts +6 -9
  368. package/types/primeng-icons-filterslash.d.ts +8 -11
  369. package/types/primeng-icons-home.d.ts +8 -11
  370. package/types/primeng-icons-infocircle.d.ts +8 -11
  371. package/types/primeng-icons-minus.d.ts +6 -9
  372. package/types/primeng-icons-pencil.d.ts +8 -11
  373. package/types/primeng-icons-plus.d.ts +8 -11
  374. package/types/primeng-icons-refresh.d.ts +8 -11
  375. package/types/primeng-icons-search.d.ts +8 -11
  376. package/types/primeng-icons-searchminus.d.ts +8 -11
  377. package/types/primeng-icons-searchplus.d.ts +8 -11
  378. package/types/primeng-icons-sortalt.d.ts +8 -11
  379. package/types/primeng-icons-sortamountdown.d.ts +8 -11
  380. package/types/primeng-icons-sortamountupalt.d.ts +8 -11
  381. package/types/primeng-icons-spinner.d.ts +8 -11
  382. package/types/primeng-icons-star.d.ts +8 -11
  383. package/types/primeng-icons-starfill.d.ts +8 -11
  384. package/types/primeng-icons-thlarge.d.ts +8 -11
  385. package/types/primeng-icons-times.d.ts +6 -9
  386. package/types/primeng-icons-timescircle.d.ts +8 -11
  387. package/types/primeng-icons-trash.d.ts +8 -11
  388. package/types/primeng-icons-undo.d.ts +8 -11
  389. package/types/primeng-icons-upload.d.ts +8 -11
  390. package/types/primeng-icons-windowmaximize.d.ts +8 -11
  391. package/types/primeng-icons-windowminimize.d.ts +8 -11
  392. package/types/primeng-icons.d.ts +53 -53
  393. package/types/primeng-iftalabel.d.ts +37 -37
  394. package/types/primeng-image.d.ts +403 -308
  395. package/types/primeng-imagecompare.d.ts +93 -77
  396. package/types/primeng-inplace.d.ts +125 -111
  397. package/types/primeng-inputcolor.d.ts +590 -484
  398. package/types/primeng-inputgroup.d.ts +41 -41
  399. package/types/primeng-inputgroupaddon.d.ts +31 -31
  400. package/types/primeng-inputicon.d.ts +38 -32
  401. package/types/primeng-inputmask.d.ts +519 -362
  402. package/types/primeng-inputnumber.d.ts +572 -405
  403. package/types/primeng-inputotp.d.ts +205 -156
  404. package/types/primeng-inputpassword.d.ts +59 -43
  405. package/types/primeng-inputtags.d.ts +451 -297
  406. package/types/primeng-inputtext.d.ts +129 -93
  407. package/types/primeng-isolation.d.ts +21 -0
  408. package/types/primeng-keyfilter.d.ts +62 -53
  409. package/types/primeng-knob.d.ts +256 -183
  410. package/types/primeng-label.d.ts +36 -36
  411. package/types/primeng-license.d.ts +1 -3
  412. package/types/primeng-listbox.d.ts +1041 -786
  413. package/types/primeng-megamenu.d.ts +539 -383
  414. package/types/primeng-menu.d.ts +477 -361
  415. package/types/primeng-menubar.d.ts +495 -354
  416. package/types/primeng-message.d.ts +191 -148
  417. package/types/primeng-metergroup.d.ts +249 -187
  418. package/types/primeng-motion.d.ts +596 -383
  419. package/types/primeng-multiselect.d.ts +1194 -858
  420. package/types/primeng-orderlist.d.ts +539 -390
  421. package/types/primeng-organizationchart.d.ts +235 -192
  422. package/types/primeng-overlay.d.ts +394 -294
  423. package/types/primeng-overlaybadge.d.ts +95 -64
  424. package/types/primeng-paginator.d.ts +409 -309
  425. package/types/primeng-panel.d.ts +267 -217
  426. package/types/primeng-panelmenu.d.ts +254 -228
  427. package/types/primeng-passthrough.d.ts +5 -7
  428. package/types/primeng-password.d.ts +605 -430
  429. package/types/primeng-picklist.d.ts +1042 -756
  430. package/types/primeng-popover.d.ts +235 -176
  431. package/types/primeng-progressbar.d.ts +130 -99
  432. package/types/primeng-progressspinner.d.ts +144 -108
  433. package/types/primeng-radiobutton.d.ts +218 -168
  434. package/types/primeng-rating.d.ts +239 -189
  435. package/types/primeng-ripple.d.ts +38 -42
  436. package/types/primeng-scrollarea.d.ts +275 -239
  437. package/types/primeng-scroller.d.ts +523 -387
  438. package/types/primeng-scrollpanel.d.ts +134 -128
  439. package/types/primeng-scrolltop.d.ts +169 -123
  440. package/types/primeng-select.d.ts +1054 -738
  441. package/types/primeng-selectbutton.d.ts +238 -164
  442. package/types/primeng-sidebar.d.ts +699 -535
  443. package/types/primeng-skeleton.d.ts +114 -83
  444. package/types/primeng-slider.d.ts +375 -306
  445. package/types/primeng-speeddial.d.ts +492 -370
  446. package/types/primeng-splitbutton.d.ts +381 -240
  447. package/types/primeng-splitter.d.ts +389 -299
  448. package/types/primeng-stepper.d.ts +405 -250
  449. package/types/primeng-steps.d.ts +157 -134
  450. package/types/primeng-styleclass.d.ts +163 -105
  451. package/types/primeng-table.d.ts +2826 -1912
  452. package/types/primeng-tabs.d.ts +452 -300
  453. package/types/primeng-tag.d.ts +106 -85
  454. package/types/primeng-terminal.d.ts +131 -117
  455. package/types/primeng-textarea.d.ts +145 -107
  456. package/types/primeng-tieredmenu.d.ts +572 -398
  457. package/types/primeng-timeline.d.ts +125 -109
  458. package/types/primeng-toast.d.ts +312 -247
  459. package/types/primeng-togglebutton.d.ts +254 -182
  460. package/types/primeng-toggleswitch.d.ts +188 -140
  461. package/types/primeng-toolbar.d.ts +82 -76
  462. package/types/primeng-tooltip.d.ts +334 -232
  463. package/types/primeng-tree.d.ts +762 -559
  464. package/types/primeng-treeselect.d.ts +749 -547
  465. package/types/primeng-treetable.d.ts +1752 -1314
  466. package/types/primeng-ts-helpers.d.ts +4 -6
  467. package/types/primeng-types-accordion.d.ts +58 -62
  468. package/types/primeng-types-autocomplete.d.ts +230 -233
  469. package/types/primeng-types-avatar.d.ts +25 -28
  470. package/types/primeng-types-avatargroup.d.ts +11 -14
  471. package/types/primeng-types-badge.d.ts +13 -16
  472. package/types/primeng-types-blockui.d.ts +18 -21
  473. package/types/primeng-types-breadcrumb.d.ts +65 -68
  474. package/types/primeng-types-button.d.ts +106 -109
  475. package/types/primeng-types-card.d.ts +54 -57
  476. package/types/primeng-types-carousel.d.ts +143 -146
  477. package/types/primeng-types-cascadeselect.d.ts +186 -192
  478. package/types/primeng-types-chart.d.ts +34 -39
  479. package/types/primeng-types-checkbox.d.ts +52 -55
  480. package/types/primeng-types-chip.d.ts +48 -51
  481. package/types/primeng-types-colorpicker.d.ts +59 -62
  482. package/types/primeng-types-commandmenu.d.ts +98 -101
  483. package/types/primeng-types-compare.d.ts +33 -36
  484. package/types/primeng-types-confirmdialog.d.ts +124 -127
  485. package/types/primeng-types-confirmpopup.d.ts +75 -78
  486. package/types/primeng-types-contextmenu.d.ts +100 -103
  487. package/types/primeng-types-dataview.d.ts +180 -183
  488. package/types/primeng-types-datepicker.d.ts +442 -445
  489. package/types/primeng-types-dialog.d.ts +93 -96
  490. package/types/primeng-types-divider.d.ts +14 -17
  491. package/types/primeng-types-dock.d.ts +45 -48
  492. package/types/primeng-types-drawer.d.ts +62 -65
  493. package/types/primeng-types-editor.d.ts +143 -146
  494. package/types/primeng-types-fieldset.d.ts +83 -87
  495. package/types/primeng-types-fileupload.d.ts +296 -301
  496. package/types/primeng-types-floatlabel.d.ts +12 -15
  497. package/types/primeng-types-fluid.d.ts +11 -14
  498. package/types/primeng-types-galleria.d.ts +209 -212
  499. package/types/primeng-types-gallery.d.ts +195 -198
  500. package/types/primeng-types-iconfield.d.ts +12 -15
  501. package/types/primeng-types-iftalabel.d.ts +11 -14
  502. package/types/primeng-types-image.d.ts +118 -121
  503. package/types/primeng-types-imagecompare.d.ts +22 -25
  504. package/types/primeng-types-inplace.d.ts +46 -49
  505. package/types/primeng-types-inputcolor.d.ts +86 -89
  506. package/types/primeng-types-inputgroup.d.ts +11 -14
  507. package/types/primeng-types-inputgroupaddon.d.ts +11 -14
  508. package/types/primeng-types-inputicon.d.ts +11 -14
  509. package/types/primeng-types-inputmask.d.ts +30 -33
  510. package/types/primeng-types-inputnumber.d.ts +72 -75
  511. package/types/primeng-types-inputotp.d.ts +67 -70
  512. package/types/primeng-types-inputpassword.d.ts +7 -10
  513. package/types/primeng-types-inputtags.d.ts +122 -125
  514. package/types/primeng-types-inputtext.d.ts +7 -10
  515. package/types/primeng-types-knob.d.ts +23 -26
  516. package/types/primeng-types-label.d.ts +7 -10
  517. package/types/primeng-types-listbox.d.ts +263 -267
  518. package/types/primeng-types-megamenu.d.ts +135 -138
  519. package/types/primeng-types-menu.d.ts +98 -101
  520. package/types/primeng-types-menubar.d.ts +122 -125
  521. package/types/primeng-types-message.d.ts +69 -72
  522. package/types/primeng-types-metergroup.d.ts +137 -140
  523. package/types/primeng-types-motion.d.ts +11 -14
  524. package/types/primeng-types-multiselect.d.ts +329 -333
  525. package/types/primeng-types-orderlist.d.ts +126 -129
  526. package/types/primeng-types-organizationchart.d.ts +147 -153
  527. package/types/primeng-types-overlay.d.ts +31 -34
  528. package/types/primeng-types-overlaybadge.d.ts +17 -20
  529. package/types/primeng-types-paginator.d.ts +131 -134
  530. package/types/primeng-types-panel.d.ts +91 -95
  531. package/types/primeng-types-panelmenu.d.ts +150 -153
  532. package/types/primeng-types-password.d.ts +94 -97
  533. package/types/primeng-types-picklist.d.ts +250 -260
  534. package/types/primeng-types-popover.d.ts +33 -36
  535. package/types/primeng-types-progressbar.d.ts +33 -36
  536. package/types/primeng-types-progressspinner.d.ts +27 -30
  537. package/types/primeng-types-radiobutton.d.ts +29 -32
  538. package/types/primeng-types-rating.d.ts +62 -65
  539. package/types/primeng-types-scrollarea.d.ts +35 -38
  540. package/types/primeng-types-scroller.d.ts +142 -146
  541. package/types/primeng-types-scrollpanel.d.ts +31 -34
  542. package/types/primeng-types-scrolltop.d.ts +37 -40
  543. package/types/primeng-types-select.d.ts +255 -254
  544. package/types/primeng-types-selectbutton.d.ts +56 -59
  545. package/types/primeng-types-shared.d.ts +6 -9
  546. package/types/primeng-types-sidebar.d.ts +105 -108
  547. package/types/primeng-types-skeleton.d.ts +11 -14
  548. package/types/primeng-types-slider.d.ts +59 -62
  549. package/types/primeng-types-speeddial.d.ts +71 -74
  550. package/types/primeng-types-splitbutton.d.ts +35 -38
  551. package/types/primeng-types-splitter.d.ts +58 -63
  552. package/types/primeng-types-stepper.d.ts +77 -80
  553. package/types/primeng-types-table.d.ts +743 -749
  554. package/types/primeng-types-tabs.d.ts +48 -51
  555. package/types/primeng-types-tag.d.ts +27 -30
  556. package/types/primeng-types-terminal.d.ts +43 -46
  557. package/types/primeng-types-textarea.d.ts +11 -14
  558. package/types/primeng-types-tieredmenu.d.ts +154 -157
  559. package/types/primeng-types-timeline.d.ts +60 -63
  560. package/types/primeng-types-toast.d.ts +92 -95
  561. package/types/primeng-types-togglebutton.d.ts +52 -55
  562. package/types/primeng-types-toggleswitch.d.ts +41 -44
  563. package/types/primeng-types-toolbar.d.ts +34 -37
  564. package/types/primeng-types-tooltip.d.ts +17 -20
  565. package/types/primeng-types-tree.d.ts +237 -246
  566. package/types/primeng-types-treeselect.d.ts +198 -202
  567. package/types/primeng-types-treetable.d.ts +492 -497
  568. package/types/primeng-useid.d.ts +15 -0
  569. package/types/primeng-usestyle.d.ts +107 -30
  570. package/types/primeng-utils.d.ts +79 -40
  571. package/types/primeng.d.ts +2 -2
  572. package/fesm2022/primeng-accordion.mjs.map +0 -1
  573. package/fesm2022/primeng-animateonscroll.mjs.map +0 -1
  574. package/fesm2022/primeng-api.mjs.map +0 -1
  575. package/fesm2022/primeng-autocomplete.mjs.map +0 -1
  576. package/fesm2022/primeng-autofocus.mjs.map +0 -1
  577. package/fesm2022/primeng-avatar.mjs.map +0 -1
  578. package/fesm2022/primeng-avatargroup.mjs.map +0 -1
  579. package/fesm2022/primeng-badge.mjs.map +0 -1
  580. package/fesm2022/primeng-base.mjs.map +0 -1
  581. package/fesm2022/primeng-basecomponent.mjs.map +0 -1
  582. package/fesm2022/primeng-baseeditableholder.mjs.map +0 -1
  583. package/fesm2022/primeng-baseinput.mjs.map +0 -1
  584. package/fesm2022/primeng-basemodelholder.mjs.map +0 -1
  585. package/fesm2022/primeng-bind.mjs.map +0 -1
  586. package/fesm2022/primeng-blockui.mjs.map +0 -1
  587. package/fesm2022/primeng-breadcrumb.mjs.map +0 -1
  588. package/fesm2022/primeng-button.mjs.map +0 -1
  589. package/fesm2022/primeng-buttongroup.mjs.map +0 -1
  590. package/fesm2022/primeng-card.mjs.map +0 -1
  591. package/fesm2022/primeng-carousel.mjs.map +0 -1
  592. package/fesm2022/primeng-cascadeselect.mjs.map +0 -1
  593. package/fesm2022/primeng-chart.mjs.map +0 -1
  594. package/fesm2022/primeng-checkbox.mjs.map +0 -1
  595. package/fesm2022/primeng-chip.mjs.map +0 -1
  596. package/fesm2022/primeng-classnames.mjs.map +0 -1
  597. package/fesm2022/primeng-colorpicker.mjs.map +0 -1
  598. package/fesm2022/primeng-commandmenu.mjs.map +0 -1
  599. package/fesm2022/primeng-compare.mjs.map +0 -1
  600. package/fesm2022/primeng-config.mjs.map +0 -1
  601. package/fesm2022/primeng-confirmdialog.mjs.map +0 -1
  602. package/fesm2022/primeng-confirmpopup.mjs.map +0 -1
  603. package/fesm2022/primeng-contextmenu.mjs.map +0 -1
  604. package/fesm2022/primeng-dataview.mjs.map +0 -1
  605. package/fesm2022/primeng-datepicker.mjs.map +0 -1
  606. package/fesm2022/primeng-dialog.mjs.map +0 -1
  607. package/fesm2022/primeng-divider.mjs.map +0 -1
  608. package/fesm2022/primeng-dock.mjs.map +0 -1
  609. package/fesm2022/primeng-dom.mjs.map +0 -1
  610. package/fesm2022/primeng-dragdrop.mjs.map +0 -1
  611. package/fesm2022/primeng-drawer.mjs.map +0 -1
  612. package/fesm2022/primeng-dynamicdialog.mjs.map +0 -1
  613. package/fesm2022/primeng-editor.mjs.map +0 -1
  614. package/fesm2022/primeng-fieldset.mjs.map +0 -1
  615. package/fesm2022/primeng-fileupload.mjs.map +0 -1
  616. package/fesm2022/primeng-floatlabel.mjs.map +0 -1
  617. package/fesm2022/primeng-fluid.mjs.map +0 -1
  618. package/fesm2022/primeng-focustrap.mjs.map +0 -1
  619. package/fesm2022/primeng-galleria.mjs.map +0 -1
  620. package/fesm2022/primeng-gallery.mjs.map +0 -1
  621. package/fesm2022/primeng-iconfield.mjs.map +0 -1
  622. package/fesm2022/primeng-icons-angledoubledown.mjs.map +0 -1
  623. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +0 -1
  624. package/fesm2022/primeng-icons-angledoubleright.mjs.map +0 -1
  625. package/fesm2022/primeng-icons-angledoubleup.mjs.map +0 -1
  626. package/fesm2022/primeng-icons-angledown.mjs.map +0 -1
  627. package/fesm2022/primeng-icons-angleleft.mjs.map +0 -1
  628. package/fesm2022/primeng-icons-angleright.mjs.map +0 -1
  629. package/fesm2022/primeng-icons-angleup.mjs.map +0 -1
  630. package/fesm2022/primeng-icons-arrowdown.mjs.map +0 -1
  631. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +0 -1
  632. package/fesm2022/primeng-icons-arrowdownright.mjs.map +0 -1
  633. package/fesm2022/primeng-icons-arrowleft.mjs.map +0 -1
  634. package/fesm2022/primeng-icons-arrowright.mjs.map +0 -1
  635. package/fesm2022/primeng-icons-arrowup.mjs.map +0 -1
  636. package/fesm2022/primeng-icons-ban.mjs.map +0 -1
  637. package/fesm2022/primeng-icons-bars.mjs.map +0 -1
  638. package/fesm2022/primeng-icons-baseicon.mjs.map +0 -1
  639. package/fesm2022/primeng-icons-blank.mjs.map +0 -1
  640. package/fesm2022/primeng-icons-calendar.mjs.map +0 -1
  641. package/fesm2022/primeng-icons-caretleft.mjs.map +0 -1
  642. package/fesm2022/primeng-icons-caretright.mjs.map +0 -1
  643. package/fesm2022/primeng-icons-check.mjs.map +0 -1
  644. package/fesm2022/primeng-icons-chevrondown.mjs.map +0 -1
  645. package/fesm2022/primeng-icons-chevronleft.mjs.map +0 -1
  646. package/fesm2022/primeng-icons-chevronright.mjs.map +0 -1
  647. package/fesm2022/primeng-icons-chevronup.mjs.map +0 -1
  648. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +0 -1
  649. package/fesm2022/primeng-icons-eye.mjs.map +0 -1
  650. package/fesm2022/primeng-icons-eyeslash.mjs.map +0 -1
  651. package/fesm2022/primeng-icons-filter.mjs.map +0 -1
  652. package/fesm2022/primeng-icons-filterfill.mjs.map +0 -1
  653. package/fesm2022/primeng-icons-filterslash.mjs.map +0 -1
  654. package/fesm2022/primeng-icons-home.mjs.map +0 -1
  655. package/fesm2022/primeng-icons-infocircle.mjs.map +0 -1
  656. package/fesm2022/primeng-icons-minus.mjs.map +0 -1
  657. package/fesm2022/primeng-icons-pencil.mjs.map +0 -1
  658. package/fesm2022/primeng-icons-plus.mjs.map +0 -1
  659. package/fesm2022/primeng-icons-refresh.mjs.map +0 -1
  660. package/fesm2022/primeng-icons-search.mjs.map +0 -1
  661. package/fesm2022/primeng-icons-searchminus.mjs.map +0 -1
  662. package/fesm2022/primeng-icons-searchplus.mjs.map +0 -1
  663. package/fesm2022/primeng-icons-sortalt.mjs.map +0 -1
  664. package/fesm2022/primeng-icons-sortamountdown.mjs.map +0 -1
  665. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +0 -1
  666. package/fesm2022/primeng-icons-spinner.mjs.map +0 -1
  667. package/fesm2022/primeng-icons-star.mjs.map +0 -1
  668. package/fesm2022/primeng-icons-starfill.mjs.map +0 -1
  669. package/fesm2022/primeng-icons-thlarge.mjs.map +0 -1
  670. package/fesm2022/primeng-icons-times.mjs.map +0 -1
  671. package/fesm2022/primeng-icons-timescircle.mjs.map +0 -1
  672. package/fesm2022/primeng-icons-trash.mjs.map +0 -1
  673. package/fesm2022/primeng-icons-undo.mjs.map +0 -1
  674. package/fesm2022/primeng-icons-upload.mjs.map +0 -1
  675. package/fesm2022/primeng-icons-windowmaximize.mjs.map +0 -1
  676. package/fesm2022/primeng-icons-windowminimize.mjs.map +0 -1
  677. package/fesm2022/primeng-icons.mjs.map +0 -1
  678. package/fesm2022/primeng-iftalabel.mjs.map +0 -1
  679. package/fesm2022/primeng-image.mjs.map +0 -1
  680. package/fesm2022/primeng-imagecompare.mjs.map +0 -1
  681. package/fesm2022/primeng-inplace.mjs.map +0 -1
  682. package/fesm2022/primeng-inputcolor.mjs.map +0 -1
  683. package/fesm2022/primeng-inputgroup.mjs.map +0 -1
  684. package/fesm2022/primeng-inputgroupaddon.mjs.map +0 -1
  685. package/fesm2022/primeng-inputicon.mjs.map +0 -1
  686. package/fesm2022/primeng-inputmask.mjs.map +0 -1
  687. package/fesm2022/primeng-inputnumber.mjs.map +0 -1
  688. package/fesm2022/primeng-inputotp.mjs.map +0 -1
  689. package/fesm2022/primeng-inputpassword.mjs.map +0 -1
  690. package/fesm2022/primeng-inputtags.mjs.map +0 -1
  691. package/fesm2022/primeng-inputtext.mjs.map +0 -1
  692. package/fesm2022/primeng-keyfilter.mjs.map +0 -1
  693. package/fesm2022/primeng-knob.mjs.map +0 -1
  694. package/fesm2022/primeng-label.mjs.map +0 -1
  695. package/fesm2022/primeng-license.mjs.map +0 -1
  696. package/fesm2022/primeng-listbox.mjs.map +0 -1
  697. package/fesm2022/primeng-megamenu.mjs.map +0 -1
  698. package/fesm2022/primeng-menu.mjs.map +0 -1
  699. package/fesm2022/primeng-menubar.mjs.map +0 -1
  700. package/fesm2022/primeng-message.mjs.map +0 -1
  701. package/fesm2022/primeng-metergroup.mjs.map +0 -1
  702. package/fesm2022/primeng-motion.mjs.map +0 -1
  703. package/fesm2022/primeng-multiselect.mjs.map +0 -1
  704. package/fesm2022/primeng-orderlist.mjs.map +0 -1
  705. package/fesm2022/primeng-organizationchart.mjs.map +0 -1
  706. package/fesm2022/primeng-overlay.mjs.map +0 -1
  707. package/fesm2022/primeng-overlaybadge.mjs.map +0 -1
  708. package/fesm2022/primeng-paginator.mjs.map +0 -1
  709. package/fesm2022/primeng-panel.mjs.map +0 -1
  710. package/fesm2022/primeng-panelmenu.mjs.map +0 -1
  711. package/fesm2022/primeng-passthrough.mjs.map +0 -1
  712. package/fesm2022/primeng-password.mjs.map +0 -1
  713. package/fesm2022/primeng-picklist.mjs.map +0 -1
  714. package/fesm2022/primeng-popover.mjs.map +0 -1
  715. package/fesm2022/primeng-progressbar.mjs.map +0 -1
  716. package/fesm2022/primeng-progressspinner.mjs.map +0 -1
  717. package/fesm2022/primeng-radiobutton.mjs.map +0 -1
  718. package/fesm2022/primeng-rating.mjs.map +0 -1
  719. package/fesm2022/primeng-ripple.mjs.map +0 -1
  720. package/fesm2022/primeng-scrollarea.mjs.map +0 -1
  721. package/fesm2022/primeng-scroller.mjs.map +0 -1
  722. package/fesm2022/primeng-scrollpanel.mjs.map +0 -1
  723. package/fesm2022/primeng-scrolltop.mjs.map +0 -1
  724. package/fesm2022/primeng-select.mjs.map +0 -1
  725. package/fesm2022/primeng-selectbutton.mjs.map +0 -1
  726. package/fesm2022/primeng-sidebar.mjs.map +0 -1
  727. package/fesm2022/primeng-skeleton.mjs.map +0 -1
  728. package/fesm2022/primeng-slider.mjs.map +0 -1
  729. package/fesm2022/primeng-speeddial.mjs.map +0 -1
  730. package/fesm2022/primeng-splitbutton.mjs.map +0 -1
  731. package/fesm2022/primeng-splitter.mjs.map +0 -1
  732. package/fesm2022/primeng-stepper.mjs.map +0 -1
  733. package/fesm2022/primeng-steps.mjs.map +0 -1
  734. package/fesm2022/primeng-styleclass.mjs.map +0 -1
  735. package/fesm2022/primeng-table.mjs.map +0 -1
  736. package/fesm2022/primeng-tabs.mjs.map +0 -1
  737. package/fesm2022/primeng-tag.mjs.map +0 -1
  738. package/fesm2022/primeng-terminal.mjs.map +0 -1
  739. package/fesm2022/primeng-textarea.mjs.map +0 -1
  740. package/fesm2022/primeng-tieredmenu.mjs.map +0 -1
  741. package/fesm2022/primeng-timeline.mjs.map +0 -1
  742. package/fesm2022/primeng-toast.mjs.map +0 -1
  743. package/fesm2022/primeng-togglebutton.mjs.map +0 -1
  744. package/fesm2022/primeng-toggleswitch.mjs.map +0 -1
  745. package/fesm2022/primeng-toolbar.mjs.map +0 -1
  746. package/fesm2022/primeng-tooltip.mjs.map +0 -1
  747. package/fesm2022/primeng-tree.mjs.map +0 -1
  748. package/fesm2022/primeng-treeselect.mjs.map +0 -1
  749. package/fesm2022/primeng-treetable.mjs.map +0 -1
  750. package/fesm2022/primeng-ts-helpers.mjs.map +0 -1
  751. package/fesm2022/primeng-types-accordion.mjs.map +0 -1
  752. package/fesm2022/primeng-types-autocomplete.mjs.map +0 -1
  753. package/fesm2022/primeng-types-avatar.mjs.map +0 -1
  754. package/fesm2022/primeng-types-avatargroup.mjs.map +0 -1
  755. package/fesm2022/primeng-types-badge.mjs.map +0 -1
  756. package/fesm2022/primeng-types-blockui.mjs.map +0 -1
  757. package/fesm2022/primeng-types-breadcrumb.mjs.map +0 -1
  758. package/fesm2022/primeng-types-button.mjs.map +0 -1
  759. package/fesm2022/primeng-types-card.mjs.map +0 -1
  760. package/fesm2022/primeng-types-carousel.mjs.map +0 -1
  761. package/fesm2022/primeng-types-cascadeselect.mjs.map +0 -1
  762. package/fesm2022/primeng-types-chart.mjs.map +0 -1
  763. package/fesm2022/primeng-types-checkbox.mjs.map +0 -1
  764. package/fesm2022/primeng-types-chip.mjs.map +0 -1
  765. package/fesm2022/primeng-types-colorpicker.mjs.map +0 -1
  766. package/fesm2022/primeng-types-commandmenu.mjs.map +0 -1
  767. package/fesm2022/primeng-types-compare.mjs.map +0 -1
  768. package/fesm2022/primeng-types-confirmdialog.mjs.map +0 -1
  769. package/fesm2022/primeng-types-confirmpopup.mjs.map +0 -1
  770. package/fesm2022/primeng-types-contextmenu.mjs.map +0 -1
  771. package/fesm2022/primeng-types-dataview.mjs.map +0 -1
  772. package/fesm2022/primeng-types-datepicker.mjs.map +0 -1
  773. package/fesm2022/primeng-types-dialog.mjs.map +0 -1
  774. package/fesm2022/primeng-types-divider.mjs.map +0 -1
  775. package/fesm2022/primeng-types-dock.mjs.map +0 -1
  776. package/fesm2022/primeng-types-drawer.mjs.map +0 -1
  777. package/fesm2022/primeng-types-editor.mjs.map +0 -1
  778. package/fesm2022/primeng-types-fieldset.mjs.map +0 -1
  779. package/fesm2022/primeng-types-fileupload.mjs.map +0 -1
  780. package/fesm2022/primeng-types-floatlabel.mjs.map +0 -1
  781. package/fesm2022/primeng-types-fluid.mjs.map +0 -1
  782. package/fesm2022/primeng-types-galleria.mjs.map +0 -1
  783. package/fesm2022/primeng-types-gallery.mjs.map +0 -1
  784. package/fesm2022/primeng-types-iconfield.mjs.map +0 -1
  785. package/fesm2022/primeng-types-iftalabel.mjs.map +0 -1
  786. package/fesm2022/primeng-types-image.mjs.map +0 -1
  787. package/fesm2022/primeng-types-imagecompare.mjs.map +0 -1
  788. package/fesm2022/primeng-types-inplace.mjs.map +0 -1
  789. package/fesm2022/primeng-types-inputcolor.mjs.map +0 -1
  790. package/fesm2022/primeng-types-inputgroup.mjs.map +0 -1
  791. package/fesm2022/primeng-types-inputgroupaddon.mjs.map +0 -1
  792. package/fesm2022/primeng-types-inputicon.mjs.map +0 -1
  793. package/fesm2022/primeng-types-inputmask.mjs.map +0 -1
  794. package/fesm2022/primeng-types-inputnumber.mjs.map +0 -1
  795. package/fesm2022/primeng-types-inputotp.mjs.map +0 -1
  796. package/fesm2022/primeng-types-inputpassword.mjs.map +0 -1
  797. package/fesm2022/primeng-types-inputtags.mjs.map +0 -1
  798. package/fesm2022/primeng-types-inputtext.mjs.map +0 -1
  799. package/fesm2022/primeng-types-knob.mjs.map +0 -1
  800. package/fesm2022/primeng-types-label.mjs.map +0 -1
  801. package/fesm2022/primeng-types-listbox.mjs.map +0 -1
  802. package/fesm2022/primeng-types-megamenu.mjs.map +0 -1
  803. package/fesm2022/primeng-types-menu.mjs.map +0 -1
  804. package/fesm2022/primeng-types-menubar.mjs.map +0 -1
  805. package/fesm2022/primeng-types-message.mjs.map +0 -1
  806. package/fesm2022/primeng-types-metergroup.mjs.map +0 -1
  807. package/fesm2022/primeng-types-motion.mjs.map +0 -1
  808. package/fesm2022/primeng-types-multiselect.mjs.map +0 -1
  809. package/fesm2022/primeng-types-orderlist.mjs.map +0 -1
  810. package/fesm2022/primeng-types-organizationchart.mjs.map +0 -1
  811. package/fesm2022/primeng-types-overlay.mjs.map +0 -1
  812. package/fesm2022/primeng-types-overlaybadge.mjs.map +0 -1
  813. package/fesm2022/primeng-types-paginator.mjs.map +0 -1
  814. package/fesm2022/primeng-types-panel.mjs.map +0 -1
  815. package/fesm2022/primeng-types-panelmenu.mjs.map +0 -1
  816. package/fesm2022/primeng-types-password.mjs.map +0 -1
  817. package/fesm2022/primeng-types-picklist.mjs.map +0 -1
  818. package/fesm2022/primeng-types-popover.mjs.map +0 -1
  819. package/fesm2022/primeng-types-progressbar.mjs.map +0 -1
  820. package/fesm2022/primeng-types-progressspinner.mjs.map +0 -1
  821. package/fesm2022/primeng-types-radiobutton.mjs.map +0 -1
  822. package/fesm2022/primeng-types-rating.mjs.map +0 -1
  823. package/fesm2022/primeng-types-scrollarea.mjs.map +0 -1
  824. package/fesm2022/primeng-types-scroller.mjs.map +0 -1
  825. package/fesm2022/primeng-types-scrollpanel.mjs.map +0 -1
  826. package/fesm2022/primeng-types-scrolltop.mjs.map +0 -1
  827. package/fesm2022/primeng-types-select.mjs.map +0 -1
  828. package/fesm2022/primeng-types-selectbutton.mjs.map +0 -1
  829. package/fesm2022/primeng-types-shared.mjs.map +0 -1
  830. package/fesm2022/primeng-types-sidebar.mjs.map +0 -1
  831. package/fesm2022/primeng-types-skeleton.mjs.map +0 -1
  832. package/fesm2022/primeng-types-slider.mjs.map +0 -1
  833. package/fesm2022/primeng-types-speeddial.mjs.map +0 -1
  834. package/fesm2022/primeng-types-splitbutton.mjs.map +0 -1
  835. package/fesm2022/primeng-types-splitter.mjs.map +0 -1
  836. package/fesm2022/primeng-types-stepper.mjs.map +0 -1
  837. package/fesm2022/primeng-types-table.mjs.map +0 -1
  838. package/fesm2022/primeng-types-tabs.mjs.map +0 -1
  839. package/fesm2022/primeng-types-tag.mjs.map +0 -1
  840. package/fesm2022/primeng-types-terminal.mjs.map +0 -1
  841. package/fesm2022/primeng-types-textarea.mjs.map +0 -1
  842. package/fesm2022/primeng-types-tieredmenu.mjs.map +0 -1
  843. package/fesm2022/primeng-types-timeline.mjs.map +0 -1
  844. package/fesm2022/primeng-types-toast.mjs.map +0 -1
  845. package/fesm2022/primeng-types-togglebutton.mjs.map +0 -1
  846. package/fesm2022/primeng-types-toggleswitch.mjs.map +0 -1
  847. package/fesm2022/primeng-types-toolbar.mjs.map +0 -1
  848. package/fesm2022/primeng-types-tooltip.mjs.map +0 -1
  849. package/fesm2022/primeng-types-tree.mjs.map +0 -1
  850. package/fesm2022/primeng-types-treeselect.mjs.map +0 -1
  851. package/fesm2022/primeng-types-treetable.mjs.map +0 -1
  852. package/fesm2022/primeng-usestyle.mjs.map +0 -1
  853. package/fesm2022/primeng-utils.mjs.map +0 -1
  854. package/fesm2022/primeng.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.3",
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.3",
74
+ ngImport: i0,
75
+ type: TreeStyle
76
+ });
77
+ };
78
+ i0.ɵɵngDeclareClassMetadata({
79
+ minVersion: "12.0.0",
80
+ version: "22.2.3",
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.pcn(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 this.pcn(UITreeNode.ICON_CLASS) + " " + icon + " " + this.pcn("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
+ this.$overlayParent(this.document.body, dragEl).appendChild(dragEl);
370
+ event.dataTransfer?.setDragImage(dragEl, 0, 0);
371
+ setTimeout(() => dragEl.remove(), 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.3",
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.3",
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.3",
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,1160 +1004,1260 @@ 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.3",
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.3",
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
- <div [class]="cx('mask')" [pBind]="ptm('mask')" animate.enter="p-overlay-mask-enter-active" animate.leave="p-overlay-mask-leave-active">
2260
+ <div [class]="cx('mask')" [pBind]="ptm('mask')" [animate.enter]="pcn('p-overlay-mask-enter-active')" [animate.leave]="pcn('p-overlay-mask-leave-active')">
2074
2261
  @if (loadingIcon()) {
2075
2262
  <i [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon())" [pBind]="ptm('loadingIcon')"></i>
2076
2263
  }
@@ -2200,17 +2387,157 @@ 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.3",
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
- <div [class]="cx('mask')" [pBind]="ptm('mask')" animate.enter="p-overlay-mask-enter-active" animate.leave="p-overlay-mask-leave-active">
2540
+ <div [class]="cx('mask')" [pBind]="ptm('mask')" [animate.enter]="pcn('p-overlay-mask-enter-active')" [animate.leave]="pcn('p-overlay-mask-leave-active')">
2214
2541
  @if (loadingIcon()) {
2215
2542
  <i [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon())" [pBind]="ptm('loadingIcon')"></i>
2216
2543
  }
@@ -2341,36 +2668,512 @@ 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.3",
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.3",
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.3",
3160
+ ngImport: i0,
3161
+ type: TreeModule,
3162
+ imports: [Tree]
3163
+ });
3164
+ };
3165
+ i0.ɵɵngDeclareClassMetadata({
3166
+ minVersion: "12.0.0",
3167
+ version: "22.2.3",
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
+