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.
- package/fesm2022/primeng-accordion.mjs +999 -596
- package/fesm2022/primeng-animateonscroll.mjs +265 -174
- package/fesm2022/primeng-api.mjs +887 -848
- package/fesm2022/primeng-autocomplete.mjs +2535 -1633
- package/fesm2022/primeng-autofocus.mjs +113 -77
- package/fesm2022/primeng-avatar.mjs +329 -189
- package/fesm2022/primeng-avatargroup.mjs +177 -95
- package/fesm2022/primeng-badge.mjs +289 -156
- package/fesm2022/primeng-base.mjs +105 -83
- package/fesm2022/primeng-basecomponent.mjs +592 -478
- package/fesm2022/primeng-baseeditableholder.mjs +130 -74
- package/fesm2022/primeng-baseinput.mjs +213 -99
- package/fesm2022/primeng-basemodelholder.mjs +38 -26
- package/fesm2022/primeng-bind.mjs +157 -97
- package/fesm2022/primeng-blockui.mjs +359 -225
- package/fesm2022/primeng-breadcrumb.mjs +457 -220
- package/fesm2022/primeng-button.mjs +1562 -710
- package/fesm2022/primeng-buttongroup.mjs +126 -75
- package/fesm2022/primeng-card.mjs +388 -178
- package/fesm2022/primeng-carousel.mjs +2398 -1776
- package/fesm2022/primeng-cascadeselect.mjs +2380 -1407
- package/fesm2022/primeng-chart.mjs +401 -231
- package/fesm2022/primeng-checkbox.mjs +649 -351
- package/fesm2022/primeng-chip.mjs +410 -224
- package/fesm2022/primeng-classnames.mjs +94 -48
- package/fesm2022/primeng-colorpicker.mjs +889 -635
- package/fesm2022/primeng-commandmenu.mjs +567 -313
- package/fesm2022/primeng-compare.mjs +842 -481
- package/fesm2022/primeng-config.mjs +436 -321
- package/fesm2022/primeng-confirmdialog.mjs +1196 -536
- package/fesm2022/primeng-confirmpopup.mjs +815 -522
- package/fesm2022/primeng-contextmenu.mjs +1871 -1090
- package/fesm2022/primeng-dataview.mjs +1129 -550
- package/fesm2022/primeng-datepicker.mjs +3783 -3366
- package/fesm2022/primeng-dialog.mjs +1649 -977
- package/fesm2022/primeng-divider.mjs +271 -146
- package/fesm2022/primeng-dock.mjs +608 -391
- package/fesm2022/primeng-dom.mjs +611 -767
- package/fesm2022/primeng-dragdrop.mjs +324 -312
- package/fesm2022/primeng-drawer.mjs +911 -484
- package/fesm2022/primeng-dynamicdialog.mjs +829 -917
- package/fesm2022/primeng-editor.mjs +546 -391
- package/fesm2022/primeng-fieldset.mjs +559 -273
- package/fesm2022/primeng-fileupload.mjs +1843 -1062
- package/fesm2022/primeng-floatlabel.mjs +186 -102
- package/fesm2022/primeng-fluid.mjs +155 -85
- package/fesm2022/primeng-focustrap.mjs +149 -112
- package/fesm2022/primeng-galleria.mjs +2594 -1412
- package/fesm2022/primeng-gallery.mjs +2767 -1796
- package/fesm2022/primeng-iconfield.mjs +191 -93
- package/fesm2022/primeng-icons-angledoubledown.mjs +40 -23
- package/fesm2022/primeng-icons-angledoubleleft.mjs +40 -23
- package/fesm2022/primeng-icons-angledoubleright.mjs +40 -23
- package/fesm2022/primeng-icons-angledoubleup.mjs +40 -23
- package/fesm2022/primeng-icons-angledown.mjs +40 -23
- package/fesm2022/primeng-icons-angleleft.mjs +40 -23
- package/fesm2022/primeng-icons-angleright.mjs +40 -23
- package/fesm2022/primeng-icons-angleup.mjs +40 -23
- package/fesm2022/primeng-icons-arrowdown.mjs +44 -28
- package/fesm2022/primeng-icons-arrowdownleft.mjs +40 -23
- package/fesm2022/primeng-icons-arrowdownright.mjs +40 -23
- package/fesm2022/primeng-icons-arrowleft.mjs +44 -28
- package/fesm2022/primeng-icons-arrowright.mjs +40 -23
- package/fesm2022/primeng-icons-arrowup.mjs +44 -28
- package/fesm2022/primeng-icons-ban.mjs +44 -28
- package/fesm2022/primeng-icons-bars.mjs +40 -23
- package/fesm2022/primeng-icons-baseicon.mjs +110 -67
- package/fesm2022/primeng-icons-blank.mjs +39 -22
- package/fesm2022/primeng-icons-calendar.mjs +40 -23
- package/fesm2022/primeng-icons-caretleft.mjs +40 -23
- package/fesm2022/primeng-icons-caretright.mjs +40 -23
- package/fesm2022/primeng-icons-check.mjs +40 -23
- package/fesm2022/primeng-icons-chevrondown.mjs +40 -23
- package/fesm2022/primeng-icons-chevronleft.mjs +40 -23
- package/fesm2022/primeng-icons-chevronright.mjs +40 -23
- package/fesm2022/primeng-icons-chevronup.mjs +40 -23
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +44 -28
- package/fesm2022/primeng-icons-eye.mjs +40 -23
- package/fesm2022/primeng-icons-eyeslash.mjs +44 -28
- package/fesm2022/primeng-icons-filter.mjs +44 -28
- package/fesm2022/primeng-icons-filterfill.mjs +40 -23
- package/fesm2022/primeng-icons-filterslash.mjs +44 -28
- package/fesm2022/primeng-icons-home.mjs +44 -28
- package/fesm2022/primeng-icons-infocircle.mjs +44 -28
- package/fesm2022/primeng-icons-minus.mjs +40 -23
- package/fesm2022/primeng-icons-pencil.mjs +44 -28
- package/fesm2022/primeng-icons-plus.mjs +44 -28
- package/fesm2022/primeng-icons-refresh.mjs +44 -28
- package/fesm2022/primeng-icons-search.mjs +44 -28
- package/fesm2022/primeng-icons-searchminus.mjs +44 -28
- package/fesm2022/primeng-icons-searchplus.mjs +44 -28
- package/fesm2022/primeng-icons-sortalt.mjs +44 -28
- package/fesm2022/primeng-icons-sortamountdown.mjs +44 -28
- package/fesm2022/primeng-icons-sortamountupalt.mjs +44 -28
- package/fesm2022/primeng-icons-spinner.mjs +44 -28
- package/fesm2022/primeng-icons-star.mjs +44 -28
- package/fesm2022/primeng-icons-starfill.mjs +44 -28
- package/fesm2022/primeng-icons-thlarge.mjs +44 -28
- package/fesm2022/primeng-icons-times.mjs +40 -23
- package/fesm2022/primeng-icons-timescircle.mjs +44 -28
- package/fesm2022/primeng-icons-trash.mjs +44 -28
- package/fesm2022/primeng-icons-undo.mjs +44 -28
- package/fesm2022/primeng-icons-upload.mjs +44 -28
- package/fesm2022/primeng-icons-windowmaximize.mjs +44 -28
- package/fesm2022/primeng-icons-windowminimize.mjs +44 -28
- package/fesm2022/primeng-icons.mjs +53 -63
- package/fesm2022/primeng-iftalabel.mjs +152 -86
- package/fesm2022/primeng-image.mjs +1022 -534
- package/fesm2022/primeng-imagecompare.mjs +324 -165
- package/fesm2022/primeng-inplace.mjs +400 -199
- package/fesm2022/primeng-inputcolor.mjs +2626 -2189
- package/fesm2022/primeng-inputgroup.mjs +158 -91
- package/fesm2022/primeng-inputgroupaddon.mjs +152 -68
- package/fesm2022/primeng-inputicon.mjs +172 -72
- package/fesm2022/primeng-inputmask.mjs +1606 -1387
- package/fesm2022/primeng-inputnumber.mjs +1645 -1305
- package/fesm2022/primeng-inputotp.mjs +570 -376
- package/fesm2022/primeng-inputpassword.mjs +178 -96
- package/fesm2022/primeng-inputtags.mjs +1211 -588
- package/fesm2022/primeng-inputtext.mjs +324 -175
- package/fesm2022/primeng-isolation.mjs +280 -0
- package/fesm2022/primeng-keyfilter.mjs +267 -244
- package/fesm2022/primeng-knob.mjs +625 -405
- package/fesm2022/primeng-label.mjs +142 -81
- package/fesm2022/primeng-license.mjs +9 -36
- package/fesm2022/primeng-listbox.mjs +2426 -1622
- package/fesm2022/primeng-megamenu.mjs +2008 -1143
- package/fesm2022/primeng-menu.mjs +1434 -852
- package/fesm2022/primeng-menubar.mjs +1836 -996
- package/fesm2022/primeng-message.mjs +471 -239
- package/fesm2022/primeng-metergroup.mjs +662 -331
- package/fesm2022/primeng-motion.mjs +1178 -690
- package/fesm2022/primeng-multiselect.mjs +3421 -1940
- package/fesm2022/primeng-orderlist.mjs +1320 -668
- package/fesm2022/primeng-organizationchart.mjs +911 -595
- package/fesm2022/primeng-overlay.mjs +933 -626
- package/fesm2022/primeng-overlaybadge.mjs +290 -107
- package/fesm2022/primeng-paginator.mjs +961 -503
- package/fesm2022/primeng-panel.mjs +668 -345
- package/fesm2022/primeng-panelmenu.mjs +1845 -1002
- package/fesm2022/primeng-passthrough.mjs +7 -16
- package/fesm2022/primeng-password.mjs +1517 -866
- package/fesm2022/primeng-picklist.mjs +2278 -1256
- package/fesm2022/primeng-popover.mjs +658 -438
- package/fesm2022/primeng-progressbar.mjs +345 -168
- package/fesm2022/primeng-progressspinner.mjs +337 -188
- package/fesm2022/primeng-radiobutton.mjs +498 -292
- package/fesm2022/primeng-rating.mjs +583 -354
- package/fesm2022/primeng-ripple.mjs +195 -184
- package/fesm2022/primeng-scrollarea.mjs +1017 -721
- package/fesm2022/primeng-scroller.mjs +1388 -1083
- package/fesm2022/primeng-scrollpanel.mjs +567 -480
- package/fesm2022/primeng-scrolltop.mjs +510 -262
- package/fesm2022/primeng-select.mjs +3073 -1793
- package/fesm2022/primeng-selectbutton.mjs +628 -339
- package/fesm2022/primeng-sidebar.mjs +2559 -1416
- package/fesm2022/primeng-skeleton.mjs +299 -157
- package/fesm2022/primeng-slider.mjs +840 -604
- package/fesm2022/primeng-speeddial.mjs +1118 -719
- package/fesm2022/primeng-splitbutton.mjs +887 -339
- package/fesm2022/primeng-splitter.mjs +996 -759
- package/fesm2022/primeng-stepper.mjs +1356 -643
- package/fesm2022/primeng-steps.mjs +396 -304
- package/fesm2022/primeng-styleclass.mjs +447 -334
- package/fesm2022/primeng-table.mjs +9827 -5913
- package/fesm2022/primeng-tabs.mjs +1356 -831
- package/fesm2022/primeng-tag.mjs +304 -151
- package/fesm2022/primeng-terminal.mjs +367 -216
- package/fesm2022/primeng-textarea.mjs +344 -208
- package/fesm2022/primeng-tieredmenu.mjs +1921 -1129
- package/fesm2022/primeng-timeline.mjs +303 -165
- package/fesm2022/primeng-toast.mjs +1384 -922
- package/fesm2022/primeng-togglebutton.mjs +562 -309
- package/fesm2022/primeng-toggleswitch.mjs +463 -237
- package/fesm2022/primeng-toolbar.mjs +298 -129
- package/fesm2022/primeng-tooltip.mjs +1017 -778
- package/fesm2022/primeng-tree.mjs +2680 -1877
- package/fesm2022/primeng-treeselect.mjs +1683 -945
- package/fesm2022/primeng-treetable.mjs +5868 -3768
- package/fesm2022/primeng-ts-helpers.mjs +0 -4
- package/fesm2022/primeng-types-accordion.mjs +0 -4
- package/fesm2022/primeng-types-autocomplete.mjs +0 -4
- package/fesm2022/primeng-types-avatar.mjs +0 -4
- package/fesm2022/primeng-types-avatargroup.mjs +0 -4
- package/fesm2022/primeng-types-badge.mjs +0 -4
- package/fesm2022/primeng-types-blockui.mjs +0 -4
- package/fesm2022/primeng-types-breadcrumb.mjs +0 -4
- package/fesm2022/primeng-types-button.mjs +0 -4
- package/fesm2022/primeng-types-card.mjs +0 -4
- package/fesm2022/primeng-types-carousel.mjs +0 -4
- package/fesm2022/primeng-types-cascadeselect.mjs +0 -4
- package/fesm2022/primeng-types-chart.mjs +0 -4
- package/fesm2022/primeng-types-checkbox.mjs +0 -4
- package/fesm2022/primeng-types-chip.mjs +0 -4
- package/fesm2022/primeng-types-colorpicker.mjs +0 -4
- package/fesm2022/primeng-types-commandmenu.mjs +0 -4
- package/fesm2022/primeng-types-compare.mjs +0 -4
- package/fesm2022/primeng-types-confirmdialog.mjs +0 -4
- package/fesm2022/primeng-types-confirmpopup.mjs +0 -4
- package/fesm2022/primeng-types-contextmenu.mjs +0 -4
- package/fesm2022/primeng-types-dataview.mjs +0 -4
- package/fesm2022/primeng-types-datepicker.mjs +0 -4
- package/fesm2022/primeng-types-dialog.mjs +0 -4
- package/fesm2022/primeng-types-divider.mjs +0 -4
- package/fesm2022/primeng-types-dock.mjs +0 -4
- package/fesm2022/primeng-types-drawer.mjs +0 -4
- package/fesm2022/primeng-types-editor.mjs +0 -4
- package/fesm2022/primeng-types-fieldset.mjs +0 -4
- package/fesm2022/primeng-types-fileupload.mjs +0 -4
- package/fesm2022/primeng-types-floatlabel.mjs +0 -4
- package/fesm2022/primeng-types-fluid.mjs +0 -4
- package/fesm2022/primeng-types-galleria.mjs +0 -4
- package/fesm2022/primeng-types-gallery.mjs +0 -4
- package/fesm2022/primeng-types-iconfield.mjs +0 -4
- package/fesm2022/primeng-types-iftalabel.mjs +0 -4
- package/fesm2022/primeng-types-image.mjs +0 -4
- package/fesm2022/primeng-types-imagecompare.mjs +0 -4
- package/fesm2022/primeng-types-inplace.mjs +0 -4
- package/fesm2022/primeng-types-inputcolor.mjs +0 -4
- package/fesm2022/primeng-types-inputgroup.mjs +0 -4
- package/fesm2022/primeng-types-inputgroupaddon.mjs +0 -4
- package/fesm2022/primeng-types-inputicon.mjs +0 -4
- package/fesm2022/primeng-types-inputmask.mjs +0 -4
- package/fesm2022/primeng-types-inputnumber.mjs +0 -4
- package/fesm2022/primeng-types-inputotp.mjs +0 -4
- package/fesm2022/primeng-types-inputpassword.mjs +0 -4
- package/fesm2022/primeng-types-inputtags.mjs +0 -4
- package/fesm2022/primeng-types-inputtext.mjs +0 -4
- package/fesm2022/primeng-types-knob.mjs +0 -4
- package/fesm2022/primeng-types-label.mjs +0 -4
- package/fesm2022/primeng-types-listbox.mjs +0 -4
- package/fesm2022/primeng-types-megamenu.mjs +0 -4
- package/fesm2022/primeng-types-menu.mjs +0 -4
- package/fesm2022/primeng-types-menubar.mjs +0 -4
- package/fesm2022/primeng-types-message.mjs +0 -4
- package/fesm2022/primeng-types-metergroup.mjs +0 -4
- package/fesm2022/primeng-types-motion.mjs +0 -4
- package/fesm2022/primeng-types-multiselect.mjs +0 -4
- package/fesm2022/primeng-types-orderlist.mjs +0 -4
- package/fesm2022/primeng-types-organizationchart.mjs +0 -4
- package/fesm2022/primeng-types-overlay.mjs +0 -4
- package/fesm2022/primeng-types-overlaybadge.mjs +0 -4
- package/fesm2022/primeng-types-paginator.mjs +0 -4
- package/fesm2022/primeng-types-panel.mjs +0 -4
- package/fesm2022/primeng-types-panelmenu.mjs +0 -4
- package/fesm2022/primeng-types-password.mjs +0 -4
- package/fesm2022/primeng-types-picklist.mjs +0 -4
- package/fesm2022/primeng-types-popover.mjs +0 -4
- package/fesm2022/primeng-types-progressbar.mjs +0 -4
- package/fesm2022/primeng-types-progressspinner.mjs +0 -4
- package/fesm2022/primeng-types-radiobutton.mjs +0 -4
- package/fesm2022/primeng-types-rating.mjs +0 -4
- package/fesm2022/primeng-types-scrollarea.mjs +0 -4
- package/fesm2022/primeng-types-scroller.mjs +0 -4
- package/fesm2022/primeng-types-scrollpanel.mjs +0 -4
- package/fesm2022/primeng-types-scrolltop.mjs +0 -4
- package/fesm2022/primeng-types-select.mjs +0 -4
- package/fesm2022/primeng-types-selectbutton.mjs +0 -4
- package/fesm2022/primeng-types-shared.mjs +0 -4
- package/fesm2022/primeng-types-sidebar.mjs +0 -4
- package/fesm2022/primeng-types-skeleton.mjs +0 -4
- package/fesm2022/primeng-types-slider.mjs +0 -4
- package/fesm2022/primeng-types-speeddial.mjs +0 -4
- package/fesm2022/primeng-types-splitbutton.mjs +0 -4
- package/fesm2022/primeng-types-splitter.mjs +0 -4
- package/fesm2022/primeng-types-stepper.mjs +0 -4
- package/fesm2022/primeng-types-table.mjs +0 -4
- package/fesm2022/primeng-types-tabs.mjs +0 -4
- package/fesm2022/primeng-types-tag.mjs +0 -4
- package/fesm2022/primeng-types-terminal.mjs +0 -4
- package/fesm2022/primeng-types-textarea.mjs +0 -4
- package/fesm2022/primeng-types-tieredmenu.mjs +0 -4
- package/fesm2022/primeng-types-timeline.mjs +0 -4
- package/fesm2022/primeng-types-toast.mjs +0 -4
- package/fesm2022/primeng-types-togglebutton.mjs +0 -4
- package/fesm2022/primeng-types-toggleswitch.mjs +0 -4
- package/fesm2022/primeng-types-toolbar.mjs +0 -4
- package/fesm2022/primeng-types-tooltip.mjs +0 -4
- package/fesm2022/primeng-types-tree.mjs +0 -4
- package/fesm2022/primeng-types-treeselect.mjs +0 -4
- package/fesm2022/primeng-types-treetable.mjs +0 -4
- package/fesm2022/primeng-useid.mjs +38 -0
- package/fesm2022/primeng-usestyle.mjs +325 -112
- package/fesm2022/primeng-utils.mjs +267 -317
- package/fesm2022/primeng.mjs +0 -5
- package/package.json +17 -4
- package/types/primeng-accordion.d.ts +280 -219
- package/types/primeng-animateonscroll.d.ts +89 -60
- package/types/primeng-api.d.ts +1755 -1789
- package/types/primeng-autocomplete.d.ts +1051 -754
- package/types/primeng-autofocus.d.ts +27 -24
- package/types/primeng-avatar.d.ts +152 -114
- package/types/primeng-avatargroup.d.ts +45 -40
- package/types/primeng-badge.d.ts +104 -78
- package/types/primeng-base.d.ts +51 -52
- package/types/primeng-basecomponent.d.ts +209 -174
- package/types/primeng-baseeditableholder.d.ts +63 -45
- package/types/primeng-baseinput.d.ts +122 -74
- package/types/primeng-basemodelholder.d.ts +9 -12
- package/types/primeng-bind.d.ts +36 -32
- package/types/primeng-blockui.d.ts +99 -80
- package/types/primeng-breadcrumb.d.ts +159 -133
- package/types/primeng-button.d.ts +688 -426
- package/types/primeng-buttongroup.d.ts +26 -30
- package/types/primeng-card.d.ts +130 -119
- package/types/primeng-carousel.d.ts +777 -629
- package/types/primeng-cascadeselect.d.ts +753 -562
- package/types/primeng-chart.d.ts +158 -112
- package/types/primeng-checkbox.d.ts +298 -208
- package/types/primeng-chip.d.ts +187 -143
- package/types/primeng-classnames.d.ts +23 -21
- package/types/primeng-colorpicker.d.ts +324 -269
- package/types/primeng-commandmenu.d.ts +213 -165
- package/types/primeng-compare.d.ts +258 -189
- package/types/primeng-config.d.ts +319 -304
- package/types/primeng-confirmdialog.d.ts +505 -325
- package/types/primeng-confirmpopup.d.ts +251 -207
- package/types/primeng-contextmenu.d.ts +522 -366
- package/types/primeng-dataview.d.ts +497 -342
- package/types/primeng-datepicker.d.ts +1258 -969
- package/types/primeng-dialog.d.ts +668 -462
- package/types/primeng-divider.d.ts +112 -96
- package/types/primeng-dock.d.ts +206 -172
- package/types/primeng-dom.d.ts +99 -107
- package/types/primeng-dragdrop.d.ts +143 -107
- package/types/primeng-drawer.d.ts +354 -254
- package/types/primeng-dynamicdialog.d.ts +528 -534
- package/types/primeng-editor.d.ts +210 -162
- package/types/primeng-fieldset.d.ts +198 -163
- package/types/primeng-fileupload.d.ts +726 -523
- package/types/primeng-floatlabel.d.ts +54 -48
- package/types/primeng-fluid.d.ts +36 -36
- package/types/primeng-focustrap.d.ts +30 -27
- package/types/primeng-galleria.d.ts +569 -430
- package/types/primeng-gallery.d.ts +668 -529
- package/types/primeng-iconfield.d.ts +53 -42
- package/types/primeng-icons-angledoubledown.d.ts +6 -9
- package/types/primeng-icons-angledoubleleft.d.ts +6 -9
- package/types/primeng-icons-angledoubleright.d.ts +6 -9
- package/types/primeng-icons-angledoubleup.d.ts +6 -9
- package/types/primeng-icons-angledown.d.ts +6 -9
- package/types/primeng-icons-angleleft.d.ts +6 -9
- package/types/primeng-icons-angleright.d.ts +6 -9
- package/types/primeng-icons-angleup.d.ts +6 -9
- package/types/primeng-icons-arrowdown.d.ts +8 -11
- package/types/primeng-icons-arrowdownleft.d.ts +6 -9
- package/types/primeng-icons-arrowdownright.d.ts +6 -9
- package/types/primeng-icons-arrowleft.d.ts +8 -11
- package/types/primeng-icons-arrowright.d.ts +6 -9
- package/types/primeng-icons-arrowup.d.ts +8 -11
- package/types/primeng-icons-ban.d.ts +8 -11
- package/types/primeng-icons-bars.d.ts +6 -9
- package/types/primeng-icons-baseicon.d.ts +23 -22
- package/types/primeng-icons-blank.d.ts +6 -9
- package/types/primeng-icons-calendar.d.ts +6 -9
- package/types/primeng-icons-caretleft.d.ts +6 -9
- package/types/primeng-icons-caretright.d.ts +6 -9
- package/types/primeng-icons-check.d.ts +6 -9
- package/types/primeng-icons-chevrondown.d.ts +6 -9
- package/types/primeng-icons-chevronleft.d.ts +6 -9
- package/types/primeng-icons-chevronright.d.ts +6 -9
- package/types/primeng-icons-chevronup.d.ts +6 -9
- package/types/primeng-icons-exclamationtriangle.d.ts +8 -11
- package/types/primeng-icons-eye.d.ts +6 -9
- package/types/primeng-icons-eyeslash.d.ts +8 -11
- package/types/primeng-icons-filter.d.ts +8 -11
- package/types/primeng-icons-filterfill.d.ts +6 -9
- package/types/primeng-icons-filterslash.d.ts +8 -11
- package/types/primeng-icons-home.d.ts +8 -11
- package/types/primeng-icons-infocircle.d.ts +8 -11
- package/types/primeng-icons-minus.d.ts +6 -9
- package/types/primeng-icons-pencil.d.ts +8 -11
- package/types/primeng-icons-plus.d.ts +8 -11
- package/types/primeng-icons-refresh.d.ts +8 -11
- package/types/primeng-icons-search.d.ts +8 -11
- package/types/primeng-icons-searchminus.d.ts +8 -11
- package/types/primeng-icons-searchplus.d.ts +8 -11
- package/types/primeng-icons-sortalt.d.ts +8 -11
- package/types/primeng-icons-sortamountdown.d.ts +8 -11
- package/types/primeng-icons-sortamountupalt.d.ts +8 -11
- package/types/primeng-icons-spinner.d.ts +8 -11
- package/types/primeng-icons-star.d.ts +8 -11
- package/types/primeng-icons-starfill.d.ts +8 -11
- package/types/primeng-icons-thlarge.d.ts +8 -11
- package/types/primeng-icons-times.d.ts +6 -9
- package/types/primeng-icons-timescircle.d.ts +8 -11
- package/types/primeng-icons-trash.d.ts +8 -11
- package/types/primeng-icons-undo.d.ts +8 -11
- package/types/primeng-icons-upload.d.ts +8 -11
- package/types/primeng-icons-windowmaximize.d.ts +8 -11
- package/types/primeng-icons-windowminimize.d.ts +8 -11
- package/types/primeng-icons.d.ts +53 -53
- package/types/primeng-iftalabel.d.ts +37 -37
- package/types/primeng-image.d.ts +403 -308
- package/types/primeng-imagecompare.d.ts +93 -77
- package/types/primeng-inplace.d.ts +125 -111
- package/types/primeng-inputcolor.d.ts +590 -484
- package/types/primeng-inputgroup.d.ts +41 -41
- package/types/primeng-inputgroupaddon.d.ts +31 -31
- package/types/primeng-inputicon.d.ts +38 -32
- package/types/primeng-inputmask.d.ts +519 -362
- package/types/primeng-inputnumber.d.ts +572 -405
- package/types/primeng-inputotp.d.ts +205 -156
- package/types/primeng-inputpassword.d.ts +59 -43
- package/types/primeng-inputtags.d.ts +451 -297
- package/types/primeng-inputtext.d.ts +129 -93
- package/types/primeng-isolation.d.ts +21 -0
- package/types/primeng-keyfilter.d.ts +62 -53
- package/types/primeng-knob.d.ts +256 -183
- package/types/primeng-label.d.ts +36 -36
- package/types/primeng-license.d.ts +1 -3
- package/types/primeng-listbox.d.ts +1041 -786
- package/types/primeng-megamenu.d.ts +539 -383
- package/types/primeng-menu.d.ts +477 -361
- package/types/primeng-menubar.d.ts +495 -354
- package/types/primeng-message.d.ts +191 -148
- package/types/primeng-metergroup.d.ts +249 -187
- package/types/primeng-motion.d.ts +596 -383
- package/types/primeng-multiselect.d.ts +1194 -858
- package/types/primeng-orderlist.d.ts +539 -390
- package/types/primeng-organizationchart.d.ts +235 -192
- package/types/primeng-overlay.d.ts +394 -294
- package/types/primeng-overlaybadge.d.ts +95 -64
- package/types/primeng-paginator.d.ts +409 -309
- package/types/primeng-panel.d.ts +267 -217
- package/types/primeng-panelmenu.d.ts +254 -228
- package/types/primeng-passthrough.d.ts +5 -7
- package/types/primeng-password.d.ts +605 -430
- package/types/primeng-picklist.d.ts +1042 -756
- package/types/primeng-popover.d.ts +235 -176
- package/types/primeng-progressbar.d.ts +130 -99
- package/types/primeng-progressspinner.d.ts +144 -108
- package/types/primeng-radiobutton.d.ts +218 -168
- package/types/primeng-rating.d.ts +239 -189
- package/types/primeng-ripple.d.ts +38 -42
- package/types/primeng-scrollarea.d.ts +275 -239
- package/types/primeng-scroller.d.ts +523 -387
- package/types/primeng-scrollpanel.d.ts +134 -128
- package/types/primeng-scrolltop.d.ts +169 -123
- package/types/primeng-select.d.ts +1054 -738
- package/types/primeng-selectbutton.d.ts +238 -164
- package/types/primeng-sidebar.d.ts +699 -535
- package/types/primeng-skeleton.d.ts +114 -83
- package/types/primeng-slider.d.ts +375 -306
- package/types/primeng-speeddial.d.ts +492 -370
- package/types/primeng-splitbutton.d.ts +381 -240
- package/types/primeng-splitter.d.ts +389 -299
- package/types/primeng-stepper.d.ts +405 -250
- package/types/primeng-steps.d.ts +157 -134
- package/types/primeng-styleclass.d.ts +163 -105
- package/types/primeng-table.d.ts +2826 -1912
- package/types/primeng-tabs.d.ts +452 -300
- package/types/primeng-tag.d.ts +106 -85
- package/types/primeng-terminal.d.ts +131 -117
- package/types/primeng-textarea.d.ts +145 -107
- package/types/primeng-tieredmenu.d.ts +572 -398
- package/types/primeng-timeline.d.ts +125 -109
- package/types/primeng-toast.d.ts +312 -247
- package/types/primeng-togglebutton.d.ts +254 -182
- package/types/primeng-toggleswitch.d.ts +188 -140
- package/types/primeng-toolbar.d.ts +82 -76
- package/types/primeng-tooltip.d.ts +334 -232
- package/types/primeng-tree.d.ts +762 -559
- package/types/primeng-treeselect.d.ts +749 -547
- package/types/primeng-treetable.d.ts +1752 -1314
- package/types/primeng-ts-helpers.d.ts +4 -6
- package/types/primeng-types-accordion.d.ts +58 -62
- package/types/primeng-types-autocomplete.d.ts +230 -233
- package/types/primeng-types-avatar.d.ts +25 -28
- package/types/primeng-types-avatargroup.d.ts +11 -14
- package/types/primeng-types-badge.d.ts +13 -16
- package/types/primeng-types-blockui.d.ts +18 -21
- package/types/primeng-types-breadcrumb.d.ts +65 -68
- package/types/primeng-types-button.d.ts +106 -109
- package/types/primeng-types-card.d.ts +54 -57
- package/types/primeng-types-carousel.d.ts +143 -146
- package/types/primeng-types-cascadeselect.d.ts +186 -192
- package/types/primeng-types-chart.d.ts +34 -39
- package/types/primeng-types-checkbox.d.ts +52 -55
- package/types/primeng-types-chip.d.ts +48 -51
- package/types/primeng-types-colorpicker.d.ts +59 -62
- package/types/primeng-types-commandmenu.d.ts +98 -101
- package/types/primeng-types-compare.d.ts +33 -36
- package/types/primeng-types-confirmdialog.d.ts +124 -127
- package/types/primeng-types-confirmpopup.d.ts +75 -78
- package/types/primeng-types-contextmenu.d.ts +100 -103
- package/types/primeng-types-dataview.d.ts +180 -183
- package/types/primeng-types-datepicker.d.ts +442 -445
- package/types/primeng-types-dialog.d.ts +93 -96
- package/types/primeng-types-divider.d.ts +14 -17
- package/types/primeng-types-dock.d.ts +45 -48
- package/types/primeng-types-drawer.d.ts +62 -65
- package/types/primeng-types-editor.d.ts +143 -146
- package/types/primeng-types-fieldset.d.ts +83 -87
- package/types/primeng-types-fileupload.d.ts +296 -301
- package/types/primeng-types-floatlabel.d.ts +12 -15
- package/types/primeng-types-fluid.d.ts +11 -14
- package/types/primeng-types-galleria.d.ts +209 -212
- package/types/primeng-types-gallery.d.ts +195 -198
- package/types/primeng-types-iconfield.d.ts +12 -15
- package/types/primeng-types-iftalabel.d.ts +11 -14
- package/types/primeng-types-image.d.ts +118 -121
- package/types/primeng-types-imagecompare.d.ts +22 -25
- package/types/primeng-types-inplace.d.ts +46 -49
- package/types/primeng-types-inputcolor.d.ts +86 -89
- package/types/primeng-types-inputgroup.d.ts +11 -14
- package/types/primeng-types-inputgroupaddon.d.ts +11 -14
- package/types/primeng-types-inputicon.d.ts +11 -14
- package/types/primeng-types-inputmask.d.ts +30 -33
- package/types/primeng-types-inputnumber.d.ts +72 -75
- package/types/primeng-types-inputotp.d.ts +67 -70
- package/types/primeng-types-inputpassword.d.ts +7 -10
- package/types/primeng-types-inputtags.d.ts +122 -125
- package/types/primeng-types-inputtext.d.ts +7 -10
- package/types/primeng-types-knob.d.ts +23 -26
- package/types/primeng-types-label.d.ts +7 -10
- package/types/primeng-types-listbox.d.ts +263 -267
- package/types/primeng-types-megamenu.d.ts +135 -138
- package/types/primeng-types-menu.d.ts +98 -101
- package/types/primeng-types-menubar.d.ts +122 -125
- package/types/primeng-types-message.d.ts +69 -72
- package/types/primeng-types-metergroup.d.ts +137 -140
- package/types/primeng-types-motion.d.ts +11 -14
- package/types/primeng-types-multiselect.d.ts +329 -333
- package/types/primeng-types-orderlist.d.ts +126 -129
- package/types/primeng-types-organizationchart.d.ts +147 -153
- package/types/primeng-types-overlay.d.ts +31 -34
- package/types/primeng-types-overlaybadge.d.ts +17 -20
- package/types/primeng-types-paginator.d.ts +131 -134
- package/types/primeng-types-panel.d.ts +91 -95
- package/types/primeng-types-panelmenu.d.ts +150 -153
- package/types/primeng-types-password.d.ts +94 -97
- package/types/primeng-types-picklist.d.ts +250 -260
- package/types/primeng-types-popover.d.ts +33 -36
- package/types/primeng-types-progressbar.d.ts +33 -36
- package/types/primeng-types-progressspinner.d.ts +27 -30
- package/types/primeng-types-radiobutton.d.ts +29 -32
- package/types/primeng-types-rating.d.ts +62 -65
- package/types/primeng-types-scrollarea.d.ts +35 -38
- package/types/primeng-types-scroller.d.ts +142 -146
- package/types/primeng-types-scrollpanel.d.ts +31 -34
- package/types/primeng-types-scrolltop.d.ts +37 -40
- package/types/primeng-types-select.d.ts +255 -254
- package/types/primeng-types-selectbutton.d.ts +56 -59
- package/types/primeng-types-shared.d.ts +6 -9
- package/types/primeng-types-sidebar.d.ts +105 -108
- package/types/primeng-types-skeleton.d.ts +11 -14
- package/types/primeng-types-slider.d.ts +59 -62
- package/types/primeng-types-speeddial.d.ts +71 -74
- package/types/primeng-types-splitbutton.d.ts +35 -38
- package/types/primeng-types-splitter.d.ts +58 -63
- package/types/primeng-types-stepper.d.ts +77 -80
- package/types/primeng-types-table.d.ts +743 -749
- package/types/primeng-types-tabs.d.ts +48 -51
- package/types/primeng-types-tag.d.ts +27 -30
- package/types/primeng-types-terminal.d.ts +43 -46
- package/types/primeng-types-textarea.d.ts +11 -14
- package/types/primeng-types-tieredmenu.d.ts +154 -157
- package/types/primeng-types-timeline.d.ts +60 -63
- package/types/primeng-types-toast.d.ts +92 -95
- package/types/primeng-types-togglebutton.d.ts +52 -55
- package/types/primeng-types-toggleswitch.d.ts +41 -44
- package/types/primeng-types-toolbar.d.ts +34 -37
- package/types/primeng-types-tooltip.d.ts +17 -20
- package/types/primeng-types-tree.d.ts +237 -246
- package/types/primeng-types-treeselect.d.ts +198 -202
- package/types/primeng-types-treetable.d.ts +492 -497
- package/types/primeng-useid.d.ts +15 -0
- package/types/primeng-usestyle.d.ts +107 -30
- package/types/primeng-utils.d.ts +79 -40
- package/types/primeng.d.ts +2 -2
- package/fesm2022/primeng-accordion.mjs.map +0 -1
- package/fesm2022/primeng-animateonscroll.mjs.map +0 -1
- package/fesm2022/primeng-api.mjs.map +0 -1
- package/fesm2022/primeng-autocomplete.mjs.map +0 -1
- package/fesm2022/primeng-autofocus.mjs.map +0 -1
- package/fesm2022/primeng-avatar.mjs.map +0 -1
- package/fesm2022/primeng-avatargroup.mjs.map +0 -1
- package/fesm2022/primeng-badge.mjs.map +0 -1
- package/fesm2022/primeng-base.mjs.map +0 -1
- package/fesm2022/primeng-basecomponent.mjs.map +0 -1
- package/fesm2022/primeng-baseeditableholder.mjs.map +0 -1
- package/fesm2022/primeng-baseinput.mjs.map +0 -1
- package/fesm2022/primeng-basemodelholder.mjs.map +0 -1
- package/fesm2022/primeng-bind.mjs.map +0 -1
- package/fesm2022/primeng-blockui.mjs.map +0 -1
- package/fesm2022/primeng-breadcrumb.mjs.map +0 -1
- package/fesm2022/primeng-button.mjs.map +0 -1
- package/fesm2022/primeng-buttongroup.mjs.map +0 -1
- package/fesm2022/primeng-card.mjs.map +0 -1
- package/fesm2022/primeng-carousel.mjs.map +0 -1
- package/fesm2022/primeng-cascadeselect.mjs.map +0 -1
- package/fesm2022/primeng-chart.mjs.map +0 -1
- package/fesm2022/primeng-checkbox.mjs.map +0 -1
- package/fesm2022/primeng-chip.mjs.map +0 -1
- package/fesm2022/primeng-classnames.mjs.map +0 -1
- package/fesm2022/primeng-colorpicker.mjs.map +0 -1
- package/fesm2022/primeng-commandmenu.mjs.map +0 -1
- package/fesm2022/primeng-compare.mjs.map +0 -1
- package/fesm2022/primeng-config.mjs.map +0 -1
- package/fesm2022/primeng-confirmdialog.mjs.map +0 -1
- package/fesm2022/primeng-confirmpopup.mjs.map +0 -1
- package/fesm2022/primeng-contextmenu.mjs.map +0 -1
- package/fesm2022/primeng-dataview.mjs.map +0 -1
- package/fesm2022/primeng-datepicker.mjs.map +0 -1
- package/fesm2022/primeng-dialog.mjs.map +0 -1
- package/fesm2022/primeng-divider.mjs.map +0 -1
- package/fesm2022/primeng-dock.mjs.map +0 -1
- package/fesm2022/primeng-dom.mjs.map +0 -1
- package/fesm2022/primeng-dragdrop.mjs.map +0 -1
- package/fesm2022/primeng-drawer.mjs.map +0 -1
- package/fesm2022/primeng-dynamicdialog.mjs.map +0 -1
- package/fesm2022/primeng-editor.mjs.map +0 -1
- package/fesm2022/primeng-fieldset.mjs.map +0 -1
- package/fesm2022/primeng-fileupload.mjs.map +0 -1
- package/fesm2022/primeng-floatlabel.mjs.map +0 -1
- package/fesm2022/primeng-fluid.mjs.map +0 -1
- package/fesm2022/primeng-focustrap.mjs.map +0 -1
- package/fesm2022/primeng-galleria.mjs.map +0 -1
- package/fesm2022/primeng-gallery.mjs.map +0 -1
- package/fesm2022/primeng-iconfield.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledoubledown.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledoubleleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledoubleright.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledoubleup.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledown.mjs.map +0 -1
- package/fesm2022/primeng-icons-angleleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-angleright.mjs.map +0 -1
- package/fesm2022/primeng-icons-angleup.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowdown.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowdownleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowdownright.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowright.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowup.mjs.map +0 -1
- package/fesm2022/primeng-icons-ban.mjs.map +0 -1
- package/fesm2022/primeng-icons-bars.mjs.map +0 -1
- package/fesm2022/primeng-icons-baseicon.mjs.map +0 -1
- package/fesm2022/primeng-icons-blank.mjs.map +0 -1
- package/fesm2022/primeng-icons-calendar.mjs.map +0 -1
- package/fesm2022/primeng-icons-caretleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-caretright.mjs.map +0 -1
- package/fesm2022/primeng-icons-check.mjs.map +0 -1
- package/fesm2022/primeng-icons-chevrondown.mjs.map +0 -1
- package/fesm2022/primeng-icons-chevronleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-chevronright.mjs.map +0 -1
- package/fesm2022/primeng-icons-chevronup.mjs.map +0 -1
- package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +0 -1
- package/fesm2022/primeng-icons-eye.mjs.map +0 -1
- package/fesm2022/primeng-icons-eyeslash.mjs.map +0 -1
- package/fesm2022/primeng-icons-filter.mjs.map +0 -1
- package/fesm2022/primeng-icons-filterfill.mjs.map +0 -1
- package/fesm2022/primeng-icons-filterslash.mjs.map +0 -1
- package/fesm2022/primeng-icons-home.mjs.map +0 -1
- package/fesm2022/primeng-icons-infocircle.mjs.map +0 -1
- package/fesm2022/primeng-icons-minus.mjs.map +0 -1
- package/fesm2022/primeng-icons-pencil.mjs.map +0 -1
- package/fesm2022/primeng-icons-plus.mjs.map +0 -1
- package/fesm2022/primeng-icons-refresh.mjs.map +0 -1
- package/fesm2022/primeng-icons-search.mjs.map +0 -1
- package/fesm2022/primeng-icons-searchminus.mjs.map +0 -1
- package/fesm2022/primeng-icons-searchplus.mjs.map +0 -1
- package/fesm2022/primeng-icons-sortalt.mjs.map +0 -1
- package/fesm2022/primeng-icons-sortamountdown.mjs.map +0 -1
- package/fesm2022/primeng-icons-sortamountupalt.mjs.map +0 -1
- package/fesm2022/primeng-icons-spinner.mjs.map +0 -1
- package/fesm2022/primeng-icons-star.mjs.map +0 -1
- package/fesm2022/primeng-icons-starfill.mjs.map +0 -1
- package/fesm2022/primeng-icons-thlarge.mjs.map +0 -1
- package/fesm2022/primeng-icons-times.mjs.map +0 -1
- package/fesm2022/primeng-icons-timescircle.mjs.map +0 -1
- package/fesm2022/primeng-icons-trash.mjs.map +0 -1
- package/fesm2022/primeng-icons-undo.mjs.map +0 -1
- package/fesm2022/primeng-icons-upload.mjs.map +0 -1
- package/fesm2022/primeng-icons-windowmaximize.mjs.map +0 -1
- package/fesm2022/primeng-icons-windowminimize.mjs.map +0 -1
- package/fesm2022/primeng-icons.mjs.map +0 -1
- package/fesm2022/primeng-iftalabel.mjs.map +0 -1
- package/fesm2022/primeng-image.mjs.map +0 -1
- package/fesm2022/primeng-imagecompare.mjs.map +0 -1
- package/fesm2022/primeng-inplace.mjs.map +0 -1
- package/fesm2022/primeng-inputcolor.mjs.map +0 -1
- package/fesm2022/primeng-inputgroup.mjs.map +0 -1
- package/fesm2022/primeng-inputgroupaddon.mjs.map +0 -1
- package/fesm2022/primeng-inputicon.mjs.map +0 -1
- package/fesm2022/primeng-inputmask.mjs.map +0 -1
- package/fesm2022/primeng-inputnumber.mjs.map +0 -1
- package/fesm2022/primeng-inputotp.mjs.map +0 -1
- package/fesm2022/primeng-inputpassword.mjs.map +0 -1
- package/fesm2022/primeng-inputtags.mjs.map +0 -1
- package/fesm2022/primeng-inputtext.mjs.map +0 -1
- package/fesm2022/primeng-keyfilter.mjs.map +0 -1
- package/fesm2022/primeng-knob.mjs.map +0 -1
- package/fesm2022/primeng-label.mjs.map +0 -1
- package/fesm2022/primeng-license.mjs.map +0 -1
- package/fesm2022/primeng-listbox.mjs.map +0 -1
- package/fesm2022/primeng-megamenu.mjs.map +0 -1
- package/fesm2022/primeng-menu.mjs.map +0 -1
- package/fesm2022/primeng-menubar.mjs.map +0 -1
- package/fesm2022/primeng-message.mjs.map +0 -1
- package/fesm2022/primeng-metergroup.mjs.map +0 -1
- package/fesm2022/primeng-motion.mjs.map +0 -1
- package/fesm2022/primeng-multiselect.mjs.map +0 -1
- package/fesm2022/primeng-orderlist.mjs.map +0 -1
- package/fesm2022/primeng-organizationchart.mjs.map +0 -1
- package/fesm2022/primeng-overlay.mjs.map +0 -1
- package/fesm2022/primeng-overlaybadge.mjs.map +0 -1
- package/fesm2022/primeng-paginator.mjs.map +0 -1
- package/fesm2022/primeng-panel.mjs.map +0 -1
- package/fesm2022/primeng-panelmenu.mjs.map +0 -1
- package/fesm2022/primeng-passthrough.mjs.map +0 -1
- package/fesm2022/primeng-password.mjs.map +0 -1
- package/fesm2022/primeng-picklist.mjs.map +0 -1
- package/fesm2022/primeng-popover.mjs.map +0 -1
- package/fesm2022/primeng-progressbar.mjs.map +0 -1
- package/fesm2022/primeng-progressspinner.mjs.map +0 -1
- package/fesm2022/primeng-radiobutton.mjs.map +0 -1
- package/fesm2022/primeng-rating.mjs.map +0 -1
- package/fesm2022/primeng-ripple.mjs.map +0 -1
- package/fesm2022/primeng-scrollarea.mjs.map +0 -1
- package/fesm2022/primeng-scroller.mjs.map +0 -1
- package/fesm2022/primeng-scrollpanel.mjs.map +0 -1
- package/fesm2022/primeng-scrolltop.mjs.map +0 -1
- package/fesm2022/primeng-select.mjs.map +0 -1
- package/fesm2022/primeng-selectbutton.mjs.map +0 -1
- package/fesm2022/primeng-sidebar.mjs.map +0 -1
- package/fesm2022/primeng-skeleton.mjs.map +0 -1
- package/fesm2022/primeng-slider.mjs.map +0 -1
- package/fesm2022/primeng-speeddial.mjs.map +0 -1
- package/fesm2022/primeng-splitbutton.mjs.map +0 -1
- package/fesm2022/primeng-splitter.mjs.map +0 -1
- package/fesm2022/primeng-stepper.mjs.map +0 -1
- package/fesm2022/primeng-steps.mjs.map +0 -1
- package/fesm2022/primeng-styleclass.mjs.map +0 -1
- package/fesm2022/primeng-table.mjs.map +0 -1
- package/fesm2022/primeng-tabs.mjs.map +0 -1
- package/fesm2022/primeng-tag.mjs.map +0 -1
- package/fesm2022/primeng-terminal.mjs.map +0 -1
- package/fesm2022/primeng-textarea.mjs.map +0 -1
- package/fesm2022/primeng-tieredmenu.mjs.map +0 -1
- package/fesm2022/primeng-timeline.mjs.map +0 -1
- package/fesm2022/primeng-toast.mjs.map +0 -1
- package/fesm2022/primeng-togglebutton.mjs.map +0 -1
- package/fesm2022/primeng-toggleswitch.mjs.map +0 -1
- package/fesm2022/primeng-toolbar.mjs.map +0 -1
- package/fesm2022/primeng-tooltip.mjs.map +0 -1
- package/fesm2022/primeng-tree.mjs.map +0 -1
- package/fesm2022/primeng-treeselect.mjs.map +0 -1
- package/fesm2022/primeng-treetable.mjs.map +0 -1
- package/fesm2022/primeng-ts-helpers.mjs.map +0 -1
- package/fesm2022/primeng-types-accordion.mjs.map +0 -1
- package/fesm2022/primeng-types-autocomplete.mjs.map +0 -1
- package/fesm2022/primeng-types-avatar.mjs.map +0 -1
- package/fesm2022/primeng-types-avatargroup.mjs.map +0 -1
- package/fesm2022/primeng-types-badge.mjs.map +0 -1
- package/fesm2022/primeng-types-blockui.mjs.map +0 -1
- package/fesm2022/primeng-types-breadcrumb.mjs.map +0 -1
- package/fesm2022/primeng-types-button.mjs.map +0 -1
- package/fesm2022/primeng-types-card.mjs.map +0 -1
- package/fesm2022/primeng-types-carousel.mjs.map +0 -1
- package/fesm2022/primeng-types-cascadeselect.mjs.map +0 -1
- package/fesm2022/primeng-types-chart.mjs.map +0 -1
- package/fesm2022/primeng-types-checkbox.mjs.map +0 -1
- package/fesm2022/primeng-types-chip.mjs.map +0 -1
- package/fesm2022/primeng-types-colorpicker.mjs.map +0 -1
- package/fesm2022/primeng-types-commandmenu.mjs.map +0 -1
- package/fesm2022/primeng-types-compare.mjs.map +0 -1
- package/fesm2022/primeng-types-confirmdialog.mjs.map +0 -1
- package/fesm2022/primeng-types-confirmpopup.mjs.map +0 -1
- package/fesm2022/primeng-types-contextmenu.mjs.map +0 -1
- package/fesm2022/primeng-types-dataview.mjs.map +0 -1
- package/fesm2022/primeng-types-datepicker.mjs.map +0 -1
- package/fesm2022/primeng-types-dialog.mjs.map +0 -1
- package/fesm2022/primeng-types-divider.mjs.map +0 -1
- package/fesm2022/primeng-types-dock.mjs.map +0 -1
- package/fesm2022/primeng-types-drawer.mjs.map +0 -1
- package/fesm2022/primeng-types-editor.mjs.map +0 -1
- package/fesm2022/primeng-types-fieldset.mjs.map +0 -1
- package/fesm2022/primeng-types-fileupload.mjs.map +0 -1
- package/fesm2022/primeng-types-floatlabel.mjs.map +0 -1
- package/fesm2022/primeng-types-fluid.mjs.map +0 -1
- package/fesm2022/primeng-types-galleria.mjs.map +0 -1
- package/fesm2022/primeng-types-gallery.mjs.map +0 -1
- package/fesm2022/primeng-types-iconfield.mjs.map +0 -1
- package/fesm2022/primeng-types-iftalabel.mjs.map +0 -1
- package/fesm2022/primeng-types-image.mjs.map +0 -1
- package/fesm2022/primeng-types-imagecompare.mjs.map +0 -1
- package/fesm2022/primeng-types-inplace.mjs.map +0 -1
- package/fesm2022/primeng-types-inputcolor.mjs.map +0 -1
- package/fesm2022/primeng-types-inputgroup.mjs.map +0 -1
- package/fesm2022/primeng-types-inputgroupaddon.mjs.map +0 -1
- package/fesm2022/primeng-types-inputicon.mjs.map +0 -1
- package/fesm2022/primeng-types-inputmask.mjs.map +0 -1
- package/fesm2022/primeng-types-inputnumber.mjs.map +0 -1
- package/fesm2022/primeng-types-inputotp.mjs.map +0 -1
- package/fesm2022/primeng-types-inputpassword.mjs.map +0 -1
- package/fesm2022/primeng-types-inputtags.mjs.map +0 -1
- package/fesm2022/primeng-types-inputtext.mjs.map +0 -1
- package/fesm2022/primeng-types-knob.mjs.map +0 -1
- package/fesm2022/primeng-types-label.mjs.map +0 -1
- package/fesm2022/primeng-types-listbox.mjs.map +0 -1
- package/fesm2022/primeng-types-megamenu.mjs.map +0 -1
- package/fesm2022/primeng-types-menu.mjs.map +0 -1
- package/fesm2022/primeng-types-menubar.mjs.map +0 -1
- package/fesm2022/primeng-types-message.mjs.map +0 -1
- package/fesm2022/primeng-types-metergroup.mjs.map +0 -1
- package/fesm2022/primeng-types-motion.mjs.map +0 -1
- package/fesm2022/primeng-types-multiselect.mjs.map +0 -1
- package/fesm2022/primeng-types-orderlist.mjs.map +0 -1
- package/fesm2022/primeng-types-organizationchart.mjs.map +0 -1
- package/fesm2022/primeng-types-overlay.mjs.map +0 -1
- package/fesm2022/primeng-types-overlaybadge.mjs.map +0 -1
- package/fesm2022/primeng-types-paginator.mjs.map +0 -1
- package/fesm2022/primeng-types-panel.mjs.map +0 -1
- package/fesm2022/primeng-types-panelmenu.mjs.map +0 -1
- package/fesm2022/primeng-types-password.mjs.map +0 -1
- package/fesm2022/primeng-types-picklist.mjs.map +0 -1
- package/fesm2022/primeng-types-popover.mjs.map +0 -1
- package/fesm2022/primeng-types-progressbar.mjs.map +0 -1
- package/fesm2022/primeng-types-progressspinner.mjs.map +0 -1
- package/fesm2022/primeng-types-radiobutton.mjs.map +0 -1
- package/fesm2022/primeng-types-rating.mjs.map +0 -1
- package/fesm2022/primeng-types-scrollarea.mjs.map +0 -1
- package/fesm2022/primeng-types-scroller.mjs.map +0 -1
- package/fesm2022/primeng-types-scrollpanel.mjs.map +0 -1
- package/fesm2022/primeng-types-scrolltop.mjs.map +0 -1
- package/fesm2022/primeng-types-select.mjs.map +0 -1
- package/fesm2022/primeng-types-selectbutton.mjs.map +0 -1
- package/fesm2022/primeng-types-shared.mjs.map +0 -1
- package/fesm2022/primeng-types-sidebar.mjs.map +0 -1
- package/fesm2022/primeng-types-skeleton.mjs.map +0 -1
- package/fesm2022/primeng-types-slider.mjs.map +0 -1
- package/fesm2022/primeng-types-speeddial.mjs.map +0 -1
- package/fesm2022/primeng-types-splitbutton.mjs.map +0 -1
- package/fesm2022/primeng-types-splitter.mjs.map +0 -1
- package/fesm2022/primeng-types-stepper.mjs.map +0 -1
- package/fesm2022/primeng-types-table.mjs.map +0 -1
- package/fesm2022/primeng-types-tabs.mjs.map +0 -1
- package/fesm2022/primeng-types-tag.mjs.map +0 -1
- package/fesm2022/primeng-types-terminal.mjs.map +0 -1
- package/fesm2022/primeng-types-textarea.mjs.map +0 -1
- package/fesm2022/primeng-types-tieredmenu.mjs.map +0 -1
- package/fesm2022/primeng-types-timeline.mjs.map +0 -1
- package/fesm2022/primeng-types-toast.mjs.map +0 -1
- package/fesm2022/primeng-types-togglebutton.mjs.map +0 -1
- package/fesm2022/primeng-types-toggleswitch.mjs.map +0 -1
- package/fesm2022/primeng-types-toolbar.mjs.map +0 -1
- package/fesm2022/primeng-types-tooltip.mjs.map +0 -1
- package/fesm2022/primeng-types-tree.mjs.map +0 -1
- package/fesm2022/primeng-types-treeselect.mjs.map +0 -1
- package/fesm2022/primeng-types-treetable.mjs.map +0 -1
- package/fesm2022/primeng-usestyle.mjs.map +0 -1
- package/fesm2022/primeng-utils.mjs.map +0 -1
- package/fesm2022/primeng.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"primeng-tree.mjs","sources":["../../src/tree/style/treestyle.ts","../../src/tree/tree-token.ts","../../src/tree/tree-node.ts","../../src/tree/tree.ts","../../src/tree/primeng-tree.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/tree';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-tree p-component',\n {\n 'p-tree-selectable': instance.selectionMode() != null,\n 'p-tree-loading': instance.loading(),\n 'p-tree-flex-scrollable': instance.scrollHeight() === 'flex',\n 'p-tree-node-dragover': instance.dragHover\n }\n ],\n mask: 'p-tree-mask p-overlay-mask',\n loadingIcon: 'p-tree-loading-icon',\n pcFilterInput: 'p-tree-filter-input',\n wrapper: 'p-tree-root',\n rootChildren: 'p-tree-root-children',\n node: ({ instance }) => ({ 'p-tree-node': true, 'p-tree-node-leaf': instance.isLeaf() }),\n nodeContent: ({ instance }) => ({\n 'p-tree-node-content': true,\n 'p-tree-node-selectable': instance.selectable,\n 'p-tree-node-dragover': instance.isNodeDropActive(),\n 'p-tree-node-selected': instance.tree.selectionMode() === 'checkbox' && instance.tree.highlightOnSelect() ? instance.checked : instance.selected,\n 'p-tree-node-contextmenu-selected': instance.isContextMenuSelected()\n }),\n nodeToggleButton: 'p-tree-node-toggle-button',\n nodeToggleIcon: 'p-tree-node-toggle-icon',\n nodeCheckbox: 'p-tree-node-checkbox',\n nodeIcon: 'p-tree-node-icon',\n nodeLabel: 'p-tree-node-label',\n nodeChildren: 'p-tree-node-children',\n emptyMessage: 'p-tree-empty-message',\n dropPoint: 'p-tree-node-drop-point'\n};\n\n@Injectable()\nexport class TreeStyle extends BaseStyle {\n name = 'tree';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Tree is used to display hierarchical data.\n *\n * [Live Demo](https://www.primeng.org/tree/)\n *\n * @module treestyle\n *\n */\nexport enum TreeClasses {\n /**\n * Class name of the root element\n */\n root = 'p-tree',\n /**\n * Class name of the mask element\n */\n mask = 'p-tree-mask',\n /**\n * Class name of the loading icon element\n */\n loadingIcon = 'p-tree-loading-icon',\n /**\n * Class name of the filter input element\n */\n pcFilterInput = 'p-tree-filter-input',\n /**\n * Class name of the wrapper element\n */\n wrapper = 'p-tree-root',\n /**\n * Class name of the root children element\n */\n rootChildren = 'p-tree-root-children',\n /**\n * Class name of the node element\n */\n node = 'p-tree-node',\n /**\n * Class name of the node content element\n */\n nodeContent = 'p-tree-node-content',\n /**\n * Class name of the node toggle button element\n */\n nodeToggleButton = 'p-tree-node-toggle-button',\n /**\n * Class name of the node toggle icon element\n */\n nodeToggleIcon = 'p-tree-node-toggle-icon',\n /**\n * Class name of the node checkbox element\n */\n nodeCheckbox = 'p-tree-node-checkbox',\n /**\n * Class name of the node icon element\n */\n nodeIcon = 'p-tree-node-icon',\n /**\n * Class name of the node label element\n */\n nodeLabel = 'p-tree-node-label',\n /**\n * Class name of the node children element\n */\n nodeChildren = 'p-tree-node-children',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-tree-empty-message',\n /**\n * Class name of the drop point element\n */\n dropPoint = 'p-tree-node-droppoint'\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const TREE_INSTANCE = new InjectionToken<any>('TREE_INSTANCE');\nexport const TREENODE_INSTANCE = new InjectionToken<any>('TREENODE_INSTANCE');\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { find, findSingle, focus, getOuterHeight, getOuterWidth } from '@primeuix/utils';\nimport { TreeNode } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { Checkbox } from 'primeng/checkbox';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { ChevronRight as ChevronRightIcon } from '@primeicons/angular/chevron-right';\nimport { Spinner as SpinnerIcon } from '@primeicons/angular/spinner';\nimport { Ripple } from 'primeng/ripple';\nimport { TreeLoadingMode, TreePassThrough } from 'primeng/types/tree';\nimport type { Tree } from './tree';\nimport { TREE_INSTANCE, TREENODE_INSTANCE } from './tree-token';\nimport { TreeStyle } from './style/treestyle';\n\n@Component({\n selector: 'p-treenode',\n standalone: true,\n imports: [NgTemplateOutlet, Ripple, Checkbox, FormsModule, ChevronRightIcon, ChevronDownIcon, SpinnerIcon, Bind],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n @if (node()) {\n <li\n [class]=\"cn(cx('node'), node()!.styleClass)\"\n [style.height.px]=\"itemSize()\"\n [style]=\"node()!.style\"\n [attr.aria-label]=\"node()!.label\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-setsize]=\"ariaSetSize\"\n [attr.aria-selected]=\"selected\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-posinset]=\"ariaPosInSet()\"\n [attr.aria-level]=\"ariaLevel()\"\n [attr.tabindex]=\"nodeTabindex()\"\n [attr.data-id]=\"node()!.key\"\n role=\"treeitem\"\n (keydown)=\"onKeyDown($event)\"\n [pBind]=\"getPTOptions('node')\"\n >\n @if (isPrevDropPointActive()) {\n <div [class]=\"cx('dropPoint')\" [attr.aria-hidden]=\"true\" [pBind]=\"getPTOptions('dropPoint')\"></div>\n }\n <div\n [class]=\"cx('nodeContent')\"\n [style.paddingLeft]=\"nodeContentPaddingLeft()\"\n (click)=\"onNodeClick($event)\"\n (contextmenu)=\"onNodeRightClick($event)\"\n (dblclick)=\"onNodeDblClick($event)\"\n (touchend)=\"onNodeTouchEnd()\"\n (drop)=\"onNodeDrop($event)\"\n (dragstart)=\"onNodeDragStart($event)\"\n (dragover)=\"onNodeDragOver($event)\"\n (dragleave)=\"onNodeDragLeave()\"\n (dragend)=\"onNodeDragEnd($event)\"\n [draggable]=\"tree.draggableNodes()\"\n [pBind]=\"getPTOptions('nodeContent')\"\n >\n <button type=\"button\" [class]=\"cx('nodeToggleButton')\" (click)=\"toggle($event)\" pRipple tabindex=\"-1\" [pBind]=\"getPTOptions('nodeToggleButton')\">\n @if (!tree.togglerIconTemplate()) {\n @if (!node()!.loading) {\n @if (!node()!.expanded) {\n <svg data-p-icon=\"chevron-right\" [class]=\"cx('nodeToggleIcon')\" [pBind]=\"getPTOptions('nodeToggleIcon')\" />\n }\n @if (node()!.expanded) {\n <svg data-p-icon=\"chevron-down\" [class]=\"cx('nodeToggleIcon')\" [pBind]=\"getPTOptions('nodeToggleIcon')\" />\n }\n }\n @if (showLoadingSpinner) {\n <svg data-p-icon=\"spinner\" [class]=\"cx('nodeToggleIcon')\" [spin]=\"true\" [pBind]=\"getPTOptions('nodeToggleIcon')\" />\n }\n }\n @if (tree.togglerIconTemplate()) {\n <span [class]=\"cx('nodeToggleIcon')\" [pBind]=\"getPTOptions('nodeToggleIcon')\">\n <ng-template *ngTemplateOutlet=\"tree.togglerIconTemplate()!; context: togglerIconContext\"></ng-template>\n </span>\n }\n </button>\n\n @if (tree.selectionMode() === 'checkbox') {\n <p-checkbox\n [ngModel]=\"isSelected()\"\n [class]=\"cx('nodeCheckbox')\"\n [binary]=\"true\"\n [indeterminate]=\"node()!.partialSelected\"\n [disabled]=\"node()!.selectable === false\"\n [variant]=\"checkboxVariant()\"\n [attr.data-p-partialchecked]=\"node()!.partialSelected\"\n [tabindex]=\"-1\"\n (click)=\"$event.preventDefault()\"\n [pt]=\"getPTOptions('pcNodeCheckbox')\"\n [unstyled]=\"unstyled()\"\n >\n @if (tree.checkboxIconTemplate()) {\n <ng-template #icon>\n <ng-template *ngTemplateOutlet=\"tree.checkboxIconTemplate()!; context: checkboxIconContext\"></ng-template>\n </ng-template>\n }\n </p-checkbox>\n }\n\n @if (hasNodeIcon) {\n <span [class]=\"getIcon()\" [pBind]=\"getPTOptions('nodeIcon')\"></span>\n }\n <span [class]=\"cx('nodeLabel')\" [pBind]=\"getPTOptions('nodeLabel')\">\n @if (!tree.getTemplateForNode(node()!)) {\n <span>{{ node()!.label }}</span>\n }\n @if (tree.getTemplateForNode(node()!)) {\n <span>\n <ng-container *ngTemplateOutlet=\"tree.getTemplateForNode(node()!)!; context: { $implicit: node() }\"></ng-container>\n </span>\n }\n </span>\n </div>\n @if (isNextDropPointActive()) {\n <div [class]=\"cx('dropPoint', { next: true })\" [attr.aria-hidden]=\"true\" [pBind]=\"getPTOptions('dropPoint')\"></div>\n }\n @if (showChildren) {\n <ul [class]=\"cx('nodeChildren')\" role=\"group\" [pBind]=\"ptm('nodeChildren')\">\n @for (childNode of node()!.children; track tree.trackBy()($index, childNode); let firstChild = $first; let lastChild = $last; let idx = $index) {\n <p-treenode\n [node]=\"childNode\"\n [parentNode]=\"node()\"\n [firstChild]=\"firstChild\"\n [lastChild]=\"lastChild\"\n [index]=\"idx\"\n [itemSize]=\"itemSize()\"\n [level]=\"level()! + 1\"\n [loadingMode]=\"loadingMode()\"\n [pt]=\"pt()\"\n [unstyled]=\"unstyled()\"\n />\n }\n </ul>\n }\n </li>\n }\n `,\n encapsulation: ViewEncapsulation.None,\n providers: [TreeStyle, { provide: TREENODE_INSTANCE, useExisting: UITreeNode }, { provide: PARENT_INSTANCE, useExisting: UITreeNode }]\n})\nexport class UITreeNode extends BaseComponent<TreePassThrough> {\n static ICON_CLASS: string = 'p-tree-node-icon ';\n\n $pcTreeNode: UITreeNode | undefined = inject(TREENODE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n rowNode = input<any>();\n\n node = input<TreeNode<any> | undefined>();\n\n parentNode = input<TreeNode<any> | undefined>();\n\n root = input(false, { transform: booleanAttribute });\n\n index = input<number | undefined>();\n\n firstChild = input(false, { transform: booleanAttribute });\n\n lastChild = input(false, { transform: booleanAttribute });\n\n level = input<number | undefined>();\n\n indentation = input<number | undefined>();\n\n itemSize = input<number | undefined>();\n\n loadingMode = input<TreeLoadingMode>();\n\n tree = inject<Tree>(TREE_INSTANCE);\n\n timeout: any;\n\n isPrevDropPointHovered = signal<boolean>(false);\n\n isNextDropPointHovered = signal<boolean>(false);\n\n isNodeDropHovered = signal<boolean>(false);\n\n isPrevDropPointActive = computed(() => this.isPrevDropPointHovered() && this.isDroppable());\n\n isNextDropPointActive = computed(() => this.isNextDropPointHovered() && this.isDroppable());\n\n isNodeDropActive = computed(() => this.isNodeDropHovered() && this.isNodeDroppable());\n\n dropPosition = computed(() => (this.isPrevDropPointActive() ? -1 : this.isNextDropPointActive() ? 1 : 0));\n\n get ariaSetSize() {\n return this.node()?.children?.length ?? 0;\n }\n\n get ariaExpanded() {\n return this.node()?.expanded;\n }\n\n ariaPosInSet = computed(() => (this.index() ?? 0) + 1);\n\n ariaLevel = computed(() => (this.level() ?? 0) + 1);\n\n nodeTabindex = computed(() => (this.index() === 0 ? 0 : -1));\n\n nodeContentPaddingLeft = computed(() => this.level()! * this.indentation()! + 'rem');\n\n get hasNodeIcon() {\n return !!(this.node()?.icon || this.node()?.expandedIcon || this.node()?.collapsedIcon);\n }\n\n get showChildren() {\n return !this.tree.virtualScroll() && !!this.node()?.children && !!this.node()?.expanded;\n }\n\n get showLoadingSpinner() {\n return this.loadingMode() === 'icon' && !!this.node()?.loading;\n }\n\n checkboxVariant = computed(() => this.tree?.config.inputVariant() || 'outlined');\n\n get togglerIconContext() {\n return {\n $implicit: this.node()?.expanded,\n loading: this.node()?.loading\n };\n }\n\n get checkboxIconContext() {\n return {\n $implicit: this.isSelected(),\n partialSelected: this.node()?.partialSelected,\n class: this.cx('nodeCheckbox')\n };\n }\n\n _componentStyle = inject(TreeStyle);\n\n /**\n * Computed signal that reactively tracks selection state.\n */\n private _selected = computed(() => {\n // Reading selection() makes this computed reactive to selection changes\n this.tree.selection();\n\n return this.tree.isSelected(<TreeNode>this.node());\n });\n\n /**\n * Computed signal that reactively tracks context menu selection state.\n */\n private _contextMenuSelected = computed(() => {\n const selection = this.tree.contextMenuSelection();\n const node = this.node();\n\n if (!selection || !node) {\n return false;\n }\n\n return selection === node || (selection.key && selection.key === node.key);\n });\n\n get selected() {\n return this.tree.selectionMode() === 'single' || this.tree.selectionMode() === 'multiple' ? this._selected() : undefined;\n }\n\n get checked() {\n return this.tree.selectionMode() === 'checkbox' ? this._selected() : undefined;\n }\n\n get nodeClass() {\n return this.tree._componentStyle.classes.node({ instance: this });\n }\n\n get selectable() {\n return this.node()?.selectable === false ? false : this.tree?.selectionMode() != null;\n }\n\n get subNodes(): TreeNode[] | undefined {\n return this.node()?.parent ? this.node()!.parent!.children : this.tree.value();\n }\n\n /** The node this row represents in the original value; when a filter is active the rendered node is a copy. */\n get originalNode(): TreeNode | undefined {\n const node = this.node();\n\n return node && this.tree.getOriginalNode(node);\n }\n\n /** Sibling list of this node within the original value; when a filter is active `subNodes` holds copies. */\n get originalSubNodes(): TreeNode[] | undefined {\n const parent = this.node()?.parent;\n\n return parent ? this.tree.getOriginalNode(parent).children : this.tree.value();\n }\n\n getPTOptions(key: string) {\n return this.ptm(key, {\n context: {\n node: this.node(),\n index: this.index(),\n expanded: this.node()?.expanded,\n selected: this.selected,\n checked: this.checked,\n partialChecked: this.node()?.partialSelected,\n leaf: this.isLeaf()\n }\n });\n }\n\n onInit() {\n (<TreeNode>this.node()).parent = this.parentNode();\n const nativeElement = this.tree.el.nativeElement;\n const pDialogWrapper = nativeElement.closest('p-dialog');\n\n if (this.parentNode() && !pDialogWrapper) {\n this.setAllNodesTabIndexes();\n this.tree.syncNodeOption(<TreeNode>this.node(), <TreeNode<any>[]>this.tree.value(), 'parent', this.tree.getNodeWithKey(<string>this.parentNode()!.key, <TreeNode<any>[]>this.tree.value()));\n }\n }\n\n getIcon() {\n let icon: string | undefined;\n const node = this.node();\n\n if ((<TreeNode>node).icon) icon = (<TreeNode>node).icon as string;\n else icon = (<TreeNode>node).expanded && (<TreeNode>node).children && (<TreeNode>node).children?.length ? (<TreeNode>node).expandedIcon : (<TreeNode>node).collapsedIcon;\n\n return UITreeNode.ICON_CLASS + ' ' + icon + ' p-tree-node-icon';\n }\n\n isLeaf() {\n return this.tree.isNodeLeaf(<TreeNode>this.node());\n }\n\n isSelected() {\n return this._selected();\n }\n\n isContextMenuSelected() {\n return this._contextMenuSelected();\n }\n\n isSameNode(event) {\n return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[role=\"treeitem\"]')));\n }\n\n isDraggable() {\n return this.tree.draggableNodes();\n }\n\n isDroppable() {\n return this.tree.droppableNodes() && this.tree.allowDrop(<TreeNode>this.tree.dragNode, <TreeNode>this.node(), this.tree.dragNodeScope);\n }\n\n isNodeDroppable() {\n return (<TreeNode>this.node())?.droppable !== false && this.isDroppable();\n }\n\n isNodeDraggable() {\n return (<TreeNode>this.node())?.draggable !== false && this.isDraggable();\n }\n\n toggle(event: Event) {\n if ((<TreeNode>this.node()).expanded) this.collapse(event);\n else this.expand(event);\n\n event.stopPropagation();\n }\n\n expand(event: Event) {\n (<TreeNode>this.node()).expanded = true;\n this.tree.setNodeCollapsed(<TreeNode>this.node(), false);\n\n if (this.tree.virtualScroll()) {\n this.tree.updateSerializedValue();\n this.focusVirtualNode();\n }\n\n this.tree.onNodeExpand.emit({ originalEvent: event, node: <TreeNode>this.node() });\n }\n\n collapse(event: Event) {\n (<TreeNode>this.node()).expanded = false;\n this.tree.setNodeCollapsed(<TreeNode>this.node(), true);\n\n if (this.tree.virtualScroll()) {\n this.tree.updateSerializedValue();\n }\n\n this.tree.onNodeCollapse.emit({ originalEvent: event, node: <TreeNode>this.node() });\n this.focusVirtualNode();\n }\n\n onNodeClick(event: MouseEvent) {\n this.tree.onNodeClick(event, <TreeNode>this.node());\n }\n\n onNodeKeydown(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n this.tree.onNodeClick(event, <TreeNode>this.node());\n }\n }\n\n onNodeTouchEnd() {\n this.tree.onNodeTouchEnd();\n }\n\n onNodeRightClick(event: MouseEvent) {\n this.tree.onNodeRightClick(event, <TreeNode>this.node());\n }\n\n onNodeDblClick(event: MouseEvent) {\n this.tree.onNodeDblClick(event, <TreeNode>this.node());\n }\n\n /**\n * The drag state and drop position are taken as arguments (captured at drop time) since\n * `accept` may be invoked asynchronously, after `dragend` has cleared the drag state\n * and the drop point hover signals were reset.\n */\n insertNodeOnDrop(dragNode: TreeNode | null | undefined, dragNodeSubNodes: TreeNode[] | null | undefined, position: number) {\n const dropNode = this.originalNode;\n\n if (!dropNode || !dragNode || !dragNodeSubNodes) {\n return;\n }\n\n const subNodes = this.originalSubNodes || [];\n const dragNodeIndex = dragNodeSubNodes.indexOf(dragNode);\n const index = subNodes.indexOf(dropNode);\n const dropIndex = dragNodeSubNodes === subNodes ? (dragNodeIndex > index ? index : index - 1) : index;\n\n if (dragNodeIndex !== -1) {\n dragNodeSubNodes.splice(dragNodeIndex, 1);\n }\n\n if (position < 0) {\n // insert before a Node\n subNodes.splice(dropIndex, 0, dragNode);\n } else if (position > 0) {\n // insert after a Node\n subNodes.splice(dropIndex + 1, 0, dragNode);\n } else {\n // insert as child of a Node\n dropNode.children = dropNode.children || [];\n dropNode.children!.push(dragNode);\n }\n\n this.tree.dragDropService!.stopDrag({\n node: dragNode,\n subNodes,\n index: dragNodeIndex\n });\n }\n\n onNodeDrop(event: any) {\n event.preventDefault();\n event.stopPropagation();\n\n if (this.isDroppable()) {\n const { dragNode, dragNodeSubNodes } = this.tree;\n const position = this.dropPosition();\n const isValidDrop = position !== 0 || (position === 0 && this.isNodeDroppable());\n const dropPoint: 'node' | 'between' = position === 0 ? 'node' : 'between';\n\n if (isValidDrop) {\n if (this.tree.validateDrop()) {\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.originalNode,\n index: this.index(),\n dropPoint: dropPoint,\n accept: () => {\n this.insertNodeOnDrop(dragNode, dragNodeSubNodes, position);\n }\n });\n } else {\n this.insertNodeOnDrop(dragNode, dragNodeSubNodes, position);\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.originalNode,\n index: this.index(),\n dropPoint: dropPoint\n });\n }\n }\n }\n\n this.isPrevDropPointHovered.set(false);\n this.isNextDropPointHovered.set(false);\n this.isNodeDropHovered.set(false);\n }\n\n onNodeDragStart(event: any) {\n if (this.isNodeDraggable()) {\n event.dataTransfer.effectAllowed = 'all';\n event.dataTransfer?.setData('text', 'data');\n\n const target = event.currentTarget as HTMLElement;\n const dragEl = target.cloneNode(true) as HTMLElement;\n const toggler = <HTMLElement>dragEl.querySelector('[data-pc-section=\"nodetogglebutton\"]');\n const checkbox = <HTMLElement>dragEl.querySelector('[data-pc-name=\"pcnodecheckbox\"]');\n\n target.setAttribute('data-p-dragging', 'true');\n dragEl.style.width = getOuterWidth(target) + 'px';\n dragEl.style.height = getOuterHeight(target) + 'px';\n dragEl.setAttribute('data-pc-section', 'drag-image');\n toggler.style.visibility = 'hidden';\n checkbox?.remove();\n document.body.appendChild(dragEl);\n\n event.dataTransfer?.setDragImage(dragEl, 0, 0);\n\n setTimeout(() => document.body.removeChild(dragEl), 0);\n\n this.tree.dragDropService!.startDrag({\n tree: this,\n node: this.originalNode,\n subNodes: this.originalSubNodes,\n index: this.index(),\n scope: this.tree.draggableScope()\n });\n } else {\n event.preventDefault();\n }\n }\n\n onNodeDragOver(event: any) {\n if (this.isDroppable()) {\n event.dataTransfer.dropEffect = 'copy';\n\n const nodeElement = event.currentTarget as HTMLElement;\n const rect = nodeElement.getBoundingClientRect();\n const y = event.clientY - parseInt(rect.top as any);\n\n this.isPrevDropPointHovered.set(false);\n this.isNextDropPointHovered.set(false);\n this.isNodeDropHovered.set(false);\n\n if (y < rect.height * 0.25) {\n this.isPrevDropPointHovered.set(true);\n } else if (y > rect.height * 0.75) {\n this.isNextDropPointHovered.set(true);\n } else if (this.isNodeDroppable()) {\n this.isNodeDropHovered.set(true);\n }\n } else {\n event.dataTransfer.dropEffect = 'none';\n }\n\n if (this.tree.droppableNodes()) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n onNodeDragLeave() {\n this.isPrevDropPointHovered.set(false);\n this.isNextDropPointHovered.set(false);\n this.isNodeDropHovered.set(false);\n }\n\n onNodeDragEnd(event: any) {\n event.currentTarget?.removeAttribute('data-p-dragging');\n\n this.tree.dragDropService!.stopDrag({\n node: this.originalNode,\n subNodes: this.originalSubNodes,\n index: this.index()\n });\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (!this.isSameNode(event) || (this.tree.contextMenu() && this.tree.contextMenu().containerViewChild?.nativeElement.style.display === 'block')) {\n return;\n }\n\n switch (event.code) {\n //down arrow\n case 'ArrowDown':\n this.onArrowDown(event);\n break;\n\n //up arrow\n case 'ArrowUp':\n this.onArrowUp(event);\n break;\n\n //right arrow\n case 'ArrowRight':\n this.onArrowRight(event);\n break;\n\n //left arrow\n case 'ArrowLeft':\n this.onArrowLeft(event);\n break;\n\n //enter\n case 'Enter':\n case 'Space':\n case 'NumpadEnter':\n this.onEnter(event);\n break;\n //tab\n case 'Tab':\n this.setAllNodesTabIndexes();\n break;\n\n default:\n //no op\n break;\n }\n }\n\n onArrowUp(event: KeyboardEvent) {\n const nodeElement = (<HTMLDivElement>event.target).getAttribute('data-pc-section') === 'nodetogglebutton' ? (<HTMLDivElement>event.target).closest('[role=\"treeitem\"]') : (<HTMLDivElement>event.target).parentElement;\n\n if (nodeElement?.previousElementSibling) {\n this.focusRowChange(nodeElement, nodeElement.previousElementSibling, this.findLastVisibleDescendant(nodeElement.previousElementSibling));\n } else {\n let parentNodeElement = this.getParentNodeElement(nodeElement!);\n\n if (parentNodeElement) {\n this.focusRowChange(nodeElement, parentNodeElement);\n }\n }\n\n event.preventDefault();\n }\n\n onArrowDown(event: KeyboardEvent) {\n const nodeElement = (<HTMLDivElement>event.target).getAttribute('data-pc-section') === 'nodetogglebutton' ? (<HTMLDivElement>event.target).closest('[role=\"treeitem\"]') : <HTMLDivElement>event.target;\n const listElement = nodeElement?.children[1];\n\n if (listElement && listElement.children.length > 0) {\n this.focusRowChange(nodeElement, listElement.children[0]);\n } else {\n if (nodeElement?.parentElement?.nextElementSibling) {\n this.focusRowChange(nodeElement, nodeElement.parentElement.nextElementSibling);\n } else {\n let nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement?.parentElement);\n\n if (nextSiblingAncestor) {\n this.focusRowChange(nodeElement, nextSiblingAncestor);\n }\n }\n }\n\n event.preventDefault();\n }\n\n onArrowRight(event: KeyboardEvent) {\n if (!this.node()?.expanded && !this.tree.isNodeLeaf(<TreeNode>this.node())) {\n this.expand(event);\n (<HTMLDivElement>event.currentTarget).tabIndex = -1;\n\n setTimeout(() => {\n this.onArrowDown(event);\n }, 1);\n }\n\n event.preventDefault();\n }\n\n onArrowLeft(event: KeyboardEvent) {\n const nodeElement = (<HTMLDivElement>event.target).getAttribute('data-pc-section') === 'nodetogglebutton' ? (<HTMLDivElement>event.target).closest('[role=\"treeitem\"]') : <HTMLDivElement>event.target;\n\n if (this.level() === 0 && !this.node()?.expanded) {\n return false;\n }\n\n if (this.node()?.expanded) {\n this.collapse(event);\n\n return;\n }\n\n let parentNodeElement = this.getParentNodeElement(nodeElement?.parentElement);\n\n if (parentNodeElement) {\n this.focusRowChange(event.currentTarget, parentNodeElement);\n }\n\n event.preventDefault();\n }\n\n onEnter(event: KeyboardEvent) {\n this.tree.onNodeClick(event, <TreeNode>this.node());\n this.setTabIndexForSelectionMode(event, this.tree.nodeTouched);\n event.preventDefault();\n }\n\n setAllNodesTabIndexes() {\n const nodes = <any>find(this.tree.el.nativeElement, '[data-pc-section=\"node\"]');\n\n const hasSelectedNode = [...nodes].some((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');\n\n [...nodes].forEach((node) => {\n node.tabIndex = -1;\n });\n\n if (hasSelectedNode) {\n const selectedNodes = [...nodes].filter((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');\n\n selectedNodes[0].tabIndex = 0;\n\n return;\n }\n\n if (nodes.length) {\n ([...nodes][0] as any).tabIndex = 0;\n }\n }\n\n setTabIndexForSelectionMode(event, nodeTouched) {\n if (this.tree.selectionMode() !== null) {\n const elements = [...find(this.tree.el.nativeElement, '[role=\"treeitem\"]')];\n\n event.currentTarget.tabIndex = nodeTouched === false ? -1 : 0;\n\n if (elements.every((element: any) => element.tabIndex === -1)) {\n (elements[0] as any).tabIndex = 0;\n }\n }\n }\n\n findNextSiblingOfAncestor(nodeElement: any): any {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n\n if (parentNodeElement) {\n if (parentNodeElement.nextElementSibling) return parentNodeElement.nextElementSibling;\n else return this.findNextSiblingOfAncestor(parentNodeElement);\n } else {\n return null;\n }\n }\n\n findLastVisibleDescendant(nodeElement: any): any {\n const listElement = <HTMLElement>Array.from(nodeElement.children).find((el: any) => el.getAttribute('data-pc-section') === 'node');\n const childrenListElement = listElement?.children[1];\n\n if (childrenListElement && childrenListElement.children.length > 0) {\n const lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];\n\n return this.findLastVisibleDescendant(lastChildElement);\n } else {\n return nodeElement;\n }\n }\n\n getParentNodeElement(nodeElement: HTMLElement | Element | null | undefined) {\n const parentNodeElement = nodeElement?.parentElement?.parentElement?.parentElement;\n\n return parentNodeElement?.tagName === 'P-TREENODE' ? parentNodeElement : null;\n }\n\n focusNode(element: any) {\n (element.children[0] as HTMLElement).focus();\n }\n\n focusRowChange(firstFocusableRow, currentFocusedRow, lastVisibleDescendant?) {\n firstFocusableRow.tabIndex = '-1';\n currentFocusedRow.children[0].tabIndex = '0';\n\n this.focusNode(lastVisibleDescendant || currentFocusedRow);\n }\n\n focusVirtualNode() {\n this.timeout = setTimeout(() => {\n let node = <any>findSingle(this.tree?.contentViewChild()?.nativeElement, `[data-id=\"${<TreeNode>this.node()?.key ?? <TreeNode>this.node()?.data}\"]`);\n\n focus(node);\n }, 1);\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n model,\n NgModule,\n numberAttribute,\n output,\n TemplateRef,\n untracked,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Search as SearchIcon } from '@primeicons/angular/search';\nimport { Spinner as SpinnerIcon } from '@primeicons/angular/spinner';\nimport { removeAccents, resolveFieldData } from '@primeuix/utils';\nimport { BlockableUI, ScrollerOptions, TranslationKeys, TreeDragDropService, TreeNode } from 'primeng/api';\nimport { AutoFocusModule } from 'primeng/autofocus';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { IconField } from 'primeng/iconfield';\nimport { InputIcon } from 'primeng/inputicon';\nimport { InputText } from 'primeng/inputtext';\nimport { Scroller } from 'primeng/scroller';\nimport {\n TreeCheckboxIconTemplateContext,\n TreeFilterEvent,\n TreeFilterTemplateContext,\n TreeLazyLoadEvent,\n TreeLoaderTemplateContext,\n TreeLoadingMode,\n TreeNodeCollapseEvent,\n TreeNodeContextMenuSelectEvent,\n TreeNodeDoubleClickEvent,\n TreeNodeDropEvent,\n TreeNodeExpandEvent,\n TreeNodeSelectEvent,\n TreeNodeUnSelectEvent,\n TreePassThrough,\n TreeScrollEvent,\n TreeScrollIndexChangeEvent,\n TreeSelectionMode,\n TreeTogglerIconTemplateContext\n} from 'primeng/types/tree';\nimport { TreeStyle } from './style/treestyle';\nimport { UITreeNode } from './tree-node';\nimport { TREE_INSTANCE } from './tree-token';\n\n/**\n * Tree is used to display hierarchical data.\n * @group Components\n */\n@Component({\n selector: 'p-tree',\n standalone: true,\n imports: [NgTemplateOutlet, Scroller, SearchIcon, SpinnerIcon, InputText, IconField, InputIcon, UITreeNode, AutoFocusModule, Bind],\n template: `\n @if (showLoadingMask()) {\n <div [class]=\"cx('mask')\" [pBind]=\"ptm('mask')\" animate.enter=\"p-overlay-mask-enter-active\" animate.leave=\"p-overlay-mask-leave-active\">\n @if (loadingIcon()) {\n <i [class]=\"cn(cx('loadingIcon'), 'pi-spin' + loadingIcon())\" [pBind]=\"ptm('loadingIcon')\"></i>\n }\n @if (!loadingIcon()) {\n @if (!loadingIconTemplate()) {\n <svg data-p-icon=\"spinner\" [class]=\"cx('loadingIcon')\" [spin]=\"true\" [pBind]=\"ptm('loadingIcon')\" />\n }\n @if (loadingIconTemplate()) {\n <span [class]=\"cx('loadingIcon')\" [pBind]=\"ptm('loadingIcon')\">\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate()!\"></ng-template>\n </span>\n }\n }\n </div>\n }\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n @if (filterTemplate()) {\n <ng-container *ngTemplateOutlet=\"filterTemplate()!; context: { $implicit: filterOptions }\"></ng-container>\n } @else {\n @if (filter()) {\n <p-iconfield [class]=\"cx('pcFilterContainer')\" [pt]=\"ptm('pcFilterContainer')\" [unstyled]=\"unstyled()\">\n <input\n #filter\n [pAutoFocus]=\"filterInputAutoFocus()\"\n pInputText\n type=\"search\"\n autocomplete=\"off\"\n [class]=\"cx('pcFilterInput')\"\n [attr.placeholder]=\"filterPlaceholder()\"\n (keydown.enter)=\"$event.preventDefault()\"\n (input)=\"_filter($event.target?.value)\"\n [pt]=\"ptm('pcFilterInput')\"\n [unstyled]=\"unstyled()\"\n />\n <p-inputicon [pt]=\"ptm('pcFilterIconContainer')\" [unstyled]=\"unstyled()\">\n @if (!filterIconTemplate()) {\n <svg data-p-icon=\"search\" [class]=\"cx('filterIcon')\" [pBind]=\"ptm('filterIcon')\" />\n }\n @if (filterIconTemplate()) {\n <span [class]=\"cx('filterIcon')\" [pBind]=\"ptm('filterIcon')\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate()!\"></ng-template>\n </span>\n }\n </p-inputicon>\n </p-iconfield>\n }\n }\n\n @if (getRootNode()?.length) {\n @if (virtualScroll()) {\n <p-scroller\n #scroller\n [items]=\"serializedValue\"\n [tabindex]=\"-1\"\n [styleClass]=\"cx('wrapper')\"\n [style]=\"{ height: scrollerStyleHeight() }\"\n [scrollHeight]=\"scrollerScrollHeight()\"\n [itemSize]=\"virtualScrollItemSize()!\"\n [lazy]=\"lazy()\"\n (onScroll)=\"onScroll.emit($event)\"\n (onScrollIndexChange)=\"onScrollIndexChange.emit($event)\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions()\"\n [pt]=\"ptm('virtualScroller')\"\n hostName=\"tree\"\n [attr.data-p]=\"wrapperDataP\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n @if (items) {\n <ul\n #content\n [class]=\"cn(cx('rootChildren'), scrollerOptions.contentStyleClass)\"\n [style]=\"scrollerOptions.contentStyle\"\n role=\"tree\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [pBind]=\"ptm('rootChildren')\"\n >\n @for (rowNode of items; track trackBy()($index, rowNode); let firstChild = $first; let lastChild = $last; let idx = $index) {\n <p-treenode\n #treeNode\n [level]=\"rowNode.level\"\n [rowNode]=\"rowNode\"\n [node]=\"rowNode.node\"\n [parentNode]=\"rowNode.parent\"\n [firstChild]=\"firstChild\"\n [lastChild]=\"lastChild\"\n [index]=\"getIndex(scrollerOptions, idx)\"\n [itemSize]=\"scrollerOptions.itemSize\"\n [indentation]=\"indentation()\"\n [loadingMode]=\"loadingMode()\"\n [pt]=\"pt()\"\n [unstyled]=\"unstyled()\"\n />\n }\n </ul>\n }\n </ng-template>\n @if (loaderTemplate()) {\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate()!; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n }\n </p-scroller>\n }\n @if (!virtualScroll()) {\n <div #wrapper [class]=\"cx('wrapper')\" [style.max-height]=\"scrollHeight()\" [pBind]=\"ptm('wrapper')\" [attr.data-p]=\"wrapperDataP\">\n @if (getRootNode()) {\n <ul #content [class]=\"cx('rootChildren')\" role=\"tree\" [attr.aria-label]=\"ariaLabel()\" [attr.aria-labelledby]=\"ariaLabelledBy()\" [pBind]=\"ptm('rootChildren')\">\n @for (node of getRootNode(); track trackBy().bind(this)($index, node); let firstChild = $first; let lastChild = $last; let idx = $index) {\n <p-treenode [node]=\"node\" [firstChild]=\"firstChild\" [lastChild]=\"lastChild\" [index]=\"idx\" [level]=\"0\" [loadingMode]=\"loadingMode()\" [pt]=\"pt()\" [unstyled]=\"unstyled()\" />\n }\n </ul>\n }\n </div>\n }\n }\n\n @if (showEmptyMessage) {\n <div [class]=\"cx('emptyMessage')\" [pBind]=\"ptm('emptyMessage')\">\n @if (!emptyTemplate()) {\n {{ emptyMessageLabel }}\n }\n @if (emptyTemplate()) {\n <ng-template *ngTemplateOutlet=\"emptyTemplate()!\"></ng-template>\n }\n </div>\n }\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [TreeStyle, { provide: TREE_INSTANCE, useExisting: Tree }, { provide: PARENT_INSTANCE, useExisting: Tree }],\n host: {\n '[class]': \"cx('root')\",\n '[attr.data-p]': 'containerDataP',\n '(drop)': 'onDrop($event)',\n '(dragover)': 'onDragOver($event)',\n '(dragenter)': 'onDragEnter()',\n '(dragleave)': 'onDragLeave($event)'\n },\n hostDirectives: [Bind]\n})\nexport class Tree extends BaseComponent<TreePassThrough> implements BlockableUI {\n componentName = 'Tree';\n\n private _destroyed = false;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pcTree: Tree | undefined = inject(TREE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n /**\n * An array of treenodes.\n * @group Props\n */\n value = input<TreeNode<any> | TreeNode<any>[] | any[] | any>();\n /**\n * Defines the selection mode.\n * @group Props\n */\n selectionMode = input<TreeSelectionMode>();\n /**\n * Loading mode display.\n * @group Props\n */\n loadingMode = input<TreeLoadingMode>('mask');\n /**\n * A single treenode instance or an array to refer to the selections.\n * @deprecated since v22, use `selectionKeys` instead for key-based selection state.\n * @group Props\n */\n selection = model<TreeNode<any> | TreeNode<any>[] | null | undefined>(null);\n /**\n * A map of node keys (by `TreeNode.key`) whose value is `true` for collapsed nodes. Two-way bindable.\n * When provided it controls expansion (a node is expanded unless its key maps to `true`); leave it\n * unset to keep driving expansion from each node's `expanded` flag (default, non-breaking).\n * @group Props\n */\n collapsedKeys = model<{ [key: string]: boolean } | null>(null);\n /**\n * A map of node keys (by `TreeNode.key`) describing the selection state. Two-way bindable.\n * For single/multiple selection a key maps to `true`; for checkbox selection it maps to\n * `{ checked, partialChecked }`. When provided it is kept in sync with `selection`; leave it unset\n * to keep using the node-reference based `selection` model (default, non-breaking).\n * @group Props\n */\n selectionKeys = model<{ [key: string]: any } | null>(null);\n /**\n * Context menu instance.\n * @group Props\n */\n contextMenu = input<any>();\n /**\n * Selected node with a context menu.\n * @group Props\n */\n contextMenuSelection = model<TreeNode<any> | null>(null);\n /**\n * Scope of the draggable nodes to match a droppableScope.\n * @group Props\n */\n draggableScope = input<any>();\n /**\n * Scope of the droppable nodes to match a draggableScope.\n * @group Props\n */\n droppableScope = input<any>();\n /**\n * Whether the nodes are draggable.\n * @group Props\n */\n draggableNodes = input(false, { transform: booleanAttribute });\n /**\n * Whether the nodes are droppable.\n * @group Props\n */\n droppableNodes = input(false, { transform: booleanAttribute });\n /**\n * Defines how multiple items can be selected, when true metaKey needs to be pressed to select or unselect an item and when set to false selection of each item can be toggled individually. On touch enabled devices, metaKeySelection is turned off automatically.\n * @group Props\n */\n metaKeySelection = input(false, { transform: booleanAttribute });\n /**\n * Whether checkbox selections propagate to ancestor nodes.\n * @group Props\n */\n propagateSelectionUp = input(true, { transform: booleanAttribute });\n /**\n * Whether checkbox selections propagate to descendant nodes.\n * @group Props\n */\n propagateSelectionDown = input(true, { transform: booleanAttribute });\n /**\n * Displays a loader to indicate data load is in progress.\n * @group Props\n */\n loading = input(false, { transform: booleanAttribute });\n /**\n * The icon to show while indicating data load is in progress.\n * @group Props\n */\n loadingIcon = input<string | undefined>();\n /**\n * Text to display when there is no data.\n * @group Props\n */\n emptyMessage = input('');\n /**\n * Used to define a string that labels the tree.\n * @group Props\n */\n ariaLabel = input<string | undefined>();\n /**\n * Defines a string that labels the toggler icon for accessibility.\n * @group Props\n */\n togglerAriaLabel = input<string | undefined>();\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy = input<string | undefined>();\n /**\n * When enabled, drop can be accepted or rejected based on condition defined at onNodeDrop.\n * @group Props\n */\n validateDrop = input(false, { transform: booleanAttribute });\n /**\n * When specified, displays an input field to filter the items.\n * @group Props\n */\n filter = input(false, { transform: booleanAttribute });\n /**\n * Determines whether the filter input should be automatically focused when the component is rendered.\n * @group Props\n */\n filterInputAutoFocus = input(false, { transform: booleanAttribute });\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n filterBy = input('label');\n /**\n * Mode for filtering valid values are \"lenient\" and \"strict\". Default is lenient.\n * @group Props\n */\n filterMode = input('lenient');\n /**\n * Mode for filtering valid values are \"lenient\" and \"strict\". Default is lenient.\n * @group Props\n */\n filterOptions: any;\n /**\n * Placeholder text to show when filter input is empty.\n * @group Props\n */\n filterPlaceholder = input<string | undefined>();\n /**\n * Values after the tree nodes are filtered.\n * @group Props\n */\n filteredNodes = model<TreeNode<any>[] | undefined | null>(undefined);\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n filterLocale = input<string | undefined>();\n /**\n * Height of the scrollable viewport.\n * @group Props\n */\n scrollHeight = input<string | undefined>();\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n lazy = input(false, { transform: booleanAttribute });\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n virtualScroll = input(false, { transform: booleanAttribute });\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n virtualScrollItemSize = input<number | undefined>();\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n virtualScrollOptions = input<ScrollerOptions | undefined>();\n /**\n * Indentation factor for spacing of the nested node when virtual scrolling is enabled.\n * @group Props\n */\n indentation = input(1.5, { transform: numberAttribute });\n /**\n * Function to optimize the node list rendering, default algorithm checks for object identity.\n * @group Props\n */\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n trackBy = input<Function>((index: number, item: any) => item);\n /**\n * Highlights the node on select.\n * @group Props\n */\n highlightOnSelect = input(false, { transform: booleanAttribute });\n /**\n * Callback to invoke when a node is selected.\n * @param {TreeNodeSelectEvent} event - Node select event.\n * @group Emits\n */\n onNodeSelect = output<TreeNodeSelectEvent>();\n /**\n * Callback to invoke when a node is unselected.\n * @param {TreeNodeUnSelectEvent} event - Node unselect event.\n * @group Emits\n */\n onNodeUnselect = output<TreeNodeUnSelectEvent>();\n /**\n * Callback to invoke when a node is expanded.\n * @param {TreeNodeExpandEvent} event - Node expand event.\n * @group Emits\n */\n onNodeExpand = output<TreeNodeExpandEvent>();\n /**\n * Callback to invoke when a node is collapsed.\n * @param {TreeNodeCollapseEvent} event - Node collapse event.\n * @group Emits\n */\n onNodeCollapse = output<TreeNodeCollapseEvent>();\n /**\n * Callback to invoke when a node is selected with right click.\n * @param {onNodeContextMenuSelect} event - Node context menu select event.\n * @group Emits\n */\n onNodeContextMenuSelect = output<TreeNodeContextMenuSelectEvent>();\n /**\n * Callback to invoke when a node is double clicked.\n * @param {TreeNodeDoubleClickEvent} event - Node double click event.\n * @group Emits\n */\n onNodeDoubleClick = output<TreeNodeDoubleClickEvent>();\n /**\n * Callback to invoke when a node is dropped.\n * @param {TreeNodeDropEvent} event - Node drop event.\n * @group Emits\n */\n onNodeDrop = output<TreeNodeDropEvent>();\n /**\n * Callback to invoke in lazy mode to load new data.\n * @param {TreeLazyLoadEvent} event - Custom lazy load event.\n * @group Emits\n */\n onLazyLoad = output<TreeLazyLoadEvent>();\n /**\n * Callback to invoke in virtual scroll mode when scroll position changes.\n * @param {TreeScrollEvent} event - Custom scroll event.\n * @group Emits\n */\n onScroll = output<TreeScrollEvent>();\n /**\n * Callback to invoke in virtual scroll mode when scroll position and item's range in view changes.\n * @param {TreeScrollIndexChangeEvent} event - Scroll index change event.\n * @group Emits\n */\n onScrollIndexChange = output<TreeScrollIndexChangeEvent>();\n /**\n * Callback to invoke when data is filtered.\n * @param {TreeFilterEvent} event - Custom filter event.\n * @group Emits\n */\n onFilter = output<TreeFilterEvent>();\n /**\n * Custom filter template.\n * @param {TreeFilterTemplateContext} context - filter context.\n * @see {@link TreeFilterTemplateContext}\n * @group Templates\n */\n filterTemplate = contentChild<TemplateRef<TreeFilterTemplateContext>>('filter', { descendants: false });\n /**\n * Custom node template.\n * @group Templates\n */\n nodeTemplate = contentChild<TemplateRef<any>>('node', { descendants: false });\n /**\n * Custom header template.\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n /**\n * Custom footer template.\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n /**\n * Custom loader template.\n * @param {TreeLoaderTemplateContext} context - loader context.\n * @see {@link TreeLoaderTemplateContext}\n * @group Templates\n */\n loaderTemplate = contentChild<TemplateRef<TreeLoaderTemplateContext>>('loader', { descendants: false });\n /**\n * Custom empty message template.\n * @group Templates\n */\n emptyTemplate = contentChild<TemplateRef<void>>('empty', { descendants: false });\n /**\n * Custom toggler icon template.\n * @param {TreeTogglerIconTemplateContext} context - toggler icon context.\n * @see {@link TreeTogglerIconTemplateContext}\n * @group Templates\n */\n togglerIconTemplate = contentChild<TemplateRef<TreeTogglerIconTemplateContext>>('togglericon', { descendants: false });\n /**\n * Custom checkbox icon template.\n * @param {TreeCheckboxIconTemplateContext} context - checkbox icon context.\n * @see {@link TreeCheckboxIconTemplateContext}\n * @group Templates\n */\n checkboxIconTemplate = contentChild<TemplateRef<TreeCheckboxIconTemplateContext>>('checkboxicon', { descendants: false });\n /**\n * Custom loading icon template.\n * @group Templates\n */\n loadingIconTemplate = contentChild<TemplateRef<void>>('loadingicon', { descendants: false });\n /**\n * Custom filter icon template.\n * @group Templates\n */\n filterIconTemplate = contentChild<TemplateRef<void>>('filtericon', { descendants: false });\n\n filterViewChild = viewChild<ElementRef>('filter');\n\n scroller = viewChild<Scroller>('scroller');\n\n wrapperViewChild = viewChild<ElementRef>('wrapper');\n\n contentViewChild = viewChild<ElementRef>('content');\n\n serializedValue: TreeNode<any>[] | null | undefined;\n\n public nodeTouched: boolean | undefined | null;\n\n public dragNodeTree: Tree | undefined | null;\n\n public dragNode: TreeNode<any> | undefined | null;\n\n public dragNodeSubNodes: TreeNode<any>[] | undefined | null;\n\n public dragNodeIndex: number | undefined | null;\n\n public dragNodeScope: any;\n\n public dragHover: boolean | undefined | null;\n\n _componentStyle = inject(TreeStyle);\n\n dragDropService = inject(TreeDragDropService, { optional: true });\n\n private destroyRef = inject(DestroyRef);\n\n constructor() {\n super();\n\n effect(() => {\n this.value();\n untracked(() => {\n this.updateSerializedValue();\n\n if (this.hasFilterActive()) {\n this._filter(this.filterViewChild()?.nativeElement?.value);\n }\n });\n });\n\n effect(() => {\n this.collapsedKeys();\n this.value();\n untracked(() => {\n if (this.collapsedKeys() == null) {\n return;\n }\n\n this.applyCollapsedKeys();\n this.updateSerializedValue();\n });\n });\n\n effect(() => {\n this.selectionKeys();\n this.value();\n untracked(() => {\n if (this.selectionKeys() == null) {\n return;\n }\n\n if (!this.isSameSelectionKeys(this.deriveSelectionKeys(), this.selectionKeys())) {\n this.applySelectionKeys();\n }\n });\n });\n effect(() => {\n this.selection();\n untracked(() => {\n if (this.selectionKeys() == null) {\n return;\n }\n\n const derived = this.deriveSelectionKeys();\n\n if (!this.isSameSelectionKeys(derived, this.selectionKeys())) {\n this.selectionKeys.set(derived);\n }\n });\n });\n }\n\n showLoadingMask = computed(() => this.loading() && this.loadingMode() === 'mask');\n\n get showEmptyMessage() {\n return !this.loading() && (this.getRootNode() == null || this.getRootNode()!.length === 0);\n }\n\n scrollerStyleHeight = computed(() => (this.scrollHeight() !== 'flex' ? this.scrollHeight() : undefined));\n\n scrollerScrollHeight = computed(() => (this.scrollHeight() !== 'flex' ? undefined : '100%'));\n\n get emptyMessageLabel(): string {\n return this.emptyMessage() || this.translate(TranslationKeys.EMPTY_MESSAGE);\n }\n\n /**\n * Filtering renders shallow copies of the matched nodes, this map links each copy back to\n * its source node so that structural operations (drag&drop) can mutate the original value.\n */\n private filteredNodeOrigins = new WeakMap<object, TreeNode<any>>();\n\n onDestroy() {\n this._destroyed = true;\n }\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onInit() {\n if (this.filterBy()) {\n this.filterOptions = {\n filter: (value) => this._filter(value),\n reset: () => this.resetFilter()\n };\n }\n\n if (this.droppableNodes()) {\n this.dragDropService?.dragStart$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {\n this.dragNodeTree = event.tree;\n this.dragNode = event.node;\n this.dragNodeSubNodes = event.subNodes;\n this.dragNodeIndex = event.index;\n this.dragNodeScope = event.scope;\n });\n }\n\n if (this.droppableNodes() || this.draggableNodes()) {\n this.dragDropService?.dragStop$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.dragNodeTree = null;\n this.dragNode = null;\n this.dragNodeSubNodes = null;\n this.dragNodeIndex = null;\n this.dragNodeScope = null;\n this.dragHover = false;\n\n if (this.hasFilterActive()) {\n this._filter(this.filterViewChild()?.nativeElement?.value);\n this.cd.markForCheck();\n } else if (this.virtualScroll()) {\n this.updateSerializedValue();\n this.cd.markForCheck();\n }\n });\n }\n }\n\n updateSerializedValue() {\n this.serializedValue = [];\n this.serializeNodes(null, this.getRootNode(), 0, true);\n }\n\n /**\n * Projects the current `collapsedKeys` map onto each node's `expanded` flag (a node is expanded\n * unless its key maps to `true`).\n */\n private applyCollapsedKeys() {\n const collapsedKeys = this.collapsedKeys();\n\n if (collapsedKeys == null) {\n return;\n }\n\n const walk = (nodes?: TreeNode<any>[] | null) => {\n if (!nodes) return;\n\n for (const node of nodes) {\n if (node.key != null) {\n node.expanded = !collapsedKeys[node.key as string];\n }\n\n if (node.children) {\n walk(node.children);\n }\n }\n };\n\n walk(this.getRootNode() as TreeNode<any>[]);\n }\n\n /**\n * Reflects a node's expansion change back into the two-way `collapsedKeys` map when it is in use.\n */\n setNodeCollapsed(node: TreeNode<any>, collapsed: boolean) {\n const collapsedKeys = this.collapsedKeys();\n\n if (collapsedKeys == null || node.key == null) {\n return;\n }\n\n const next = { ...collapsedKeys };\n\n if (collapsed) {\n next[node.key as string] = true;\n } else {\n delete next[node.key as string];\n }\n\n this.collapsedKeys.set(next);\n }\n\n /** Builds a `key -> node` lookup over the whole tree (for `selectionKeys` projection). */\n private collectNodesByKey(): Map<string, TreeNode<any>> {\n const map = new Map<string, TreeNode<any>>();\n\n const walk = (nodes?: TreeNode<any>[] | null) => {\n if (!nodes) return;\n\n for (const node of nodes) {\n if (node.key != null) {\n map.set(node.key as string, node);\n }\n\n if (node.children) {\n walk(node.children);\n }\n }\n };\n\n walk(this.getRootNode() as TreeNode<any>[]);\n\n return map;\n }\n\n /** Derives the `selectionKeys` map from the current `selection` (and `partialSelected` for checkbox). */\n private deriveSelectionKeys(): { [key: string]: any } {\n const mode = this.selectionMode();\n const map: { [key: string]: any } = {};\n\n if (mode === 'checkbox') {\n const selection = (this.selection() as TreeNode<any>[]) || [];\n const selectedKeys = new Set(selection.map((node) => node.key));\n\n const walk = (nodes?: TreeNode<any>[] | null) => {\n if (!nodes) return;\n\n for (const node of nodes) {\n if (node.key != null) {\n if (selectedKeys.has(node.key)) {\n map[node.key as string] = { checked: true, partialChecked: false };\n } else if (node.partialSelected) {\n map[node.key as string] = { checked: false, partialChecked: true };\n }\n }\n\n if (node.children) {\n walk(node.children);\n }\n }\n };\n\n walk(this.getRootNode() as TreeNode<any>[]);\n } else if (mode === 'single') {\n const selected = this.selection() as TreeNode<any> | null;\n\n if (selected?.key != null) {\n map[selected.key as string] = true;\n }\n } else {\n const selection = (this.selection() as TreeNode<any>[]) || [];\n\n for (const node of selection) {\n if (node.key != null) {\n map[node.key as string] = true;\n }\n }\n }\n\n return map;\n }\n\n /** Applies the current `selectionKeys` map onto the `selection` model (and `partialSelected` for checkbox). */\n private applySelectionKeys() {\n const keys = this.selectionKeys();\n\n if (keys == null) {\n return;\n }\n\n const mode = this.selectionMode();\n const nodesByKey = this.collectNodesByKey();\n const isChecked = (value: any) => value === true || value?.checked === true;\n\n if (mode === 'single') {\n const key = Object.keys(keys).find((k) => isChecked(keys[k]));\n\n this.selection.set(key != null ? (nodesByKey.get(key) ?? null) : null);\n\n return;\n }\n\n const selected: TreeNode<any>[] = [];\n\n nodesByKey.forEach((node, key) => {\n const value = keys[key];\n\n if (mode === 'checkbox') {\n node.partialSelected = value?.partialChecked === true;\n }\n\n if (isChecked(value)) {\n selected.push(node);\n }\n });\n this.selection.set(selected);\n }\n\n /** Value-based equality for two `selectionKeys` maps (handles both boolean and `{checked,partialChecked}` values). */\n private isSameSelectionKeys(a: { [key: string]: any } | null, b: { [key: string]: any } | null): boolean {\n const aKeys = Object.keys(a || {});\n const bKeys = Object.keys(b || {});\n\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n\n return aKeys.every((key) => {\n const av = (a as any)[key];\n const bv = (b as any)[key];\n\n if (av === bv) return true;\n\n if (av && bv && typeof av === 'object' && typeof bv === 'object') {\n return av.checked === bv.checked && av.partialChecked === bv.partialChecked;\n }\n\n return false;\n });\n }\n\n serializeNodes(parent: TreeNode<any> | null, nodes: TreeNode<any>[] | any, level: number, visible: boolean) {\n if (nodes && nodes.length) {\n for (let node of nodes) {\n node.parent = parent;\n const rowNode = {\n node: node,\n parent: parent,\n level: level,\n visible: visible && (parent ? parent.expanded : true)\n };\n\n (this.serializedValue as TreeNode<any>[]).push(<TreeNode>rowNode);\n\n if (rowNode.visible && node.expanded) {\n this.serializeNodes(node, node.children, level + 1, rowNode.visible);\n }\n }\n }\n }\n\n onNodeClick(event: Event, node: TreeNode) {\n let eventTarget = <Element>event.target;\n const section = eventTarget?.getAttribute?.('data-pc-section');\n\n if (section === 'nodetogglebutton' || section === 'nodetoggleicon') {\n return;\n }\n\n if (this.selectionMode()) {\n if (node.selectable === false) {\n return;\n }\n\n if (this.hasFilteredNodes()) {\n node = this.getNodeWithKey(<string>node.key, <TreeNode<any>[]>this.filteredNodes()) as TreeNode;\n\n if (!node) {\n return;\n }\n }\n\n let index = this.findIndexInSelection(node);\n let selected = index >= 0;\n const currentSelection = this.selection();\n\n if (this.isCheckboxSelectionMode()) {\n if (selected) {\n if (this.propagateSelectionDown()) this.propagateDown(node, false);\n else this.selection.set((currentSelection as TreeNode[]).filter((_val: TreeNode, i: number) => i != index));\n\n if (this.propagateSelectionUp() && node.parent) {\n this.propagateUp(node.parent, false);\n }\n\n this.onNodeUnselect.emit({ originalEvent: event, node: node });\n } else {\n if (this.propagateSelectionDown()) this.propagateDown(node, true);\n else this.selection.set([...((currentSelection as TreeNode[]) || []), node]);\n\n if (this.propagateSelectionUp() && node.parent) {\n this.propagateUp(node.parent, true);\n }\n\n this.onNodeSelect.emit({ originalEvent: event, node: node });\n }\n } else {\n let metaSelection = this.nodeTouched ? false : this.metaKeySelection();\n\n if (metaSelection) {\n let metaKey = (<KeyboardEvent>event).metaKey || (<KeyboardEvent>event).ctrlKey;\n\n if (selected && metaKey) {\n if (this.isSingleSelectionMode()) {\n this.selection.set(null);\n } else {\n this.selection.set((currentSelection as TreeNode[]).filter((_val: TreeNode, i: number) => i != index));\n }\n\n this.onNodeUnselect.emit({ originalEvent: event, node: node });\n } else {\n if (this.isSingleSelectionMode()) {\n this.selection.set(node);\n } else if (this.isMultipleSelectionMode()) {\n const base = !metaKey ? [] : (currentSelection as TreeNode[]) || [];\n\n this.selection.set([...base, node]);\n }\n\n this.onNodeSelect.emit({ originalEvent: event, node: node });\n }\n } else {\n if (this.isSingleSelectionMode()) {\n if (selected) {\n this.selection.set(null);\n this.onNodeUnselect.emit({ originalEvent: event, node: node });\n } else {\n this.selection.set(node);\n setTimeout(() => {\n if (this._destroyed) return;\n\n this.onNodeSelect.emit({ originalEvent: event, node: node });\n });\n }\n } else {\n if (selected) {\n this.selection.set((currentSelection as TreeNode[]).filter((_val: TreeNode, i: number) => i != index));\n this.onNodeUnselect.emit({ originalEvent: event, node: node });\n } else {\n this.selection.set([...((currentSelection as TreeNode[]) || []), node]);\n setTimeout(() => {\n if (this._destroyed) return;\n\n this.onNodeSelect.emit({ originalEvent: event, node: node });\n });\n }\n }\n }\n }\n }\n\n this.nodeTouched = false;\n }\n\n onNodeTouchEnd() {\n this.nodeTouched = true;\n }\n\n onNodeRightClick(event: MouseEvent, node: TreeNode<any>) {\n if (this.contextMenu()) {\n let eventTarget = <Element>event.target;\n const section = eventTarget.getAttribute('data-pc-section');\n\n if (section === 'nodetogglebutton' || section === 'nodetoggleicon') {\n return;\n }\n\n const onContextMenuCallback = () => {\n this.contextMenu().show(event);\n\n this.contextMenu().hideCallback = () => {\n this.contextMenuSelection.set(null);\n };\n\n this.onNodeContextMenuSelect.emit({ originalEvent: event, node: node });\n };\n\n this.contextMenuSelection.set(node);\n onContextMenuCallback();\n }\n }\n\n onNodeDblClick(event: MouseEvent, node: TreeNode<any>) {\n this.onNodeDoubleClick.emit({ originalEvent: event, node: node });\n }\n\n findIndexInSelection(node: TreeNode) {\n let index: number = -1;\n const currentSelection = this.selection();\n\n if (this.selectionMode() && currentSelection) {\n if (this.isSingleSelectionMode()) {\n const sel = currentSelection as TreeNode;\n let areNodesEqual = (sel.key && sel.key === node.key) || sel == node;\n\n index = areNodesEqual ? 0 : -1;\n } else {\n const selArray = currentSelection as TreeNode[];\n\n for (let i = 0; i < selArray.length; i++) {\n let selectedNode = selArray[i];\n let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;\n\n if (areNodesEqual) {\n index = i;\n break;\n }\n }\n }\n }\n\n return index;\n }\n\n syncNodeOption(node: TreeNode, parentNodes: TreeNode<any>[], option: any, value?: any) {\n // to synchronize the node option between the filtered nodes and the original nodes(this.value)\n const _node = this.hasFilteredNodes() ? this.getNodeWithKey(<string>node.key, parentNodes) : null;\n\n if (_node) {\n (<any>_node)[option] = value || (<any>node)[option];\n }\n }\n\n hasFilteredNodes() {\n return this.filter() && this.filteredNodes() && this.filteredNodes()!.length;\n }\n\n /** Returns the source node of a filtered copy, or the node itself when it is not a copy. */\n getOriginalNode(node: TreeNode<any>): TreeNode<any> {\n return this.filteredNodeOrigins.get(node) ?? node;\n }\n\n hasFilterActive() {\n return this.filter() && this.filterViewChild()?.nativeElement?.value.length > 0;\n }\n\n getNodeWithKey(key: string, nodes: TreeNode<any>[]): TreeNode<any> | undefined {\n for (let node of nodes) {\n if (node.key === key) {\n return node;\n }\n\n if (node.children) {\n let matchedNode = this.getNodeWithKey(key, node.children);\n\n if (matchedNode) {\n return matchedNode;\n }\n }\n }\n }\n\n propagateUp(node: TreeNode, select: boolean) {\n if (node.children && node.children.length) {\n let selectedCount: number = 0;\n let childPartialSelected: boolean = false;\n\n for (let child of node.children) {\n if (this.isSelected(child)) {\n selectedCount++;\n } else if (child.partialSelected) {\n childPartialSelected = true;\n }\n }\n\n const currentSelection = (this.selection() as TreeNode[]) || [];\n\n if (select && selectedCount == node.children.length) {\n this.selection.set([...currentSelection, node]);\n node.partialSelected = false;\n } else {\n if (!select) {\n let index = this.findIndexInSelection(node);\n\n if (index >= 0) {\n this.selection.set(currentSelection.filter((_val: TreeNode, i: number) => i != index));\n }\n }\n\n if (childPartialSelected || (selectedCount > 0 && selectedCount != node.children.length)) node.partialSelected = true;\n else node.partialSelected = false;\n }\n\n this.syncNodeOption(node, <TreeNode<any>[]>this.filteredNodes(), 'partialSelected');\n }\n\n let parent = node.parent;\n\n if (parent) {\n this.propagateUp(parent, select);\n }\n }\n\n propagateDown(node: TreeNode, select: boolean) {\n let index = this.findIndexInSelection(node);\n const currentSelection = (this.selection() as TreeNode[]) || [];\n\n if (select && index == -1) {\n this.selection.set([...currentSelection, node]);\n } else if (!select && index > -1) {\n this.selection.set(currentSelection.filter((_val: TreeNode, i: number) => i != index));\n }\n\n node.partialSelected = false;\n\n this.syncNodeOption(node, <TreeNode<any>[]>this.filteredNodes(), 'partialSelected');\n\n if (node.children && node.children.length) {\n for (let child of node.children) {\n this.propagateDown(child, select);\n }\n }\n }\n\n isSelected(node: TreeNode) {\n return this.findIndexInSelection(node) != -1;\n }\n\n isSingleSelectionMode() {\n return this.selectionMode() && this.selectionMode() == 'single';\n }\n\n isMultipleSelectionMode() {\n return this.selectionMode() && this.selectionMode() == 'multiple';\n }\n\n isCheckboxSelectionMode() {\n return this.selectionMode() && this.selectionMode() == 'checkbox';\n }\n\n isNodeLeaf(node: TreeNode): boolean {\n return node.leaf == false ? false : !(node.children && node.children.length);\n }\n\n getRootNode() {\n return this.filteredNodes() ? this.filteredNodes() : this.value();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getTemplateForNode(node: TreeNode): TemplateRef<any> | null {\n return this.nodeTemplate() ?? null;\n }\n\n onDragOver(event: DragEvent) {\n if (this.droppableNodes() && this.allowDrop(<TreeNode>this.dragNode, null, this.dragNodeScope)) {\n (<any>event).dataTransfer.dropEffect = 'copy';\n event.preventDefault();\n }\n }\n\n onDrop(event: DragEvent) {\n if (this.droppableNodes()) {\n event.preventDefault();\n let dragNode = this.dragNode as TreeNode;\n\n if (this.isSameTreeScope(this.dragNodeScope)) {\n return;\n }\n\n if (this.allowDrop(dragNode, null, this.dragNodeScope)) {\n let dragNodeIndex = <number>this.dragNodeIndex;\n\n if (this.validateDrop()) {\n this.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: null,\n index: dragNodeIndex,\n accept: () => {\n this.processTreeDrop(dragNode, dragNodeIndex);\n }\n });\n } else {\n this.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: null,\n index: dragNodeIndex\n });\n\n this.processTreeDrop(dragNode, dragNodeIndex);\n }\n }\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n processTreeDrop(dragNode: TreeNode, dragNodeIndex: number) {\n const subNodes = <TreeNode<any>[]>this.dragNodeSubNodes;\n const removalIndex = subNodes ? subNodes.indexOf(dragNode) : -1;\n\n if (removalIndex !== -1) {\n subNodes.splice(removalIndex, 1);\n }\n\n (this.value() as TreeNode<any>[]).push(dragNode);\n this.dragDropService!.stopDrag({\n node: dragNode\n });\n }\n\n onDragEnter() {\n if (this.droppableNodes() && this.allowDrop(<TreeNode>this.dragNode, null, this.dragNodeScope)) {\n this.dragHover = true;\n }\n }\n\n onDragLeave(event: DragEvent) {\n if (this.droppableNodes()) {\n let rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n\n if (event.x > parseInt(rect.left as any) + rect.width || event.x < parseInt(rect.left as any) || event.y > parseInt(rect.top as any) + rect.height || event.y < parseInt(rect.top as any)) {\n this.dragHover = false;\n }\n }\n }\n\n allowDrop(dragNode: TreeNode, dropNode: TreeNode<any> | null, dragNodeScope: any): boolean {\n if (!dragNode) {\n //prevent random html elements to be dragged\n return false;\n } else if (this.isValidDragScope(dragNodeScope)) {\n let allow: boolean = true;\n\n if (dropNode) {\n // The drag state holds original nodes while a filtered tree renders copies,\n // so compare against the original of each node in the drop chain.\n if (dragNode === this.getOriginalNode(dropNode)) {\n allow = false;\n } else {\n let parent = dropNode.parent;\n\n while (parent != null) {\n if (this.getOriginalNode(parent) === dragNode) {\n allow = false;\n break;\n }\n\n parent = parent.parent;\n }\n }\n }\n\n return allow;\n } else {\n return false;\n }\n }\n\n hasCommonScope(dragScope: any, dropScope: any): boolean {\n if (typeof dropScope === 'string') {\n if (typeof dragScope === 'string') return dropScope === dragScope;\n else if (Array.isArray(dragScope)) return (<Array<any>>dragScope).indexOf(dropScope) != -1;\n } else if (Array.isArray(dropScope)) {\n if (typeof dragScope === 'string') {\n return (<Array<any>>dropScope).indexOf(dragScope) != -1;\n } else if (Array.isArray(dragScope)) {\n for (let s of dropScope) {\n for (let ds of dragScope) {\n if (s === ds) {\n return true;\n }\n }\n }\n }\n }\n\n return false;\n }\n\n isSameTreeScope(dragScope: any): boolean {\n return this.hasCommonScope(dragScope, this.draggableScope());\n }\n\n isValidDragScope(dragScope: any): boolean {\n let dropScope = this.droppableScope();\n\n if (dropScope) {\n return this.hasCommonScope(dragScope, dropScope);\n } else {\n return true;\n }\n }\n\n public _filter(value: string) {\n let filterValue = value;\n\n if (filterValue === '') {\n this.filteredNodes.set(null);\n } else {\n const filteredNodes: TreeNode<any>[] = [];\n const searchFields: string[] = this.filterBy().split(',');\n const filterText = removeAccents(filterValue).toLocaleLowerCase(this.filterLocale());\n const isStrictMode = this.filterMode() === 'strict';\n\n for (let node of <TreeNode<any>[]>this.value()) {\n let copyNode = { ...node };\n\n this.filteredNodeOrigins.set(copyNode, node);\n let paramsWithoutNode = { searchFields, filterText, isStrictMode };\n\n if (\n (isStrictMode && (this.findFilteredNodes(copyNode, paramsWithoutNode) || this.isFilterMatched(copyNode, paramsWithoutNode))) ||\n (!isStrictMode && (this.isFilterMatched(copyNode, paramsWithoutNode) || this.findFilteredNodes(copyNode, paramsWithoutNode)))\n ) {\n filteredNodes.push(copyNode);\n }\n }\n\n this.filteredNodes.set(filteredNodes);\n }\n\n this.updateSerializedValue();\n this.onFilter.emit({\n filter: filterValue,\n filteredValue: this.filteredNodes()\n });\n }\n\n /**\n * Resets filter.\n * @group Method\n */\n public resetFilter() {\n this.filteredNodes.set(null);\n\n const filterEl = this.filterViewChild();\n\n if (filterEl && filterEl.nativeElement) {\n filterEl.nativeElement.value = '';\n }\n }\n /**\n * Scrolls to virtual index.\n * @param {number} number - Index to be scrolled.\n * @group Method\n */\n public scrollToVirtualIndex(index: number) {\n if (this.virtualScroll()) {\n this.scroller()?.scrollToIndex(index);\n }\n }\n /**\n * Scrolls to virtual index.\n * @param {ScrollToOptions} options - Scroll options.\n * @group Method\n */\n public scrollTo(options: any) {\n if (this.virtualScroll()) {\n this.scroller()?.scrollTo(options);\n } else {\n const wrapper = this.wrapperViewChild();\n\n if (wrapper && wrapper.nativeElement) {\n if (wrapper.nativeElement.scrollTo) {\n wrapper.nativeElement.scrollTo(options);\n } else {\n wrapper.nativeElement.scrollLeft = options.left;\n wrapper.nativeElement.scrollTop = options.top;\n }\n }\n }\n }\n\n findFilteredNodes(node: TreeNode, paramsWithoutNode: any) {\n if (node) {\n let matched = false;\n\n if (node.children) {\n let childNodes = [...node.children];\n\n node.children = [];\n\n for (let childNode of childNodes) {\n let copyChildNode = { ...childNode };\n\n this.filteredNodeOrigins.set(copyChildNode, this.getOriginalNode(childNode));\n\n if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {\n matched = true;\n node.children.push(copyChildNode);\n }\n }\n }\n\n if (matched) {\n node.expanded = true;\n\n return true;\n }\n }\n }\n\n isFilterMatched(node: TreeNode, params: any) {\n let { searchFields, filterText, isStrictMode } = params;\n let matched = false;\n\n for (let field of searchFields) {\n let fieldValue = removeAccents(String(resolveFieldData(node, field))).toLocaleLowerCase(this.filterLocale());\n\n if (fieldValue.indexOf(filterText) > -1) {\n matched = true;\n }\n }\n\n if (!matched || (isStrictMode && !this.isNodeLeaf(node))) {\n matched = this.findFilteredNodes(node, { searchFields, filterText, isStrictMode }) || matched;\n }\n\n return matched;\n }\n\n getIndex(options: any, index: number) {\n const getItemOptions = options['getItemOptions'];\n\n return getItemOptions ? getItemOptions(index).index : index;\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n get containerDataP() {\n return this.cn({\n loading: this.loading(),\n scrollable: this.scrollHeight() === 'flex'\n });\n }\n\n get wrapperDataP() {\n return this.cn({\n scrollable: this.scrollHeight() === 'flex'\n });\n }\n}\n@NgModule({\n imports: [Tree],\n exports: [Tree]\n})\nexport class TreeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ChevronRightIcon","ChevronDownIcon","SpinnerIcon","i1","SearchIcon"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"primeng-treeselect.mjs","sources":["../../src/treeselect/style/treeselectstyle.ts","../../src/treeselect/treeselect.ts","../../src/treeselect/primeng-treeselect.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/treeselect';\nimport { BaseStyle } from 'primeng/base';\n\nconst inlineStyles = {\n root: ({ instance }) => ({ position: instance.$appendTo() === 'self' ? 'relative' : undefined })\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'p-treeselect p-component p-inputwrapper',\n {\n 'p-treeselect-display-chip': instance.display() === 'chip',\n 'p-disabled': instance.$disabled(),\n 'p-invalid': instance.invalid(),\n 'p-focus': instance.focused(),\n 'p-variant-filled': instance.$variant() === 'filled',\n 'p-inputwrapper-filled': !instance.emptyValue(),\n 'p-inputwrapper-focus': instance.focused() || instance.overlayVisible(),\n 'p-treeselect-open': instance.overlayVisible(),\n 'p-treeselect-fluid': instance.hasFluid,\n 'p-treeselect-sm p-inputfield-sm': instance.size() === 'small',\n 'p-treeselect-lg p-inputfield-lg': instance.size() === 'large'\n }\n ],\n labelContainer: 'p-treeselect-label-container',\n label: ({ instance }) => [\n 'p-treeselect-label',\n {\n 'p-placeholder': instance.label() === instance.placeholder(),\n 'p-treeselect-label-empty': !instance.placeholder() && instance.emptyValue()\n }\n ],\n clearIcon: 'p-treeselect-clear-icon',\n chip: 'p-treeselect-chip-item',\n pcChip: 'p-treeselect-chip',\n dropdown: 'p-treeselect-dropdown',\n dropdownIcon: 'p-treeselect-dropdown-icon',\n panel: 'p-treeselect-overlay p-component-overlay p-component',\n treeContainer: 'p-treeselect-tree-container',\n emptyMessage: 'p-treeselect-empty-message'\n};\n\n@Injectable()\nexport class TreeSelectStyle extends BaseStyle {\n name = 'treeselect';\n\n style = style;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * TreeSelect is a form component to choose from hierarchical data.\n *\n * [Live Demo](https://www.primeng.org/treeselect/)\n *\n * @module treeselectstyle\n *\n */\nexport enum TreeSelectClasses {\n /**\n * Class name of the root element\n */\n root = 'p-treeselect',\n /**\n * Class name of the label container element\n */\n labelContainer = 'p-treeselect-label-container',\n /**\n * Class name of the label element\n */\n label = 'p-treeselect-label',\n /**\n * Class name of the chip item element\n */\n chipItem = 'p-treeselect-chip-item',\n /**\n * Class name of the clear icon element\n */\n clearIcon = 'p-treeselect-clear-icon',\n /**\n * Class name of the chip element\n */\n pcChip = 'p-treeselect-chip',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'p-treeselect-dropdown',\n /**\n * Class name of the dropdown icon element\n */\n dropdownIcon = 'p-treeselect-dropdown-icon',\n /**\n * Class name of the panel element\n */\n panel = 'p-treeselect-overlay',\n /**\n * Class name of the tree container element\n */\n treeContainer = 'p-treeselect-tree-container',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-treeselect-empty-message'\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n forwardRef,\n inject,\n InjectionToken,\n input,\n NgModule,\n numberAttribute,\n output,\n signal,\n TemplateRef,\n untracked,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { Times as TimesIcon } from '@primeicons/angular/times';\nimport { MotionOptions } from '@primeuix/motion';\nimport { focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, isNotEmpty, uuid } from '@primeuix/utils';\nimport { OverlayOptions, ScrollerOptions, SharedModule, TreeNode } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { Bind } from 'primeng/bind';\nimport { Chip } from 'primeng/chip';\nimport { Fluid } from 'primeng/fluid';\nimport { Overlay } from 'primeng/overlay';\nimport { Tree, TreeFilterEvent, TreeNodeSelectEvent, TreeNodeUnSelectEvent } from 'primeng/tree';\nimport { Nullable } from 'primeng/ts-helpers';\nimport type { AppendTo, CSSProperties, InputSize, InputVariant } from 'primeng/types/shared';\nimport {\n TreeSelectDisplay,\n TreeSelectHeaderTemplateContext,\n TreeSelectItemCheckboxIconTemplateContext,\n TreeSelectItemTogglerIconTemplateContext,\n TreeSelectLoadingMode,\n TreeSelectNodeCollapseEvent,\n TreeSelectNodeExpandEvent,\n TreeSelectPassThrough,\n TreeSelectSelectionMode,\n TreeSelectValueTemplateContext\n} from 'primeng/types/treeselect';\nimport { TreeSelectStyle } from './style/treeselectstyle';\n\nexport const TREESELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TreeSelect),\n multi: true\n};\n\nconst TREESELECT_INSTANCE = new InjectionToken<TreeSelect>('TREESELECT_INSTANCE');\n\n/**\n * TreeSelect is a form component to choose from hierarchical data.\n * @group Components\n */\n@Component({\n selector: 'p-tree-select, p-treeselect',\n standalone: true,\n imports: [NgTemplateOutlet, Overlay, SharedModule, Tree, AutoFocus, TimesIcon, ChevronDownIcon, Chip, Bind],\n hostDirectives: [Bind],\n template: `\n <div class=\"p-hidden-accessible\" [pBind]=\"ptm('hiddenInputContainer')\" [attr.data-p-hidden-accessible]=\"true\">\n <input\n #focusInput\n type=\"text\"\n role=\"combobox\"\n [attr.id]=\"inputId()\"\n readonly\n [attr.disabled]=\"$inputDisabledAttr()\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.tabindex]=\"$inputTabindex()\"\n [attr.aria-controls]=\"$ariaControls()\"\n [attr.aria-haspopup]=\"'tree'\"\n [attr.aria-expanded]=\"$ariaExpanded()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-label]=\"$inputAriaLabel()\"\n [pAutoFocus]=\"autofocus()\"\n [pBind]=\"ptm('hiddenInput')\"\n />\n </div>\n <div [class]=\"cx('labelContainer')\" [pBind]=\"ptm('labelContainer')\">\n <div [class]=\"cn(cx('label'), labelStyleClass())\" [style]=\"labelStyle()\" [pBind]=\"ptm('label')\">\n @if (valueTemplate()) {\n <ng-container *ngTemplateOutlet=\"valueTemplate(); context: valueTemplateContext()\"></ng-container>\n } @else {\n @if (display() === 'comma') {\n {{ $labelText() }}\n } @else {\n @for (node of _value(); track node.key || $index) {\n <div [class]=\"cx('chipItem')\" [pBind]=\"ptm('chipItem')\">\n <p-chip [unstyled]=\"unstyled()\" [label]=\"node.label\" [class]=\"cx('pcChip')\" [pt]=\"ptm('pcChip')\" />\n </div>\n }\n @if (emptyValue()) {\n {{ $placeholderText() }}\n }\n }\n }\n </div>\n </div>\n @if ($showClearIcon()) {\n @if (!clearIconTemplate()) {\n <svg data-p-icon=\"times\" [class]=\"cx('clearIcon')\" (click)=\"clear($event)\" [pBind]=\"ptm('clearIcon')\" [attr.data-pc-section]=\"'clearicon'\" />\n } @else {\n <span [class]=\"cx('clearIcon')\" (click)=\"clear($event)\" [pBind]=\"ptm('clearIcon')\" [attr.data-pc-section]=\"'clearicon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate()\"></ng-template>\n </span>\n }\n }\n <div [class]=\"cx('dropdown')\" role=\"button\" aria-haspopup=\"tree\" [attr.aria-expanded]=\"$ariaExpanded()\" [attr.aria-label]=\"'treeselect trigger'\" [pBind]=\"ptm('dropdown')\">\n @if ($showDefaultDropdownIcon()) {\n <svg data-p-icon=\"chevron-down\" [class]=\"cx('dropdownIcon')\" [pBind]=\"ptm('dropdownIcon')\" />\n } @else {\n <span [class]=\"cx('dropdownIcon')\" [pBind]=\"ptm('dropdownIcon')\">\n <ng-template *ngTemplateOutlet=\"$dropdownIconTemplate()\"></ng-template>\n </span>\n }\n </div>\n <p-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [visible]=\"overlayVisible()\"\n (visibleChange)=\"overlayVisible.set($event)\"\n [options]=\"overlayOptions()\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n [unstyled]=\"unstyled()\"\n [pt]=\"ptm('pcOverlay')\"\n [motionOptions]=\"motionOptions()\"\n (onBeforeEnter)=\"onOverlayBeforeEnter()\"\n (onBeforeHide)=\"onOverlayBeforeHide()\"\n (onShow)=\"onShow.emit($event)\"\n (onHide)=\"hide($event)\"\n >\n <ng-template #content>\n <div #panel [attr.id]=\"listId\" [class]=\"cn(cx('panel'), panelStyleClass(), panelClass())\" [style]=\"panelStyle()\" [pBind]=\"ptm('panel')\">\n <span\n #firstHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('hiddenFirstFocusableEl')\"\n >\n </span>\n @if (headerTemplate()) {\n <ng-container *ngTemplateOutlet=\"headerTemplate(); context: headerTemplateContext()\"></ng-container>\n }\n <div [class]=\"cx('treeContainer')\" [style]=\"$treeContainerStyle()\" [pBind]=\"ptm('treeContainer')\">\n <p-tree\n #tree\n [value]=\"_options()\"\n [propagateSelectionDown]=\"propagateSelectionDown()\"\n [propagateSelectionUp]=\"propagateSelectionUp()\"\n [selectionMode]=\"selectionMode()\"\n (selectionChange)=\"onSelectionChange($event)\"\n [selection]=\"_value()\"\n [metaKeySelection]=\"metaKeySelection()\"\n (onNodeExpand)=\"nodeExpand($event)\"\n (onNodeCollapse)=\"nodeCollapse($event)\"\n (onNodeSelect)=\"onSelect($event)\"\n [emptyMessage]=\"emptyMessage()\"\n (onNodeUnselect)=\"onUnselect($event)\"\n [filter]=\"filter()\"\n [filterBy]=\"filterBy()\"\n [filterMode]=\"filterMode()\"\n [filterPlaceholder]=\"filterPlaceholder()\"\n [filterLocale]=\"filterLocale()\"\n [filteredNodes]=\"filteredNodes\"\n [virtualScroll]=\"virtualScroll()\"\n [virtualScrollItemSize]=\"virtualScrollItemSize()\"\n [virtualScrollOptions]=\"virtualScrollOptions()\"\n [loading]=\"loading()\"\n [filterInputAutoFocus]=\"filterInputAutoFocus()\"\n [loadingMode]=\"loadingMode()\"\n [pt]=\"ptm('pcTree')\"\n [unstyled]=\"unstyled()\"\n >\n @if (emptyTemplate()) {\n <ng-template #empty>\n <ng-container *ngTemplateOutlet=\"emptyTemplate()\"></ng-container>\n </ng-template>\n }\n @if (itemTogglerIconTemplate()) {\n <ng-template #togglericon let-expanded>\n <ng-container *ngTemplateOutlet=\"itemTogglerIconTemplate(); context: { $implicit: expanded }\"></ng-container>\n </ng-template>\n }\n @if (itemCheckboxIconTemplate()) {\n <ng-template #checkboxicon let-selected let-partialSelected=\"partialSelected\">\n <ng-container *ngTemplateOutlet=\"itemCheckboxIconTemplate(); context: { $implicit: selected, partialSelected: partialSelected }\"></ng-container>\n </ng-template>\n }\n @if (itemLoadingIconTemplate()) {\n <ng-template #loadingicon>\n <ng-container *ngTemplateOutlet=\"itemLoadingIconTemplate()\"></ng-container>\n </ng-template>\n }\n @if (filterIconTemplate()) {\n <ng-template #filtericon>\n <ng-container *ngTemplateOutlet=\"filterIconTemplate()\"></ng-container>\n </ng-template>\n }\n </p-tree>\n </div>\n @if (footerTemplate()) {\n <ng-container *ngTemplateOutlet=\"footerTemplate(); context: footerTemplateContext()\"></ng-container>\n }\n <span\n #lastHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('hiddenLastFocusableEl')\"\n ></span>\n </div>\n </ng-template>\n </p-overlay>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TREESELECT_VALUE_ACCESSOR,\n TreeSelectStyle,\n {\n provide: TREESELECT_INSTANCE,\n useExisting: TreeSelect\n },\n {\n provide: PARENT_INSTANCE,\n useExisting: TreeSelect\n }\n ],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cx('root')\",\n '[style]': \"sx('root')\",\n '(mousedown)': 'onClick($event)'\n }\n})\nexport class TreeSelect extends BaseEditableHolder<TreeSelectPassThrough> {\n componentName = 'TreeSelect';\n\n $pcTreeSelect: TreeSelect | undefined = inject(TREESELECT_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _componentStyle = inject(TreeSelectStyle);\n\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n inputId = input<string>();\n /**\n * Height of the viewport, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n scrollHeight = input<string>('400px');\n /**\n * Defines how multiple items can be selected, when true metaKey needs to be pressed to select or unselect an item and when set to false selection of each item can be toggled individually. On touch enabled devices, metaKeySelection is turned off automatically.\n * @group Props\n */\n metaKeySelection = input(false, { transform: booleanAttribute });\n /**\n * Defines how the selected items are displayed.\n * @group Props\n */\n display = input<TreeSelectDisplay>('comma');\n /**\n * Defines the selection mode.\n * @group Props\n */\n selectionMode = input<TreeSelectSelectionMode>('single');\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input<string>('0');\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n ariaLabel = input<string>();\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n /**\n * Label to display when there are no selections.\n * @group Props\n */\n placeholder = input<string>();\n /**\n * Style class of the overlay panel.\n * @group Props\n */\n panelClass = input<string | string[] | Set<string> | { [klass: string]: any }>();\n /**\n * Inline style of the panel element.\n * @group Props\n */\n panelStyle = input<CSSProperties>();\n /**\n * Style class of the panel element.\n * @group Props\n */\n panelStyleClass = input<string>();\n /**\n * Inline style of the label element.\n * @group Props\n */\n labelStyle = input<CSSProperties>();\n /**\n * Style class of the label element.\n * @group Props\n */\n labelStyleClass = input<string>();\n /**\n * Specifies the options for the overlay.\n * @group Props\n */\n overlayOptions = input<OverlayOptions>();\n /**\n * Text to display when there are no options available. Defaults to value from PrimeNG locale configuration.\n * @group Props\n */\n emptyMessage = input<string>('');\n /**\n * When specified, displays an input field to filter the items.\n * @group Props\n */\n filter = input(false, { transform: booleanAttribute });\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n filterBy = input<string>('label');\n /**\n * Mode for filtering valid values are \"lenient\" and \"strict\". Default is lenient.\n * @group Props\n */\n filterMode = input<string>('lenient');\n /**\n * Placeholder text to show when filter input is empty.\n * @group Props\n */\n filterPlaceholder = input<string>();\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n filterLocale = input<string>();\n /**\n * Determines whether the filter input should be automatically focused when the component is rendered.\n * @group Props\n */\n filterInputAutoFocus = input(true, { transform: booleanAttribute });\n /**\n * Whether checkbox selections propagate to descendant nodes.\n * @group Props\n */\n propagateSelectionDown = input(true, { transform: booleanAttribute });\n /**\n * Whether checkbox selections propagate to ancestor nodes.\n * @group Props\n */\n propagateSelectionUp = input(true, { transform: booleanAttribute });\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n showClear = input(false, { transform: booleanAttribute });\n /**\n * Clears the filter value when hiding the dropdown.\n * @group Props\n */\n resetFilterOnHide = input(true, { transform: booleanAttribute });\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n virtualScroll = input(undefined, { transform: booleanAttribute });\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n virtualScrollItemSize = input(undefined, { transform: numberAttribute });\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n virtualScrollOptions = input<ScrollerOptions>();\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus = input(undefined, { transform: booleanAttribute });\n /**\n * An array of treenodes.\n * @defaultValue undefined\n * @group Props\n */\n options = input<TreeNode[]>();\n /**\n * Displays a loader to indicate data load is in progress.\n * @group Props\n */\n loading = input(undefined, { transform: booleanAttribute });\n /**\n * Loading mode display.\n * @group Props\n */\n loadingMode = input<TreeSelectLoadingMode>('mask');\n /**\n * Specifies the size of the component.\n * @defaultValue undefined\n * @group Props\n */\n size = input<InputSize>();\n /**\n * Specifies the input variant of the component.\n * @defaultValue undefined\n * @group Props\n */\n variant = input<InputVariant>();\n /**\n * Spans 100% width of the container when enabled.\n * @defaultValue undefined\n * @group Props\n */\n fluid = input(undefined, { transform: booleanAttribute });\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<AppendTo>(undefined);\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n\n /**\n * Callback to invoke when a node is expanded.\n * @param {TreeSelectNodeExpandEvent} event - Custom node expand event.\n * @group Emits\n */\n onNodeExpand = output<TreeSelectNodeExpandEvent>();\n /**\n * Callback to invoke when a node is collapsed.\n * @param {TreeSelectNodeCollapseEvent} event - Custom node collapse event.\n * @group Emits\n */\n onNodeCollapse = output<TreeSelectNodeCollapseEvent>();\n /**\n * Callback to invoke when the overlay is shown.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onShow = output<any>();\n /**\n * Callback to invoke when the overlay is hidden.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onHide = output<Event>();\n /**\n * Callback to invoke when input field is cleared.\n * @group Emits\n */\n onClear = output<any>();\n /**\n * Callback to invoke when data is filtered.\n * @group Emits\n */\n onFilter = output<TreeFilterEvent>();\n /**\n * Callback to invoke when treeselect gets focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onFocus = output<Event>();\n /**\n * Callback to invoke when treeselect loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onBlur = output<Event>();\n /**\n * Callback to invoke when a node is unselected.\n * @param {TreeNodeUnSelectEvent} event - node unselect event.\n * @group Emits\n */\n onNodeUnselect = output<TreeNodeUnSelectEvent>();\n /**\n * Callback to invoke when a node is selected.\n * @param {TreeNodeSelectEvent} event - node select event.\n * @group Emits\n */\n onNodeSelect = output<TreeNodeSelectEvent>();\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n focusInputViewChild = viewChild<ElementRef>('focusInput');\n\n filterViewChild = viewChild<ElementRef>('filter');\n\n treeViewChild = viewChild<Tree>('tree');\n\n panelEl = viewChild<ElementRef>('panel');\n\n overlayViewChild = viewChild<Overlay>('overlay');\n\n firstHiddenFocusableElementOnOverlay = viewChild<ElementRef>('firstHiddenFocusableEl');\n\n lastHiddenFocusableElementOnOverlay = viewChild<ElementRef>('lastHiddenFocusableEl');\n\n $variant = computed(() => this.variant() || this.config.inputVariant() || undefined);\n\n pcFluid: Fluid | null = inject(Fluid, { optional: true, host: true, skipSelf: true });\n\n get hasFluid() {\n return this.fluid() ?? !!this.pcFluid;\n }\n\n public filteredNodes: TreeNode[] | undefined | null;\n\n filterValue: Nullable<string> = null;\n\n serializedValue: Nullable<any[]>;\n\n /**\n * Custom value template.\n * @param {TreeSelectValueTemplateContext} context - value context.\n * @see {@link TreeSelectValueTemplateContext}\n * @group Templates\n */\n valueTemplate = contentChild<TemplateRef<TreeSelectValueTemplateContext>>('value', { descendants: false });\n\n /**\n * Custom header template.\n * @param {TreeSelectHeaderTemplateContext} context - header context.\n * @see {@link TreeSelectHeaderTemplateContext}\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<TreeSelectHeaderTemplateContext>>('header', { descendants: false });\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n emptyTemplate = contentChild<TemplateRef<void>>('empty', { descendants: false });\n\n /**\n * Custom footer template.\n * @param {TreeSelectHeaderTemplateContext} context - footer context.\n * @see {@link TreeSelectHeaderTemplateContext}\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<TreeSelectHeaderTemplateContext>>('footer', { descendants: false });\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n clearIconTemplate = contentChild<TemplateRef<void>>('clearicon', { descendants: false });\n\n /**\n * Custom trigger icon template.\n * @group Templates\n */\n triggerIconTemplate = contentChild<TemplateRef<void>>('triggericon', { descendants: false });\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n dropdownIconTemplate = contentChild<TemplateRef<void>>('dropdownicon', { descendants: false });\n\n /**\n * Custom filter icon template.\n * @group Templates\n */\n filterIconTemplate = contentChild<TemplateRef<void>>('filtericon', { descendants: false });\n\n /**\n * Custom close icon template.\n * @group Templates\n */\n closeIconTemplate = contentChild<TemplateRef<void>>('closeicon', { descendants: false });\n\n /**\n * Custom item toggler icon template.\n * @param {TreeSelectItemTogglerIconTemplateContext} context - toggler icon context.\n * @see {@link TreeSelectItemTogglerIconTemplateContext}\n * @group Templates\n */\n itemTogglerIconTemplate = contentChild<TemplateRef<TreeSelectItemTogglerIconTemplateContext>>('itemtogglericon', { descendants: false });\n\n /**\n * Custom item checkbox icon template.\n * @param {TreeSelectItemCheckboxIconTemplateContext} context - checkbox icon context.\n * @see {@link TreeSelectItemCheckboxIconTemplateContext}\n * @group Templates\n */\n itemCheckboxIconTemplate = contentChild<TemplateRef<TreeSelectItemCheckboxIconTemplateContext>>('itemcheckboxicon', { descendants: false });\n\n /**\n * Custom item loading icon template.\n * @group Templates\n */\n itemLoadingIconTemplate = contentChild<TemplateRef<void>>('itemloadingicon', { descendants: false });\n\n focused = signal<boolean>(false);\n\n overlayVisible = signal<boolean>(false);\n\n _value = signal<any>(undefined);\n\n expandedNodes: any[] = [];\n\n _options = signal<TreeNode[] | undefined>(undefined);\n\n listId: string = '';\n\n valueTemplateContext = computed(() => ({ $implicit: this._value(), placeholder: this.placeholder() }));\n\n headerTemplateContext = computed(() => ({ $implicit: this._value(), options: this._options() }));\n\n footerTemplateContext = computed(() => ({ $implicit: this._value(), options: this._options() }));\n\n label = computed(() => {\n const value = this._value() || [];\n\n return value.length ? value.map((node: TreeNode) => node.label).join(', ') : this.selectionMode() === 'single' && this._value() ? this._value().label : this.placeholder();\n });\n\n emptyValue = computed(() => !this._value() || Object.keys(this._value()).length === 0);\n\n emptyOptions = computed(() => !this._options() || this._options()!.length === 0);\n\n $inputDisabledAttr = computed(() => (this.$disabled() ? '' : undefined));\n\n $inputTabindex = computed(() => (!this.$disabled() ? this.tabindex() : '-1'));\n\n $ariaControls = computed(() => (this.overlayVisible() ? this.listId : null));\n\n $ariaExpanded = computed(() => this.overlayVisible() ?? false);\n\n $inputAriaLabel = computed(() => {\n const ariaLabel = this.ariaLabel();\n const label = this.label();\n\n return ariaLabel || (label === 'p-emptylabel' ? undefined : label);\n });\n\n $showClearIcon = computed(() => this.checkValue() && !this.$disabled() && this.showClear());\n\n $showDefaultDropdownIcon = computed(() => !this.triggerIconTemplate() && !this.dropdownIconTemplate());\n\n $dropdownIconTemplate = computed(() => this.triggerIconTemplate() || this.dropdownIconTemplate());\n\n $labelText = computed(() => this.label() || 'empty');\n\n $placeholderText = computed(() => this.placeholder() || 'empty');\n\n $treeContainerStyle = computed(() => {\n if (!this.virtualScroll()) {\n return { 'max-height': this.scrollHeight() };\n }\n\n const height = this.virtualScrollOptions()?.scrollHeight ?? this.scrollHeight();\n\n return { height, 'max-height': height, overflow: 'hidden' };\n });\n\n constructor() {\n super();\n\n // Handle options input changes\n effect(() => {\n const opts = this.options();\n\n untracked(() => {\n this._options.set(opts);\n this.updateTreeState();\n });\n });\n }\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onInit() {\n this.listId = uuid('pn_id_') + '_list';\n this.updateTreeState();\n }\n\n onOverlayBeforeEnter() {\n if (this.filter()) {\n if (isNotEmpty(this.filterValue)) {\n this.treeViewChild()?._filter(<any>this.filterValue);\n }\n\n if (this.filterInputAutoFocus()) {\n this.filterViewChild()?.nativeElement.focus();\n }\n } else {\n let focusableElements = <any>getFocusableElements(this.panelEl()?.nativeElement);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n }\n }\n\n onOverlayBeforeHide() {\n let focusableElements = <any>getFocusableElements(this.el.nativeElement);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n }\n\n onSelectionChange(event: any) {\n this._value.set(event);\n this.onModelChange(this._value());\n }\n\n onClick(event: any) {\n if (this.$disabled()) {\n return;\n }\n\n const section = event.target?.getAttribute?.('data-pc-section');\n\n if (event.target?.closest?.('[data-pc-section=\"clearicon\"]')) {\n return;\n }\n\n if (!this.overlayViewChild()?.el?.nativeElement?.contains(event.target) && section !== 'box' && section !== 'icon') {\n if (this.overlayVisible()) {\n this.hide();\n } else {\n this.show();\n }\n\n this.focusInputViewChild()?.nativeElement.focus();\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n //down\n case 'ArrowDown':\n if (!this.overlayVisible()) {\n this.show();\n event.preventDefault();\n }\n\n this.onArrowDown(event);\n event.preventDefault();\n break;\n\n //space\n case 'Space':\n case 'Enter':\n if (!this.overlayVisible()) {\n this.show();\n event.preventDefault();\n }\n\n break;\n\n //escape\n case 'Escape':\n if (this.overlayVisible()) {\n this.hide();\n this.focusInputViewChild()?.nativeElement.focus();\n event.preventDefault();\n }\n\n break;\n\n //tab\n case 'Tab':\n this.onTabKey(event);\n break;\n\n default:\n break;\n }\n }\n\n onFilterInput(event: Event) {\n this.filterValue = (event.target as HTMLInputElement).value;\n this.treeViewChild()?._filter(this.filterValue);\n this.onFilter.emit({\n filter: this.filterValue,\n filteredValue: this.treeViewChild()?.filteredNodes()\n });\n setTimeout(() => {\n this.overlayViewChild()?.alignOverlay();\n });\n }\n\n onArrowDown(event: KeyboardEvent) {\n if (this.overlayVisible() && this.panelEl()?.nativeElement) {\n let focusableElements = <any>getFocusableElements(this.panelEl()!.nativeElement, '[data-pc-section=\"node\"]');\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n\n event.preventDefault();\n }\n }\n\n onFirstHiddenFocus(event: FocusEvent) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild()?.nativeElement\n ? getFirstFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])')\n : this.focusInputViewChild()?.nativeElement;\n\n focus(focusableEl);\n }\n\n onLastHiddenFocus(event: FocusEvent) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getLastFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : this.focusInputViewChild()?.nativeElement;\n\n focus(focusableEl);\n }\n\n show() {\n this.overlayVisible.set(true);\n }\n\n hide(event?: any) {\n this.overlayVisible.set(false);\n this.resetFilter();\n\n this.onHide.emit(event);\n }\n\n clear(event: Event) {\n this._value.set(null);\n this.resetExpandedNodes();\n this.resetPartialSelected();\n this.onModelChange(this._value());\n this.onClear.emit(null);\n\n event.stopPropagation();\n }\n\n checkValue() {\n return this._value() !== null && isNotEmpty(this._value());\n }\n\n onTabKey(event: KeyboardEvent, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible() && this.hasFocusableElements()) {\n focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay()?.nativeElement : this.firstHiddenFocusableElementOnOverlay()?.nativeElement);\n\n event.preventDefault();\n } else {\n if (this.overlayVisible()) {\n this.hide(this.filter());\n }\n }\n }\n }\n\n hasFocusableElements() {\n return getFocusableElements(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n }\n\n resetFilter() {\n if (this.filter() && !this.resetFilterOnHide()) {\n this.filteredNodes = this.treeViewChild()?.filteredNodes();\n this.treeViewChild()?.resetFilter();\n } else {\n this.filterValue = null;\n }\n }\n\n updateTreeState() {\n if (this._value()) {\n let selectedNodes = this.selectionMode() === 'single' ? [this._value()] : [...this._value()];\n\n this.resetExpandedNodes();\n this.resetPartialSelected();\n\n if (selectedNodes && this._options()) {\n this.updateTreeBranchState(null, null, selectedNodes);\n }\n }\n }\n\n updateTreeBranchState(node: TreeNode | null, path: any, selectedNodes: TreeNode[]) {\n if (node) {\n if (this.isSelected(node)) {\n this.expandPath(path);\n selectedNodes.splice(selectedNodes.indexOf(node), 1);\n }\n\n if (selectedNodes.length > 0 && node.children) {\n for (let childNode of node.children) {\n this.updateTreeBranchState(childNode, [...path, node], selectedNodes);\n }\n }\n } else {\n for (let childNode of this._options() as TreeNode[]) {\n this.updateTreeBranchState(childNode, [], selectedNodes);\n }\n }\n }\n\n expandPath(expandedNodes: TreeNode[]) {\n for (let node of expandedNodes) {\n node.expanded = true;\n }\n\n this.expandedNodes = [...expandedNodes];\n }\n\n nodeExpand(event: { originalEvent: Event; node: TreeNode }) {\n this.onNodeExpand.emit(event);\n this.expandedNodes.push(event.node);\n setTimeout(() => {\n this.overlayViewChild()?.alignOverlay();\n });\n }\n\n nodeCollapse(event: { originalEvent: Event; node: TreeNode }) {\n this.onNodeCollapse.emit(event);\n this.expandedNodes.splice(this.expandedNodes.indexOf(event.node), 1);\n setTimeout(() => {\n this.overlayViewChild()?.alignOverlay();\n });\n }\n\n resetExpandedNodes() {\n for (let node of this.expandedNodes) {\n node.expanded = false;\n }\n\n this.expandedNodes = [];\n }\n\n resetPartialSelected(nodes = this._options()): void {\n if (!nodes) {\n return;\n }\n\n for (let node of nodes) {\n node.partialSelected = false;\n\n if (node.children && node.children?.length > 0) {\n this.resetPartialSelected(node.children);\n }\n }\n }\n\n findSelectedNodes(node: TreeNode, keys: any[], selectedNodes: TreeNode[]) {\n if (node) {\n if (this.isSelected(node)) {\n selectedNodes.push(node);\n delete keys[node.key as any];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n } else {\n for (let childNode of this._options() as TreeNode[]) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n }\n\n isSelected(node: TreeNode) {\n return this.findIndexInSelection(node) != -1;\n }\n\n findIndexInSelection(node: TreeNode) {\n let index: number = -1;\n const value = this._value();\n\n if (value) {\n if (this.selectionMode() === 'single') {\n let areNodesEqual = (value.key && value.key === node.key) || value == node;\n\n index = areNodesEqual ? 0 : -1;\n } else {\n for (let i = 0; i < value.length; i++) {\n let selectedNode = value[i];\n let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;\n\n if (areNodesEqual) {\n index = i;\n break;\n }\n }\n }\n }\n\n return index;\n }\n\n onSelect(event: TreeNodeSelectEvent) {\n this.onNodeSelect.emit(event);\n\n if (this.selectionMode() === 'single') {\n this.hide();\n this.focusInputViewChild()?.nativeElement.focus();\n }\n }\n\n onUnselect(event: TreeNodeUnSelectEvent) {\n this.onNodeUnselect.emit(event);\n }\n\n onInputFocus(event: Event) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n this.focused.set(true);\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.focused.set(false);\n this.onBlur.emit(event);\n this.onModelTouched();\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any): void {\n this._value.set(value);\n this.updateTreeState();\n }\n}\n\n@NgModule({\n imports: [TreeSelect, SharedModule],\n exports: [TreeSelect, SharedModule]\n})\nexport class TreeSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["TimesIcon","ChevronDownIcon"],"mappings":"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"}
|