primeng 19.1.3 → 20.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/index.d.ts +255 -3
- package/animateonscroll/index.d.ts +69 -3
- package/api/index.d.ts +1818 -3
- package/autocomplete/index.d.ts +922 -3
- package/autofocus/index.d.ts +29 -3
- package/avatar/index.d.ts +113 -3
- package/avatargroup/index.d.ts +58 -3
- package/badge/index.d.ts +154 -3
- package/base/index.d.ts +63 -5
- package/basecomponent/index.d.ts +54 -5
- package/baseeditableholder/index.d.ts +36 -0
- package/baseinput/index.d.ts +73 -0
- package/blockui/index.d.ts +112 -3
- package/breadcrumb/index.d.ts +177 -3
- package/button/index.d.ts +479 -3
- package/buttongroup/index.d.ts +41 -3
- package/card/index.d.ts +152 -3
- package/carousel/index.d.ts +441 -3
- package/cascadeselect/index.d.ts +725 -3
- package/chart/index.d.ts +125 -3
- package/checkbox/index.d.ts +244 -3
- package/chip/index.d.ts +163 -3
- package/colorpicker/index.d.ts +326 -3
- package/config/index.d.ts +89 -5
- package/confirmdialog/index.d.ts +356 -3
- package/confirmpopup/index.d.ts +216 -3
- package/contextmenu/index.d.ts +354 -3
- package/dataview/index.d.ts +537 -3
- package/datepicker/index.d.ts +1188 -3
- package/dialog/index.d.ts +528 -3
- package/divider/index.d.ts +112 -3
- package/dock/index.d.ts +199 -3
- package/dom/index.d.ts +107 -3
- package/dragdrop/index.d.ts +119 -3
- package/drawer/index.d.ts +307 -3
- package/dynamicdialog/index.d.ts +542 -3
- package/editor/index.d.ts +224 -3
- package/fesm2022/primeng-accordion.mjs +85 -748
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +10 -10
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +31 -31
- package/fesm2022/primeng-api.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +562 -915
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +9 -18
- package/fesm2022/primeng-autofocus.mjs.map +1 -1
- package/fesm2022/primeng-avatar.mjs +25 -123
- package/fesm2022/primeng-avatar.mjs.map +1 -1
- package/fesm2022/primeng-avatargroup.mjs +10 -10
- package/fesm2022/primeng-avatargroup.mjs.map +1 -1
- package/fesm2022/primeng-badge.mjs +45 -154
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +9 -9
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +20 -27
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-baseeditableholder.mjs +49 -0
- package/fesm2022/primeng-baseeditableholder.mjs.map +1 -0
- package/fesm2022/primeng-baseinput.mjs +85 -0
- package/fesm2022/primeng-baseinput.mjs.map +1 -0
- package/fesm2022/primeng-blockui.mjs +47 -73
- package/fesm2022/primeng-blockui.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs +137 -213
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +71 -748
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +39 -96
- package/fesm2022/primeng-buttongroup.mjs.map +1 -1
- package/fesm2022/primeng-card.mjs +63 -84
- package/fesm2022/primeng-card.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +162 -339
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +144 -451
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +59 -58
- package/fesm2022/primeng-chart.mjs.map +1 -1
- package/fesm2022/primeng-checkbox.mjs +106 -276
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +27 -94
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-colorpicker.mjs +128 -315
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +14 -7
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +22 -42
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +51 -160
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +84 -267
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +211 -253
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +861 -1445
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +84 -337
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +34 -139
- package/fesm2022/primeng-divider.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +195 -315
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dom.mjs +11 -1
- package/fesm2022/primeng-dom.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +10 -10
- package/fesm2022/primeng-dragdrop.mjs.map +1 -1
- package/fesm2022/primeng-drawer.mjs +102 -258
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +16 -16
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +113 -1075
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +48 -138
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +310 -286
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +23 -109
- package/fesm2022/primeng-floatlabel.mjs.map +1 -1
- package/fesm2022/primeng-fluid.mjs +13 -17
- package/fesm2022/primeng-fluid.mjs.map +1 -1
- package/fesm2022/primeng-focustrap.mjs +7 -7
- package/fesm2022/primeng-focustrap.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +119 -674
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +22 -66
- package/fesm2022/primeng-iconfield.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledown.mjs +3 -3
- package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleright.mjs +3 -3
- package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleup.mjs +3 -3
- package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowup.mjs +3 -3
- package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
- package/fesm2022/primeng-icons-ban.mjs +3 -3
- package/fesm2022/primeng-icons-ban.mjs.map +1 -1
- package/fesm2022/primeng-icons-bars.mjs +3 -3
- package/fesm2022/primeng-icons-bars.mjs.map +1 -1
- package/fesm2022/primeng-icons-baseicon.mjs +6 -6
- package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
- package/fesm2022/primeng-icons-blank.mjs +3 -3
- package/fesm2022/primeng-icons-blank.mjs.map +1 -1
- package/fesm2022/primeng-icons-calendar.mjs +3 -3
- package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretleft.mjs +3 -3
- package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretright.mjs +3 -3
- package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
- package/fesm2022/primeng-icons-check.mjs +3 -3
- package/fesm2022/primeng-icons-check.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
- package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
- package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronright.mjs +3 -3
- package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronup.mjs +3 -3
- package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
- package/fesm2022/primeng-icons-eye.mjs +3 -3
- package/fesm2022/primeng-icons-eye.mjs.map +1 -1
- package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
- package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-filter.mjs +3 -3
- package/fesm2022/primeng-icons-filter.mjs.map +1 -1
- package/fesm2022/primeng-icons-filterfill.mjs +37 -0
- package/fesm2022/primeng-icons-filterfill.mjs.map +1 -0
- package/fesm2022/primeng-icons-filterslash.mjs +3 -3
- package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-home.mjs +3 -3
- package/fesm2022/primeng-icons-home.mjs.map +1 -1
- package/fesm2022/primeng-icons-infocircle.mjs +3 -3
- package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-minus.mjs +3 -3
- package/fesm2022/primeng-icons-minus.mjs.map +1 -1
- package/fesm2022/primeng-icons-pencil.mjs +3 -3
- package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
- package/fesm2022/primeng-icons-plus.mjs +3 -3
- package/fesm2022/primeng-icons-plus.mjs.map +1 -1
- package/fesm2022/primeng-icons-refresh.mjs +3 -3
- package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
- package/fesm2022/primeng-icons-search.mjs +3 -3
- package/fesm2022/primeng-icons-search.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchminus.mjs +3 -3
- package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchplus.mjs +3 -3
- package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortalt.mjs +3 -3
- package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-spinner.mjs +3 -3
- package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
- package/fesm2022/primeng-icons-star.mjs +3 -3
- package/fesm2022/primeng-icons-star.mjs.map +1 -1
- package/fesm2022/primeng-icons-starfill.mjs +3 -3
- package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
- package/fesm2022/primeng-icons-thlarge.mjs +3 -3
- package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
- package/fesm2022/primeng-icons-times.mjs +3 -3
- package/fesm2022/primeng-icons-times.mjs.map +1 -1
- package/fesm2022/primeng-icons-timescircle.mjs +3 -3
- package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-trash.mjs +3 -3
- package/fesm2022/primeng-icons-trash.mjs.map +1 -1
- package/fesm2022/primeng-icons-undo.mjs +3 -3
- package/fesm2022/primeng-icons-undo.mjs.map +1 -1
- package/fesm2022/primeng-icons-upload.mjs +3 -3
- package/fesm2022/primeng-icons-upload.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
- package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
- package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
- package/fesm2022/primeng-iftalabel.mjs +19 -78
- package/fesm2022/primeng-iftalabel.mjs.map +1 -1
- package/fesm2022/primeng-image.mjs +153 -284
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +14 -99
- package/fesm2022/primeng-imagecompare.mjs.map +1 -1
- package/fesm2022/primeng-inplace.mjs +56 -86
- package/fesm2022/primeng-inplace.mjs.map +1 -1
- package/fesm2022/primeng-inputgroup.mjs +48 -130
- package/fesm2022/primeng-inputgroup.mjs.map +1 -1
- package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
- package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/primeng-inputicon.mjs +13 -19
- package/fesm2022/primeng-inputicon.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +93 -142
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +152 -438
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +58 -87
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +52 -136
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-keyfilter.mjs +7 -7
- package/fesm2022/primeng-keyfilter.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs +93 -152
- package/fesm2022/primeng-knob.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +518 -625
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +174 -587
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +171 -296
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +386 -694
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +32 -336
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +106 -212
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +247 -696
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +156 -417
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +66 -198
- package/fesm2022/primeng-organizationchart.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +25 -30
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +11 -11
- package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +199 -338
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +182 -262
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +291 -450
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +260 -389
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +44 -272
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +15 -17
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +36 -186
- package/fesm2022/primeng-progressbar.mjs.map +1 -1
- package/fesm2022/primeng-progressspinner.mjs +30 -104
- package/fesm2022/primeng-progressspinner.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +101 -307
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +115 -196
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +27 -36
- package/fesm2022/primeng-ripple.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +41 -51
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +97 -165
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +27 -68
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +152 -587
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +52 -87
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +27 -83
- package/fesm2022/primeng-skeleton.mjs.map +1 -1
- package/fesm2022/primeng-slider.mjs +229 -353
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +43 -142
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +172 -241
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +92 -243
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +259 -261
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +40 -162
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-styleclass.mjs +15 -43
- package/fesm2022/primeng-styleclass.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +804 -1266
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +213 -196
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +29 -109
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +53 -89
- package/fesm2022/primeng-terminal.mjs.map +1 -1
- package/fesm2022/primeng-textarea.mjs +53 -150
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +75 -230
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +28 -202
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs +88 -350
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +71 -202
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +108 -220
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
- package/fesm2022/primeng-toolbar.mjs +42 -65
- package/fesm2022/primeng-toolbar.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +50 -89
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +286 -501
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +351 -562
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +619 -483
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-usestyle.mjs +3 -3
- package/fesm2022/primeng-usestyle.mjs.map +1 -1
- package/fesm2022/primeng-utils.mjs.map +1 -1
- package/fieldset/index.d.ts +215 -3
- package/fileupload/index.d.ts +784 -3
- package/floatlabel/index.d.ts +57 -3
- package/fluid/index.d.ts +46 -3
- package/focustrap/index.d.ts +34 -3
- package/galleria/index.d.ts +708 -3
- package/iconfield/index.d.ts +62 -3
- package/icons/angledoubledown/index.d.ts +9 -5
- package/icons/angledoubleleft/index.d.ts +9 -5
- package/icons/angledoubleright/index.d.ts +9 -5
- package/icons/angledoubleup/index.d.ts +9 -5
- package/icons/angledown/index.d.ts +9 -5
- package/icons/angleleft/index.d.ts +9 -5
- package/icons/angleright/index.d.ts +9 -5
- package/icons/angleup/index.d.ts +9 -5
- package/icons/arrowdown/index.d.ts +12 -5
- package/icons/arrowdownleft/index.d.ts +9 -5
- package/icons/arrowdownright/index.d.ts +9 -5
- package/icons/arrowleft/index.d.ts +11 -5
- package/icons/arrowright/index.d.ts +9 -5
- package/icons/arrowup/index.d.ts +11 -5
- package/icons/ban/index.d.ts +11 -5
- package/icons/bars/index.d.ts +9 -5
- package/icons/baseicon/index.d.ts +38 -3
- package/icons/blank/index.d.ts +9 -5
- package/icons/calendar/index.d.ts +9 -5
- package/icons/caretleft/index.d.ts +9 -5
- package/icons/caretright/index.d.ts +9 -5
- package/icons/check/index.d.ts +9 -5
- package/icons/chevrondown/index.d.ts +9 -5
- package/icons/chevronleft/index.d.ts +9 -5
- package/icons/chevronright/index.d.ts +9 -5
- package/icons/chevronup/index.d.ts +9 -5
- package/icons/exclamationtriangle/index.d.ts +12 -5
- package/icons/eye/index.d.ts +9 -5
- package/icons/eyeslash/index.d.ts +11 -5
- package/icons/filter/index.d.ts +11 -5
- package/icons/filterfill/index.d.ts +9 -0
- package/icons/filterslash/index.d.ts +11 -5
- package/icons/home/index.d.ts +11 -5
- package/icons/index.d.ts +53 -5
- package/icons/infocircle/index.d.ts +11 -5
- package/icons/minus/index.d.ts +9 -5
- package/icons/pencil/index.d.ts +11 -5
- package/icons/plus/index.d.ts +11 -5
- package/icons/refresh/index.d.ts +11 -5
- package/icons/search/index.d.ts +11 -5
- package/icons/searchminus/index.d.ts +11 -5
- package/icons/searchplus/index.d.ts +11 -5
- package/icons/sortalt/index.d.ts +11 -5
- package/icons/sortamountdown/index.d.ts +11 -5
- package/icons/sortamountupalt/index.d.ts +11 -5
- package/icons/spinner/index.d.ts +11 -5
- package/icons/star/index.d.ts +11 -5
- package/icons/starfill/index.d.ts +11 -5
- package/icons/thlarge/index.d.ts +11 -5
- package/icons/times/index.d.ts +9 -5
- package/icons/timescircle/index.d.ts +11 -5
- package/icons/trash/index.d.ts +11 -5
- package/icons/undo/index.d.ts +11 -5
- package/icons/upload/index.d.ts +11 -5
- package/icons/windowmaximize/index.d.ts +11 -5
- package/icons/windowminimize/index.d.ts +11 -5
- package/iftalabel/index.d.ts +48 -3
- package/image/index.d.ts +374 -3
- package/imagecompare/index.d.ts +91 -3
- package/index.d.ts +2 -5
- package/inplace/index.d.ts +180 -3
- package/inputgroup/index.d.ts +56 -3
- package/inputgroupaddon/index.d.ts +43 -3
- package/inputicon/index.d.ts +34 -3
- package/inputmask/index.d.ts +281 -3
- package/inputnumber/index.d.ts +463 -3
- package/inputotp/index.d.ts +205 -3
- package/inputtext/index.d.ts +81 -3
- package/keyfilter/index.d.ts +64 -3
- package/knob/index.d.ts +202 -3
- package/listbox/index.d.ts +801 -3
- package/megamenu/index.d.ts +406 -3
- package/menu/index.d.ts +338 -3
- package/menubar/index.d.ts +418 -3
- package/message/index.d.ts +193 -3
- package/metergroup/index.d.ts +289 -3
- package/multiselect/index.d.ts +1057 -3
- package/orderlist/index.d.ts +462 -3
- package/organizationchart/index.d.ts +283 -3
- package/overlay/index.d.ts +255 -3
- package/overlaybadge/index.d.ts +73 -3
- package/package.json +179 -210
- package/paginator/index.d.ts +391 -3
- package/panel/index.d.ts +264 -3
- package/panelmenu/index.d.ts +378 -3
- package/password/index.d.ts +432 -3
- package/picklist/index.d.ts +894 -3
- package/popover/index.d.ts +176 -3
- package/progressbar/index.d.ts +110 -3
- package/progressspinner/index.d.ts +83 -3
- package/radiobutton/index.d.ts +197 -3
- package/rating/index.d.ts +215 -3
- package/ripple/index.d.ts +62 -3
- package/scroller/index.d.ts +610 -3
- package/scrollpanel/index.d.ts +159 -3
- package/scrolltop/index.d.ts +156 -3
- package/select/index.d.ts +920 -3
- package/selectbutton/index.d.ts +218 -3
- package/skeleton/index.d.ts +94 -3
- package/slider/index.d.ts +252 -3
- package/speeddial/index.d.ts +452 -3
- package/splitbutton/index.d.ts +304 -3
- package/splitter/index.d.ts +237 -3
- package/stepper/index.d.ts +291 -3
- package/steps/index.d.ts +150 -3
- package/styleclass/index.d.ts +94 -3
- package/table/index.d.ts +2919 -3
- package/tabs/index.d.ts +323 -3
- package/tag/index.d.ts +112 -3
- package/terminal/index.d.ts +132 -3
- package/textarea/index.d.ts +102 -3
- package/tieredmenu/index.d.ts +424 -3
- package/timeline/index.d.ts +168 -3
- package/toast/index.d.ts +318 -3
- package/togglebutton/index.d.ts +240 -3
- package/toggleswitch/index.d.ts +184 -3
- package/toolbar/index.d.ts +116 -3
- package/tooltip/index.d.ts +245 -3
- package/tree/index.d.ts +845 -3
- package/treeselect/index.d.ts +646 -3
- package/treetable/index.d.ts +1727 -3
- package/ts-helpers/index.d.ts +6 -5
- package/usestyle/index.d.ts +15 -5
- package/utils/index.d.ts +43 -5
- package/accordion/accordion.d.ts +0 -368
- package/accordion/public_api.d.ts +0 -2
- package/accordion/style/accordionstyle.d.ts +0 -50
- package/animateonscroll/animateonscroll.d.ts +0 -69
- package/animateonscroll/public_api.d.ts +0 -1
- package/api/blockableui.d.ts +0 -10
- package/api/confirmaeventtype.d.ts +0 -8
- package/api/confirmation.d.ts +0 -96
- package/api/confirmationservice.d.ts +0 -30
- package/api/contextmenuservice.d.ts +0 -11
- package/api/filtermatchmode.d.ts +0 -22
- package/api/filtermetadata.d.ts +0 -18
- package/api/filteroperator.d.ts +0 -4
- package/api/filterservice.d.ts +0 -10
- package/api/lazyloadevent.d.ts +0 -47
- package/api/lazyloadmeta.d.ts +0 -19
- package/api/megamenuitem.d.ts +0 -130
- package/api/menuitem.d.ts +0 -176
- package/api/messageservice.d.ts +0 -32
- package/api/overlayoptions.d.ts +0 -188
- package/api/overlayservice.d.ts +0 -8
- package/api/primeicons.d.ts +0 -313
- package/api/public_api.d.ts +0 -32
- package/api/scrolleroptions.d.ts +0 -126
- package/api/selectitem.d.ts +0 -12
- package/api/selectitemgroup.d.ts +0 -10
- package/api/shared.d.ts +0 -25
- package/api/sortevent.d.ts +0 -12
- package/api/sortmeta.d.ts +0 -8
- package/api/tablestate.d.ts +0 -60
- package/api/toastmessage.d.ts +0 -20
- package/api/tooltipoptions.d.ts +0 -69
- package/api/translation.d.ts +0 -137
- package/api/translationkeys.d.ts +0 -50
- package/api/treedragdropservice.d.ts +0 -12
- package/api/treenode.d.ts +0 -82
- package/api/treenodedragevent.d.ts +0 -27
- package/api/treetablenode.d.ts +0 -36
- package/autocomplete/autocomplete.d.ts +0 -688
- package/autocomplete/autocomplete.interface.d.ts +0 -181
- package/autocomplete/public_api.d.ts +0 -3
- package/autocomplete/style/autocompletestyle.d.ts +0 -131
- package/autofocus/autofocus.d.ts +0 -35
- package/autofocus/public_api.d.ts +0 -1
- package/avatar/avatar.d.ts +0 -74
- package/avatar/public_api.d.ts +0 -2
- package/avatar/style/avatarstyle.d.ts +0 -47
- package/avatargroup/avatargroup.d.ts +0 -34
- package/avatargroup/public_api.d.ts +0 -2
- package/avatargroup/style/avatargroupstyle.d.ts +0 -24
- package/badge/badge.d.ts +0 -123
- package/badge/public_api.d.ts +0 -2
- package/badge/style/badgestyle.d.ts +0 -45
- package/base/base.d.ts +0 -9
- package/base/public_api.d.ts +0 -2
- package/base/style/basestyle.d.ts +0 -51
- package/basecomponent/basecomponent.d.ts +0 -43
- package/basecomponent/public_api.d.ts +0 -2
- package/basecomponent/style/basecomponentstyle.d.ts +0 -7
- package/blockui/blockui.d.ts +0 -67
- package/blockui/blockui.interface.d.ts +0 -11
- package/blockui/public_api.d.ts +0 -3
- package/blockui/style/blockuistyle.d.ts +0 -30
- package/breadcrumb/breadcrumb.d.ts +0 -72
- package/breadcrumb/breadcrumb.interface.d.ts +0 -38
- package/breadcrumb/public_api.d.ts +0 -3
- package/breadcrumb/style/breadcrumbstyle.d.ts +0 -69
- package/button/button.d.ts +0 -372
- package/button/button.interface.d.ts +0 -60
- package/button/public_api.d.ts +0 -3
- package/button/style/buttonstyle.d.ts +0 -66
- package/buttongroup/buttongroup.d.ts +0 -13
- package/buttongroup/public_api.d.ts +0 -2
- package/buttongroup/style/buttongroupstyle.d.ts +0 -30
- package/calendar/calendar.d.ts +0 -792
- package/calendar/calendar.interface.d.ts +0 -204
- package/calendar/index.d.ts +0 -5
- package/calendar/public_api.d.ts +0 -3
- package/calendar/style/calendarstyle.d.ts +0 -100
- package/card/card.d.ts +0 -60
- package/card/card.interface.d.ts +0 -27
- package/card/public_api.d.ts +0 -3
- package/card/style/cardstyle.d.ts +0 -65
- package/carousel/carousel.d.ts +0 -254
- package/carousel/carousel.interface.d.ts +0 -63
- package/carousel/public_api.d.ts +0 -3
- package/carousel/style/carouselstyle.d.ts +0 -129
- package/cascadeselect/cascadeselect.d.ts +0 -526
- package/cascadeselect/cascadeselect.interface.d.ts +0 -115
- package/cascadeselect/public_api.d.ts +0 -3
- package/cascadeselect/style/cascadeselectstyle.d.ts +0 -130
- package/chart/chart.d.ts +0 -87
- package/chart/public_api.d.ts +0 -2
- package/chart/style/chartstyle.d.ts +0 -32
- package/checkbox/checkbox.d.ts +0 -196
- package/checkbox/checkbox.interface.d.ts +0 -26
- package/checkbox/public_api.d.ts +0 -3
- package/checkbox/style/checkboxstyle.d.ts +0 -53
- package/chip/chip.d.ts +0 -94
- package/chip/chip.interface.d.ts +0 -27
- package/chip/public_api.d.ts +0 -3
- package/chip/style/chipstyle.d.ts +0 -50
- package/chips/chips.d.ts +0 -237
- package/chips/chips.interface.d.ts +0 -66
- package/chips/index.d.ts +0 -5
- package/chips/public_api.d.ts +0 -2
- package/chips/style/chipsstyle.d.ts +0 -69
- package/colorpicker/colorpicker.d.ts +0 -243
- package/colorpicker/colorpicker.interface.d.ts +0 -15
- package/colorpicker/public_api.d.ts +0 -3
- package/colorpicker/style/colorpickerstyle.d.ts +0 -75
- package/config/primeng.d.ts +0 -45
- package/config/provideprimeng.d.ts +0 -4
- package/config/public_api.d.ts +0 -3
- package/config/themeprovider.d.ts +0 -28
- package/confirmdialog/confirmdialog.d.ts +0 -268
- package/confirmdialog/confirmdialog.interface.d.ts +0 -39
- package/confirmdialog/public_api.d.ts +0 -3
- package/confirmdialog/style/confirmdialogstyle.d.ts +0 -50
- package/confirmpopup/confirmpopup.d.ts +0 -126
- package/confirmpopup/confirmpopup.interface.d.ts +0 -27
- package/confirmpopup/public_api.d.ts +0 -3
- package/confirmpopup/style/confirmpopupstyle.d.ts +0 -60
- package/contextmenu/contextmenu.d.ts +0 -267
- package/contextmenu/public_api.d.ts +0 -2
- package/contextmenu/style/contextmenustyle.d.ts +0 -83
- package/dataview/dataview.d.ts +0 -294
- package/dataview/dataview.interface.d.ts +0 -173
- package/dataview/public_api.d.ts +0 -3
- package/dataview/style/dataviewstyle.d.ts +0 -62
- package/datepicker/datepicker.d.ts +0 -802
- package/datepicker/datepicker.interface.d.ts +0 -204
- package/datepicker/public_api.d.ts +0 -3
- package/datepicker/style/datepickerstyle.d.ts +0 -266
- package/defer/defer.d.ts +0 -34
- package/defer/index.d.ts +0 -5
- package/defer/public_api.d.ts +0 -1
- package/dialog/dialog.d.ts +0 -424
- package/dialog/dialog.interface.d.ts +0 -31
- package/dialog/public_api.d.ts +0 -3
- package/dialog/style/dialogstyle.d.ts +0 -102
- package/divider/divider.d.ts +0 -45
- package/divider/public_api.d.ts +0 -2
- package/divider/style/dividerstyle.d.ts +0 -75
- package/dock/dock.d.ts +0 -110
- package/dock/dock.interface.d.ts +0 -19
- package/dock/public_api.d.ts +0 -3
- package/dock/style/dockstyle.d.ts +0 -72
- package/dom/connectedoverlayscrollhandler.d.ts +0 -9
- package/dom/domhandler.d.ts +0 -95
- package/dom/public_api.d.ts +0 -2
- package/dragdrop/dragdrop.d.ts +0 -118
- package/dragdrop/public_api.d.ts +0 -1
- package/drawer/drawer.d.ts +0 -212
- package/drawer/drawer.interface.d.ts +0 -27
- package/drawer/public_api.d.ts +0 -3
- package/drawer/style/drawerstyle.d.ts +0 -83
- package/dropdown/dropdown.d.ts +0 -649
- package/dropdown/dropdown.interface.d.ts +0 -154
- package/dropdown/index.d.ts +0 -5
- package/dropdown/public_api.d.ts +0 -3
- package/dropdown/style/dropdownstyle.d.ts +0 -72
- package/dynamicdialog/dialogservice.d.ts +0 -35
- package/dynamicdialog/dynamicdialog-config.d.ts +0 -221
- package/dynamicdialog/dynamicdialog-injector.d.ts +0 -7
- package/dynamicdialog/dynamicdialog-ref.d.ts +0 -101
- package/dynamicdialog/dynamicdialog.d.ts +0 -120
- package/dynamicdialog/dynamicdialogcontent.d.ts +0 -8
- package/dynamicdialog/public_api.d.ts +0 -7
- package/dynamicdialog/style/dynamicdialogstyle.d.ts +0 -56
- package/editor/editor.d.ts +0 -116
- package/editor/editor.interface.d.ts +0 -64
- package/editor/public_api.d.ts +0 -3
- package/editor/style/editorstyle.d.ts +0 -40
- package/fesm2022/primeng-calendar.mjs +0 -4647
- package/fesm2022/primeng-calendar.mjs.map +0 -1
- package/fesm2022/primeng-chips.mjs +0 -930
- package/fesm2022/primeng-chips.mjs.map +0 -1
- package/fesm2022/primeng-defer.mjs +0 -101
- package/fesm2022/primeng-defer.mjs.map +0 -1
- package/fesm2022/primeng-dropdown.mjs +0 -2429
- package/fesm2022/primeng-dropdown.mjs.map +0 -1
- package/fesm2022/primeng-inputswitch.mjs +0 -370
- package/fesm2022/primeng-inputswitch.mjs.map +0 -1
- package/fesm2022/primeng-inputtextarea.mjs +0 -262
- package/fesm2022/primeng-inputtextarea.mjs.map +0 -1
- package/fesm2022/primeng-messages.mjs +0 -655
- package/fesm2022/primeng-messages.mjs.map +0 -1
- package/fesm2022/primeng-overlaypanel.mjs +0 -657
- package/fesm2022/primeng-overlaypanel.mjs.map +0 -1
- package/fesm2022/primeng-sidebar.mjs +0 -690
- package/fesm2022/primeng-sidebar.mjs.map +0 -1
- package/fesm2022/primeng-tabmenu.mjs +0 -807
- package/fesm2022/primeng-tabmenu.mjs.map +0 -1
- package/fesm2022/primeng-tabview.mjs +0 -1184
- package/fesm2022/primeng-tabview.mjs.map +0 -1
- package/fieldset/fieldset.d.ts +0 -110
- package/fieldset/fieldset.interface.d.ts +0 -46
- package/fieldset/public_api.d.ts +0 -3
- package/fieldset/style/fieldsetstyle.d.ts +0 -60
- package/fileupload/fileupload.d.ts +0 -428
- package/fileupload/fileupload.interface.d.ts +0 -235
- package/fileupload/public_api.d.ts +0 -3
- package/fileupload/style/fileuploadstyle.d.ts +0 -102
- package/floatlabel/floatlabel.d.ts +0 -23
- package/floatlabel/public_api.d.ts +0 -2
- package/floatlabel/style/floatlabelstyle.d.ts +0 -37
- package/fluid/fluid.d.ts +0 -17
- package/fluid/public_api.d.ts +0 -2
- package/fluid/style/fluidstyle.d.ts +0 -30
- package/focustrap/focustrap.d.ts +0 -33
- package/focustrap/public_api.d.ts +0 -1
- package/galleria/galleria.d.ts +0 -417
- package/galleria/galleria.interface.d.ts +0 -97
- package/galleria/public_api.d.ts +0 -3
- package/galleria/style/galleriastyle.d.ts +0 -197
- package/iconfield/iconfield.d.ts +0 -28
- package/iconfield/public_api.d.ts +0 -2
- package/iconfield/style/iconfieldstyle.d.ts +0 -30
- package/icons/angledoubledown/angledoubledown.d.ts +0 -6
- package/icons/angledoubledown/public_api.d.ts +0 -1
- package/icons/angledoubleleft/angledoubleleft.d.ts +0 -6
- package/icons/angledoubleleft/public_api.d.ts +0 -1
- package/icons/angledoubleright/angledoubleright.d.ts +0 -6
- package/icons/angledoubleright/public_api.d.ts +0 -1
- package/icons/angledoubleup/angledoubleup.d.ts +0 -6
- package/icons/angledoubleup/public_api.d.ts +0 -1
- package/icons/angledown/angledown.d.ts +0 -6
- package/icons/angledown/public_api.d.ts +0 -1
- package/icons/angleleft/angleleft.d.ts +0 -6
- package/icons/angleleft/public_api.d.ts +0 -1
- package/icons/angleright/angleright.d.ts +0 -6
- package/icons/angleright/public_api.d.ts +0 -1
- package/icons/angleup/angleup.d.ts +0 -6
- package/icons/angleup/public_api.d.ts +0 -1
- package/icons/arrowdown/arrowdown.d.ts +0 -9
- package/icons/arrowdown/public_api.d.ts +0 -1
- package/icons/arrowdownleft/arrowdownleft.d.ts +0 -6
- package/icons/arrowdownleft/public_api.d.ts +0 -1
- package/icons/arrowdownright/arrowdownright.d.ts +0 -6
- package/icons/arrowdownright/public_api.d.ts +0 -1
- package/icons/arrowleft/arrowleft.d.ts +0 -8
- package/icons/arrowleft/public_api.d.ts +0 -1
- package/icons/arrowright/arrowright.d.ts +0 -6
- package/icons/arrowright/public_api.d.ts +0 -1
- package/icons/arrowup/arrowup.d.ts +0 -8
- package/icons/arrowup/public_api.d.ts +0 -1
- package/icons/ban/ban.d.ts +0 -8
- package/icons/ban/public_api.d.ts +0 -1
- package/icons/bars/bars.d.ts +0 -6
- package/icons/bars/public_api.d.ts +0 -1
- package/icons/baseicon/baseicon.d.ts +0 -17
- package/icons/baseicon/public_api.d.ts +0 -2
- package/icons/baseicon/style/baseiconstyle.d.ts +0 -20
- package/icons/blank/blank.d.ts +0 -6
- package/icons/blank/public_api.d.ts +0 -1
- package/icons/calendar/calendar.d.ts +0 -6
- package/icons/calendar/public_api.d.ts +0 -1
- package/icons/caretleft/caretleft.d.ts +0 -6
- package/icons/caretleft/public_api.d.ts +0 -1
- package/icons/caretright/caretright.d.ts +0 -6
- package/icons/caretright/public_api.d.ts +0 -1
- package/icons/check/check.d.ts +0 -6
- package/icons/check/public_api.d.ts +0 -1
- package/icons/chevrondown/chevrondown.d.ts +0 -6
- package/icons/chevrondown/public_api.d.ts +0 -1
- package/icons/chevronleft/chevronleft.d.ts +0 -6
- package/icons/chevronleft/public_api.d.ts +0 -1
- package/icons/chevronright/chevronright.d.ts +0 -6
- package/icons/chevronright/public_api.d.ts +0 -1
- package/icons/chevronup/chevronup.d.ts +0 -6
- package/icons/chevronup/public_api.d.ts +0 -1
- package/icons/exclamationtriangle/exclamationtriangle.d.ts +0 -9
- package/icons/exclamationtriangle/public_api.d.ts +0 -1
- package/icons/eye/eye.d.ts +0 -6
- package/icons/eye/public_api.d.ts +0 -1
- package/icons/eyeslash/eyeslash.d.ts +0 -8
- package/icons/eyeslash/public_api.d.ts +0 -1
- package/icons/filter/filter.d.ts +0 -8
- package/icons/filter/public_api.d.ts +0 -1
- package/icons/filterslash/filterslash.d.ts +0 -8
- package/icons/filterslash/public_api.d.ts +0 -1
- package/icons/home/home.d.ts +0 -8
- package/icons/home/public_api.d.ts +0 -1
- package/icons/infocircle/infocircle.d.ts +0 -8
- package/icons/infocircle/public_api.d.ts +0 -1
- package/icons/minus/minus.d.ts +0 -6
- package/icons/minus/public_api.d.ts +0 -1
- package/icons/pencil/pencil.d.ts +0 -8
- package/icons/pencil/public_api.d.ts +0 -1
- package/icons/plus/plus.d.ts +0 -8
- package/icons/plus/public_api.d.ts +0 -1
- package/icons/public_api.d.ts +0 -57
- package/icons/refresh/public_api.d.ts +0 -1
- package/icons/refresh/refresh.d.ts +0 -8
- package/icons/search/public_api.d.ts +0 -1
- package/icons/search/search.d.ts +0 -8
- package/icons/searchminus/public_api.d.ts +0 -1
- package/icons/searchminus/searchminus.d.ts +0 -8
- package/icons/searchplus/public_api.d.ts +0 -1
- package/icons/searchplus/searchplus.d.ts +0 -8
- package/icons/sortalt/public_api.d.ts +0 -1
- package/icons/sortalt/sortalt.d.ts +0 -8
- package/icons/sortamountdown/public_api.d.ts +0 -1
- package/icons/sortamountdown/sortamountdown.d.ts +0 -8
- package/icons/sortamountupalt/public_api.d.ts +0 -1
- package/icons/sortamountupalt/sortamountupalt.d.ts +0 -8
- package/icons/spinner/public_api.d.ts +0 -1
- package/icons/spinner/spinner.d.ts +0 -8
- package/icons/star/public_api.d.ts +0 -1
- package/icons/star/star.d.ts +0 -8
- package/icons/starfill/public_api.d.ts +0 -1
- package/icons/starfill/starfill.d.ts +0 -8
- package/icons/thlarge/public_api.d.ts +0 -1
- package/icons/thlarge/thlarge.d.ts +0 -8
- package/icons/times/public_api.d.ts +0 -1
- package/icons/times/times.d.ts +0 -6
- package/icons/timescircle/public_api.d.ts +0 -1
- package/icons/timescircle/timescircle.d.ts +0 -8
- package/icons/trash/public_api.d.ts +0 -1
- package/icons/trash/trash.d.ts +0 -8
- package/icons/undo/public_api.d.ts +0 -1
- package/icons/undo/undo.d.ts +0 -8
- package/icons/upload/public_api.d.ts +0 -1
- package/icons/upload/upload.d.ts +0 -8
- package/icons/windowmaximize/public_api.d.ts +0 -1
- package/icons/windowmaximize/windowmaximize.d.ts +0 -8
- package/icons/windowminimize/public_api.d.ts +0 -1
- package/icons/windowminimize/windowminimize.d.ts +0 -8
- package/iftalabel/iftalabel.d.ts +0 -20
- package/iftalabel/public_api.d.ts +0 -2
- package/iftalabel/style/iftalabelstyle.d.ts +0 -30
- package/image/image.d.ts +0 -227
- package/image/image.interface.d.ts +0 -63
- package/image/public_api.d.ts +0 -3
- package/image/style/imagestyle.d.ts +0 -92
- package/imagecompare/imagecompare.d.ts +0 -57
- package/imagecompare/public_api.d.ts +0 -2
- package/imagecompare/style/imagecomparestyle.d.ts +0 -35
- package/inplace/inplace.d.ts +0 -122
- package/inplace/inplace.interface.d.ts +0 -19
- package/inplace/public_api.d.ts +0 -3
- package/inplace/style/inplacestyle.d.ts +0 -44
- package/inputgroup/inputgroup.d.ts +0 -30
- package/inputgroup/public_api.d.ts +0 -2
- package/inputgroup/style/inputgroupstyle.d.ts +0 -34
- package/inputgroupaddon/inputgroupaddon.d.ts +0 -33
- package/inputgroupaddon/public_api.d.ts +0 -2
- package/inputgroupaddon/style/inputgroupaddonstyle.d.ts +0 -10
- package/inputicon/inputicon.d.ts +0 -24
- package/inputicon/public_api.d.ts +0 -2
- package/inputicon/style/inputiconstyle.d.ts +0 -10
- package/inputmask/inputmask.d.ts +0 -270
- package/inputmask/inputmask.interface.d.ts +0 -19
- package/inputmask/public_api.d.ts +0 -3
- package/inputmask/style/inputmaskstyle.d.ts +0 -35
- package/inputnumber/inputnumber.d.ts +0 -440
- package/inputnumber/inputnumber.interface.d.ts +0 -38
- package/inputnumber/public_api.d.ts +0 -3
- package/inputnumber/style/inputnumberstyle.d.ts +0 -70
- package/inputotp/inputotp.d.ts +0 -176
- package/inputotp/public_api.d.ts +0 -2
- package/inputotp/style/inputotpstyle.d.ts +0 -35
- package/inputswitch/index.d.ts +0 -5
- package/inputswitch/inputswitch.d.ts +0 -106
- package/inputswitch/inputswitch.interface.d.ts +0 -15
- package/inputswitch/public_api.d.ts +0 -3
- package/inputswitch/style/inputswitchstyle.d.ts +0 -27
- package/inputtext/inputtext.d.ts +0 -44
- package/inputtext/public_api.d.ts +0 -2
- package/inputtext/style/inputtextstyle.d.ts +0 -40
- package/inputtextarea/index.d.ts +0 -5
- package/inputtextarea/inputtextarea.d.ts +0 -59
- package/inputtextarea/public_api.d.ts +0 -2
- package/inputtextarea/style/textareastyle.d.ts +0 -39
- package/keyfilter/keyfilter.d.ts +0 -57
- package/keyfilter/keyfilter.interface.d.ts +0 -5
- package/keyfilter/public_api.d.ts +0 -2
- package/knob/knob.d.ts +0 -176
- package/knob/public_api.d.ts +0 -2
- package/knob/style/knobstyle.d.ts +0 -49
- package/listbox/listbox.d.ts +0 -556
- package/listbox/listbox.interface.d.ts +0 -167
- package/listbox/public_api.d.ts +0 -3
- package/listbox/style/listboxstyle.d.ts +0 -91
- package/megamenu/megamenu.d.ts +0 -250
- package/megamenu/megamenu.interface.d.ts +0 -31
- package/megamenu/public_api.d.ts +0 -3
- package/megamenu/style/megamenustyle.d.ts +0 -132
- package/menu/menu.d.ts +0 -239
- package/menu/public_api.d.ts +0 -2
- package/menu/style/menustyle.d.ts +0 -89
- package/menubar/menubar.d.ts +0 -275
- package/menubar/menubar.interface.d.ts +0 -40
- package/menubar/public_api.d.ts +0 -3
- package/menubar/style/menubarstyle.d.ts +0 -102
- package/message/message.d.ts +0 -134
- package/message/public_api.d.ts +0 -2
- package/message/style/messagestyle.d.ts +0 -59
- package/messages/index.d.ts +0 -5
- package/messages/messages.d.ts +0 -110
- package/messages/messages.interface.d.ts +0 -11
- package/messages/public_api.d.ts +0 -3
- package/messages/style/messagesstyle.d.ts +0 -23
- package/metergroup/metergroup.d.ts +0 -107
- package/metergroup/metergroup.interface.d.ts +0 -122
- package/metergroup/public_api.d.ts +0 -3
- package/metergroup/style/metergroupstyle.d.ts +0 -75
- package/multiselect/multiselect.d.ts +0 -750
- package/multiselect/multiselect.interface.d.ts +0 -247
- package/multiselect/public_api.d.ts +0 -3
- package/multiselect/style/multiselectstyle.d.ts +0 -153
- package/orderlist/orderlist.d.ts +0 -346
- package/orderlist/orderlist.interface.d.ts +0 -110
- package/orderlist/public_api.d.ts +0 -3
- package/orderlist/style/orderliststyle.d.ts +0 -35
- package/organizationchart/organizationchart.d.ts +0 -136
- package/organizationchart/organizationchart.interface.d.ts +0 -59
- package/organizationchart/public_api.d.ts +0 -3
- package/organizationchart/style/organizationchartstyle.d.ts +0 -89
- package/overlay/overlay.d.ts +0 -245
- package/overlay/public_api.d.ts +0 -2
- package/overlay/style/overlaystyle.d.ts +0 -10
- package/overlaybadge/overlaybadge.d.ts +0 -60
- package/overlaybadge/public_api.d.ts +0 -2
- package/overlaybadge/style/overlaybadgestyle.d.ts +0 -13
- package/overlaypanel/index.d.ts +0 -5
- package/overlaypanel/overlaypanel.d.ts +0 -170
- package/overlaypanel/public_api.d.ts +0 -2
- package/overlaypanel/style/popoverstyle.d.ts +0 -35
- package/paginator/paginator.d.ts +0 -223
- package/paginator/paginator.interface.d.ts +0 -37
- package/paginator/public_api.d.ts +0 -3
- package/paginator/style/paginatorstyle.d.ts +0 -138
- package/panel/panel.d.ts +0 -204
- package/panel/public_api.d.ts +0 -2
- package/panel/style/panelstyle.d.ts +0 -67
- package/panelmenu/panelmenu.d.ts +0 -226
- package/panelmenu/panelmenu.interface.d.ts +0 -23
- package/panelmenu/public_api.d.ts +0 -3
- package/panelmenu/style/panelmenustyle.d.ts +0 -124
- package/password/password.d.ts +0 -372
- package/password/public_api.d.ts +0 -2
- package/password/style/passwordstyle.d.ts +0 -83
- package/picklist/picklist.d.ts +0 -616
- package/picklist/picklist.interface.d.ts +0 -242
- package/picklist/public_api.d.ts +0 -3
- package/picklist/style/pickliststyle.d.ts +0 -55
- package/popover/popover.d.ts +0 -162
- package/popover/public_api.d.ts +0 -2
- package/popover/style/popoverstyle.d.ts +0 -14
- package/progressbar/progressbar.d.ts +0 -72
- package/progressbar/public_api.d.ts +0 -2
- package/progressbar/style/progressbarstyle.d.ts +0 -45
- package/progressspinner/progressspinner.d.ts +0 -50
- package/progressspinner/public_api.d.ts +0 -2
- package/progressspinner/style/progressspinnerstyle.d.ts +0 -40
- package/public_api.d.ts +0 -2
- package/radiobutton/public_api.d.ts +0 -3
- package/radiobutton/radiobutton.d.ts +0 -151
- package/radiobutton/radiobutton.interface.d.ts +0 -15
- package/radiobutton/style/radiobuttonstyle.d.ts +0 -53
- package/rating/public_api.d.ts +0 -3
- package/rating/rating.d.ts +0 -137
- package/rating/rating.interface.d.ts +0 -34
- package/rating/style/ratingstyle.d.ts +0 -57
- package/ripple/public_api.d.ts +0 -2
- package/ripple/ripple.d.ts +0 -32
- package/ripple/style/ripplestyle.d.ts +0 -30
- package/scroller/public_api.d.ts +0 -3
- package/scroller/scroller.d.ts +0 -373
- package/scroller/scroller.interface.d.ts +0 -177
- package/scroller/style/scrollerstyle.d.ts +0 -43
- package/scrollpanel/public_api.d.ts +0 -3
- package/scrollpanel/scrollpanel.d.ts +0 -106
- package/scrollpanel/scrollpanel.interface.d.ts +0 -11
- package/scrollpanel/style/scrollpanelstyle.d.ts +0 -50
- package/scrolltop/public_api.d.ts +0 -3
- package/scrolltop/scrolltop.d.ts +0 -100
- package/scrolltop/scrolltop.interface.d.ts +0 -18
- package/scrolltop/style/scrolltopstyle.d.ts +0 -39
- package/select/public_api.d.ts +0 -3
- package/select/select.d.ts +0 -749
- package/select/select.interface.d.ts +0 -154
- package/select/style/selectstyle.d.ts +0 -143
- package/selectbutton/public_api.d.ts +0 -3
- package/selectbutton/selectbutton.d.ts +0 -145
- package/selectbutton/selectbutton.interface.d.ts +0 -45
- package/selectbutton/style/selectbuttonstyle.d.ts +0 -34
- package/sidebar/index.d.ts +0 -5
- package/sidebar/public_api.d.ts +0 -3
- package/sidebar/sidebar.d.ts +0 -189
- package/sidebar/sidebar.interface.d.ts +0 -27
- package/sidebar/style/drawerstyle.d.ts +0 -46
- package/skeleton/public_api.d.ts +0 -2
- package/skeleton/skeleton.d.ts +0 -66
- package/skeleton/style/skeletonstyle.d.ts +0 -40
- package/slider/public_api.d.ts +0 -3
- package/slider/slider.d.ts +0 -170
- package/slider/slider.interface.d.ts +0 -38
- package/slider/style/sliderstyle.d.ts +0 -54
- package/speeddial/public_api.d.ts +0 -3
- package/speeddial/speeddial.d.ts +0 -322
- package/speeddial/speeddial.interface.d.ts +0 -44
- package/speeddial/style/speeddialstyle.d.ts +0 -89
- package/splitbutton/public_api.d.ts +0 -3
- package/splitbutton/splitbutton.d.ts +0 -243
- package/splitbutton/splitbutton.interface.d.ts +0 -30
- package/splitbutton/style/splitbuttonstyle.d.ts +0 -46
- package/splitter/public_api.d.ts +0 -3
- package/splitter/splitter.d.ts +0 -166
- package/splitter/splitter.interface.d.ts +0 -34
- package/splitter/style/splitterstyle.d.ts +0 -42
- package/stepper/public_api.d.ts +0 -2
- package/stepper/stepper.d.ts +0 -175
- package/stepper/style/stepperstyle.d.ts +0 -39
- package/steps/public_api.d.ts +0 -2
- package/steps/steps.d.ts +0 -84
- package/steps/style/stepsstyle.d.ts +0 -66
- package/styleclass/public_api.d.ts +0 -1
- package/styleclass/styleclass.d.ts +0 -107
- package/table/columnfilter.interface.d.ts +0 -247
- package/table/public_api.d.ts +0 -4
- package/table/style/tablestyle.d.ts +0 -327
- package/table/table.d.ts +0 -1662
- package/table/table.interface.d.ts +0 -671
- package/tabmenu/index.d.ts +0 -5
- package/tabmenu/public_api.d.ts +0 -3
- package/tabmenu/style/tabmenustyle.d.ts +0 -51
- package/tabmenu/tabmenu.d.ts +0 -136
- package/tabmenu/tabmenu.interface.d.ts +0 -32
- package/tabs/public_api.d.ts +0 -6
- package/tabs/style/tabsstyle.d.ts +0 -66
- package/tabs/tab.d.ts +0 -54
- package/tabs/tablist.d.ts +0 -53
- package/tabs/tabpanel.d.ts +0 -20
- package/tabs/tabpanels.d.ts +0 -10
- package/tabs/tabs.d.ts +0 -64
- package/tabview/index.d.ts +0 -5
- package/tabview/public_api.d.ts +0 -3
- package/tabview/style/tabsstyle.d.ts +0 -66
- package/tabview/tabview.d.ts +0 -278
- package/tabview/tabview.interface.d.ts +0 -49
- package/tag/public_api.d.ts +0 -3
- package/tag/style/tagstyle.d.ts +0 -50
- package/tag/tag.d.ts +0 -64
- package/tag/tag.interface.d.ts +0 -11
- package/terminal/public_api.d.ts +0 -3
- package/terminal/style/terminalstyle.d.ts +0 -70
- package/terminal/terminal.d.ts +0 -56
- package/terminal/terminalservice.d.ts +0 -11
- package/textarea/public_api.d.ts +0 -2
- package/textarea/style/textareastyle.d.ts +0 -39
- package/textarea/textarea.d.ts +0 -64
- package/tieredmenu/public_api.d.ts +0 -3
- package/tieredmenu/style/tieredmenustyle.d.ts +0 -97
- package/tieredmenu/tieredmenu.d.ts +0 -292
- package/tieredmenu/tieredmenu.interface.d.ts +0 -27
- package/timeline/public_api.d.ts +0 -3
- package/timeline/style/timelinestyle.d.ts +0 -62
- package/timeline/timeline.d.ts +0 -70
- package/timeline/timeline.interface.d.ts +0 -43
- package/toast/public_api.d.ts +0 -3
- package/toast/style/toaststyle.d.ts +0 -106
- package/toast/toast.d.ts +0 -172
- package/toast/toast.interface.d.ts +0 -52
- package/togglebutton/public_api.d.ts +0 -3
- package/togglebutton/style/togglebuttonstyle.d.ts +0 -49
- package/togglebutton/togglebutton.d.ts +0 -137
- package/togglebutton/togglebutton.interface.d.ts +0 -51
- package/toggleswitch/public_api.d.ts +0 -3
- package/toggleswitch/style/toggleswitchstyle.d.ts +0 -53
- package/toggleswitch/toggleswitch.d.ts +0 -129
- package/toggleswitch/toggleswitch.interface.d.ts +0 -15
- package/toolbar/public_api.d.ts +0 -3
- package/toolbar/style/toolbarstyle.d.ts +0 -45
- package/toolbar/toolbar.d.ts +0 -58
- package/toolbar/toolbar.interface.d.ts +0 -19
- package/tooltip/public_api.d.ts +0 -2
- package/tooltip/style/tooltipstyle.d.ts +0 -40
- package/tooltip/tooltip.d.ts +0 -203
- package/tree/public_api.d.ts +0 -3
- package/tree/style/treestyle.d.ts +0 -116
- package/tree/tree.d.ts +0 -541
- package/tree/tree.interface.d.ts +0 -200
- package/treeselect/public_api.d.ts +0 -3
- package/treeselect/style/treeselectstyle.d.ts +0 -104
- package/treeselect/treeselect.d.ts +0 -482
- package/treeselect/treeselect.interface.d.ts +0 -108
- package/treetable/public_api.d.ts +0 -3
- package/treetable/style/treetablestyle.d.ts +0 -194
- package/treetable/treetable.d.ts +0 -1006
- package/treetable/treetable.interface.d.ts +0 -472
- package/ts-helpers/public_api.d.ts +0 -1
- package/ts-helpers/ts-helpers.d.ts +0 -4
- package/usestyle/public_api.d.ts +0 -1
- package/usestyle/usestyle.d.ts +0 -12
- package/utils/inpututils.d.ts +0 -2
- package/utils/objectutils.d.ts +0 -27
- package/utils/public_api.d.ts +0 -5
- package/utils/uniquecomponentid.d.ts +0 -2
- package/utils/zindexutils.d.ts +0 -9
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-listbox.mjs","sources":["../../src/listbox/style/listboxstyle.ts","../../src/listbox/listbox.ts","../../src/listbox/primeng-listbox.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-listbox {\n background: ${dt('listbox.background')};\n color: ${dt('listbox.color')};\n border: 1px solid ${dt('listbox.border.color')};\n border-radius: ${dt('listbox.border.radius')};\n transition: background ${dt('listbox.transition.duration')}, color ${dt('listbox.transition.duration')}, border-color ${dt('listbox.transition.duration')},\n box-shadow ${dt('listbox.transition.duration')}, outline-color ${dt('listbox.transition.duration')};\n outline-color: transparent;\n box-shadow: ${dt('listbox.shadow')};\n}\n\n.p-listbox.p-focus {\n border-color: ${dt('listbox.focus.border.color')};\n box-shadow: ${dt('listbox.focus.ring.shadow')};\n outline: ${dt('listbox.focus.ring.width')} ${dt('listbox.focus.ring.style')} ${dt('listbox.focus.ring.color')};\n outline-offset: ${dt('listbox.focus.ring.offset')};\n}\n\n.p-listbox.p-disabled {\n opacity: 1;\n background: ${dt('listbox.disabled.background')};\n color: ${dt('listbox.disabled.color')};\n}\n\n.p-listbox.p-disabled .p-listbox-option {\n color: ${dt('listbox.disabled.color')};\n}\n\n.p-listbox-header {\n padding: ${dt('listbox.list.header.padding')};\n display: flex;\n align-items: center;\n}\n\n.p-listbox-header > * {\n flex: 1 1 auto;\n}\n\n.p-listbox-header > .p-checkbox {\n flex: 0 0 auto;\n}\n\n.p-listbox-filter {\n width: 100%;\n}\n\n.p-listbox-list-container {\n overflow: auto;\n}\n\n.p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: ${dt('listbox.list.padding')};\n outline: 0 none;\n display: flex;\n flex-direction: column;\n gap: ${dt('listbox.list.gap')};\n}\n\n.p-listbox-option {\n display: flex;\n align-items: center;\n cursor: pointer;\n position: relative;\n overflow: hidden;\n padding: ${dt('listbox.option.padding')};\n border: 0 none;\n border-radius: ${dt('listbox.option.border.radius')};\n color: ${dt('listbox.option.color')};\n transition: background ${dt('listbox.transition.duration')}, color ${dt('listbox.transition.duration')}, border-color ${dt('listbox.transition.duration')},\n box-shadow ${dt('listbox.transition.duration')}, outline-color ${dt('listbox.transition.duration')};\n}\n\n.p-listbox-option:not(.cdk-drag-disabled) {\n cursor: move;\n}\n\n.p-listbox-striped li:nth-child(even of .p-listbox-option) {\n background: ${dt('listbox.option.striped.background')};\n}\n\n.p-listbox .p-listbox-list .p-listbox-option.p-listbox-option-selected {\n background: ${dt('listbox.option.selected.background')};\n color: ${dt('listbox.option.selected.color')};\n}\n\n.p-listbox:not(.p-disabled) .p-listbox-option.p-listbox-option-selected.p-focus {\n background: ${dt('listbox.option.selected.focus.background')};\n color: ${dt('listbox.option.selected.focus.color')};\n}\n\n.p-listbox:not(.p-disabled) .p-listbox-option:not(.p-listbox-option-selected):not(.p-disabled).p-focus {\n background: ${dt('listbox.option.focus.background')};\n color: ${dt('listbox.option.focus.color')};\n}\n\n.p-listbox:not(.p-disabled) .p-listbox-option:not(.p-listbox-option-selected):not(.p-disabled):hover {\n background: ${dt('listbox.option.focus.background')};\n color: ${dt('listbox.option.focus.color')};\n}\n\n.p-listbox-option-check-icon {\n position: relative;\n margin-inline-start: ${dt('listbox.checkmark.gutter.start')};\n margin-inline-end: ${dt('listbox.checkmark.gutter.end')};\n color: ${dt('listbox.checkmark.color')};\n}\n\n.p-listbox-option-group {\n margin: 0;\n padding: ${dt('listbox.option.group.padding')};\n color: ${dt('listbox.option.group.color')};\n background: ${dt('listbox.option.group.background')};\n font-weight: ${dt('listbox.option.group.font.weight')};\n}\n\n.p-listbox-empty-message {\n padding: ${dt('listbox.empty.message.padding')};\n}\n\n/* For PrimeNG */\n\np-listBox.ng-invalid.ng-dirty > .p-listbox.p-component,\np-list-box.ng-invalid.ng-dirty > .p-listbox.p-component,\np-listbox.ng-invalid.ng-dirty > .p-listbox.p-component {\n border-color: ${dt('listbox.invalid.border.color')};\n}\n`;\n\nconst classes = {\n root: ({ props }) => [\n 'p-listbox p-component',\n {\n 'p-listbox-striped': props.striped,\n 'p-disabled': props.disabled,\n 'p-invalid': props.invalid\n }\n ],\n header: 'p-listbox-header',\n pcFilter: 'p-listbox-filter',\n listContainer: 'p-listbox-list-container',\n list: 'p-listbox-list',\n optionGroup: 'p-listbox-option-group',\n option: ({ instance, props, option, index, getItemOptions }) => [\n 'p-listbox-option',\n {\n 'p-listbox-option-selected': instance.isSelected(option) && props.highlightOnSelect,\n 'p-focus': instance.focusedOptionIndex === instance.getOptionIndex(index, getItemOptions),\n 'p-disabled': instance.isOptionDisabled(option)\n }\n ],\n optionCheckIcon: 'p-listbox-option-check-icon',\n optionBlankIcon: 'p-listbox-option-blank-icon',\n emptyMessage: 'p-listbox-empty-message'\n};\n\n@Injectable()\nexport class ListBoxStyle extends BaseStyle {\n name = 'listbox';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * ListBox is used to select one or more values from a list of items.\n *\n * [Live Demo](https://www.primeng.org/listbox/)\n *\n * @module listboxstyle\n *\n */\nexport enum ListboxClasses {\n /**\n * Class name of the root element\n */\n root = 'p-listbox',\n /**\n * Class name of the header element\n */\n header = 'p-listbox-header',\n /**\n * Class name of the filter element\n */\n pcFilter = 'p-listbox-filter',\n /**\n * Class name of the list container element\n */\n listContainer = 'p-listbox-list-container',\n /**\n * Class name of the list element\n */\n list = 'p-listbox-list',\n /**\n * Class name of the option group element\n */\n optionGroup = 'p-listbox-option-group',\n /**\n * Class name of the option element\n */\n option = 'p-listbox-option',\n /**\n * Class name of the option check icon element\n */\n optionCheckIcon = 'p-listbox-option-check-icon',\n /**\n * Class name of the option blank icon element\n */\n optionBlankIcon = 'p-listbox-option-blank-icon',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-listbox-empty-message'\n}\n\nexport interface ListboxStyle extends BaseStyle {}\n","import { CDK_DRAG_CONFIG, CdkDragDrop, DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n NgModule,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n numberAttribute,\n signal\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { equals, findLastIndex, findSingle, focus, getFirstFocusableElement, isEmpty, isFunction, isNotEmpty, isPrintableCharacter, resolveFieldData, uuid } from '@primeuix/utils';\nimport { FilterService, Footer, Header, PrimeTemplate, ScrollerOptions, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Checkbox } from 'primeng/checkbox';\nimport { IconField } from 'primeng/iconfield';\nimport { BlankIcon, CheckIcon, SearchIcon } from 'primeng/icons';\nimport { InputIcon } from 'primeng/inputicon';\nimport { InputText } from 'primeng/inputtext';\nimport { Ripple } from 'primeng/ripple';\nimport { Scroller, ScrollerLazyLoadEvent } from 'primeng/scroller';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { Subscription } from 'rxjs';\nimport { ListboxChangeEvent, ListboxClickEvent, ListboxDoubleClickEvent, ListboxFilterEvent, ListboxFilterOptions, ListboxSelectAllChangeEvent } from './listbox.interface';\nimport { ListBoxStyle } from './style/listboxstyle';\n\nexport const LISTBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Listbox),\n multi: true\n};\n/**\n * ListBox is used to select one or more values from a list of items.\n * @group Components\n */\n@Component({\n selector: 'p-listbox, p-listBox, p-list-box',\n standalone: true,\n imports: [CommonModule, Ripple, Scroller, InputIcon, SearchIcon, Checkbox, CheckIcon, IconField, InputText, BlankIcon, FormsModule, SharedModule, DragDropModule],\n template: `\n <div [attr.id]=\"id\" [ngClass]=\"containerClass\" [ngStyle]=\"style\" [class]=\"styleClass\" (focusout)=\"onFocusout($event)\">\n <span #firstHiddenFocusableElement role=\"presentation\" class=\"p-hidden-accessible p-hidden-focusable\" [tabindex]=\"!disabled ? tabindex : -1\" (focus)=\"onFirstHiddenFocus($event)\" [attr.data-p-hidden-focusable]=\"true\"> </span>\n <div class=\"p-listbox-header\" *ngIf=\"headerFacet || headerTemplate || _headerTemplate\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate; context: { $implicit: modelValue(), options: visibleOptions() }\"></ng-container>\n </div>\n <div class=\"p-listbox-header\" *ngIf=\"(checkbox && multiple && showToggleAll) || filter\">\n <div *ngIf=\"checkbox && multiple && showToggleAll\" class=\"p-checkbox p-component\" [ngClass]=\"{ 'p-checkbox-disabled': disabled }\" (click)=\"onToggleAll($event)\" (keydown)=\"onHeaderCheckboxKeyDown($event)\">\n <div class=\"p-hidden-accessible\" [attr.data-p-hidden-accessible]=\"true\">\n <input #headerchkbox type=\"checkbox\" readonly=\"readonly\" [attr.checked]=\"allSelected()\" [disabled]=\"disabled\" (focus)=\"onHeaderCheckboxFocus($event)\" (blur)=\"onHeaderCheckboxBlur()\" [attr.aria-label]=\"toggleAllAriaLabel\" />\n </div>\n <p-checkbox\n *ngIf=\"checkbox && multiple\"\n styleClass=\"p-listbox-option-check-icon\"\n [ngModel]=\"allSelected()\"\n [disabled]=\"disabled\"\n [tabindex]=\"-1\"\n [variant]=\"config.inputStyle() === 'filled' || config.inputVariant() === 'filled' ? 'filled' : 'outlined'\"\n [binary]=\"true\"\n >\n <ng-container *ngIf=\"checkIconTemplate || _checkIconTemplate\">\n <ng-template #icon>\n <ng-template *ngTemplateOutlet=\"checkIconTemplate || _checkIconTemplate; context: { $implicit: allSelected() }\"></ng-template>\n </ng-template>\n </ng-container>\n </p-checkbox>\n </div>\n <ng-container *ngIf=\"filterTemplate || _filterTemplate; else builtInFilterElement\">\n <ng-container *ngTemplateOutlet=\"filterTemplate || _filterTemplate; context: { options: filterOptions }\"></ng-container>\n </ng-container>\n <ng-template #builtInFilterElement>\n <div class=\"p-listbox-filter-container\" *ngIf=\"filter\">\n <p-iconfield>\n <input\n #filterInput\n pInputText\n type=\"text\"\n class=\"p-listbox-filter\"\n role=\"searchbox\"\n [value]=\"_filterValue() || ''\"\n [disabled]=\"disabled\"\n [attr.aria-owns]=\"id + '_list'\"\n [attr.aria-activedescendant]=\"focusedOptionId\"\n [attr.placeholder]=\"filterPlaceHolder\"\n [attr.aria-label]=\"ariaFilterLabel\"\n [tabindex]=\"!disabled && !focused ? tabindex : -1\"\n (input)=\"onFilterChange($event)\"\n (keydown)=\"onFilterKeyDown($event)\"\n (focus)=\"onFilterFocus($event)\"\n (blur)=\"onFilterBlur($event)\"\n />\n <p-inputicon>\n <SearchIcon *ngIf=\"!filterIconTemplate && !_filterIconTemplate\" [styleClass]=\"'p-listbox-filter-icon'\" [attr.aria-hidden]=\"true\" />\n <span *ngIf=\"filterIconTemplate || _filterIconTemplate\" class=\"p-listbox-filter-icon\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate || _filterIconTemplate\"></ng-template>\n </span>\n </p-inputicon>\n </p-iconfield>\n </div>\n <span role=\"status\" attr.aria-live=\"polite\" class=\"p-hidden-accessible\" [attr.data-p-hidden-accessible]=\"true\">\n {{ filterResultMessageText }}\n </span>\n </ng-template>\n </div>\n <div [ngClass]=\"'p-listbox-list-container'\" #container [ngStyle]=\"listStyle\" [class]=\"listStyleClass\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\" [attr.tabindex]=\"!disabled && '0'\">\n @if (hasFilter() && isEmpty()) {\n <div class=\"p-listbox-empty-message\" [cdkDropListData]=\"$any([])\" (cdkDropListDropped)=\"drop($event)\" cdkDropList>\n @if (!emptyFilterTemplate && !_emptyFilterTemplate && !_emptyTemplate && !emptyTemplate) {\n {{ emptyFilterMessageText }}\n } @else {\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || _emptyFilterTemplate || _emptyTemplate || emptyTemplate\"></ng-container>\n }\n </div>\n } @else if (!hasFilter() && isEmpty()) {\n <div class=\"p-listbox-empty-message\" [cdkDropListData]=\"$any([])\" (cdkDropListDropped)=\"drop($event)\" cdkDropList>\n @if (!emptyTemplate && !_emptyTemplate) {\n {{ emptyMessage }}\n } @else {\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate || _emptyTemplate\"></ng-container>\n }\n </div>\n } @else {\n <p-scroller\n #scroller\n *ngIf=\"virtualScroll\"\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n [options]=\"virtualScrollOptions\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [tabindex]=\"scrollerTabIndex\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n @if (loaderTemplate || _loaderTemplate) {\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate || _loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n }\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: visibleOptions(), options: {} }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul\n #list\n class=\"p-listbox-list\"\n role=\"listbox\"\n [tabindex]=\"-1\"\n [attr.aria-multiselectable]=\"true\"\n [ngClass]=\"scrollerOptions.contentStyleClass\"\n [style]=\"scrollerOptions.contentStyle\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-disabled]=\"disabled\"\n (focus)=\"onListFocus($event)\"\n (blur)=\"onListBlur($event)\"\n (keydown)=\"onListKeyDown($event)\"\n cdkDropList\n [cdkDropListData]=\"items\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n <ng-template ngFor let-option [ngForOf]=\"items\" let-i=\"index\">\n <ng-container *ngIf=\"isOptionGroup(option)\">\n <li\n [attr.id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\"\n class=\"p-listbox-option-group\"\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n role=\"option\"\n cdkDrag\n [cdkDragData]=\"option\"\n [cdkDragDisabled]=\"!dragdrop\"\n >\n <span *ngIf=\"!groupTemplate && !_groupTemplate\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate || _groupTemplate; context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n </ng-container>\n <ng-container *ngIf=\"!isOptionGroup(option)\">\n <li\n pRipple\n class=\"p-listbox-option\"\n role=\"option\"\n [attr.id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\"\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n [ngClass]=\"{\n 'p-listbox-option-selected': isSelected(option) && highlightOnSelect,\n 'p-focus': focusedOptionIndex() === getOptionIndex(i, scrollerOptions),\n 'p-disabled': isOptionDisabled(option)\n }\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-selected]=\"isSelected(option)\"\n [attr.aria-disabled]=\"isOptionDisabled(option)\"\n [attr.aria-setsize]=\"ariaSetSize\"\n [attr.ariaPosInset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n (click)=\"onOptionSelect($event, option, getOptionIndex(i, scrollerOptions))\"\n (dblclick)=\"onOptionDoubleClick($event, option)\"\n (mousedown)=\"onOptionMouseDown($event, getOptionIndex(i, scrollerOptions))\"\n (mouseenter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n (touchend)=\"onOptionTouchEnd()\"\n cdkDrag\n [cdkDragData]=\"option\"\n [cdkDragDisabled]=\"!dragdrop\"\n >\n <p-checkbox\n *ngIf=\"checkbox && multiple\"\n styleClass=\"p-listbox-option-check-icon\"\n [ngModel]=\"isSelected(option)\"\n [readonly]=\"true\"\n [disabled]=\"disabled || isOptionDisabled(option)\"\n [tabindex]=\"-1\"\n [variant]=\"config.inputStyle() === 'filled' || config.inputVariant() === 'filled' ? 'filled' : 'outlined'\"\n [binary]=\"true\"\n >\n <ng-container *ngIf=\"checkIconTemplate || _checkIconTemplate\">\n <ng-template #icon>\n <ng-template *ngTemplateOutlet=\"checkIconTemplate || _checkIconTemplate; context: { $implicit: isSelected(option) }\"></ng-template>\n </ng-template>\n </ng-container>\n </p-checkbox>\n <ng-container *ngIf=\"checkmark\">\n <ng-container *ngIf=\"!checkmarkTemplate && !_checkmarkTemplate\">\n <BlankIcon *ngIf=\"!isSelected(option)\" styleClass=\"p-listbox-option-check-icon\" />\n <CheckIcon *ngIf=\"isSelected(option)\" styleClass=\"p-listbox-option-check-icon\" />\n </ng-container>\n <ng-container *ngTemplateOutlet=\"checkmarkTemplate || _checkmarkTemplate; context: { implicit: isSelected(option) }\"></ng-container>\n </ng-container>\n <span *ngIf=\"!itemTemplate && !_itemTemplate\">{{ getOptionLabel(option) }}</span>\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate || _itemTemplate;\n context: {\n $implicit: option,\n index: getOptionIndex(i, scrollerOptions),\n selected: isSelected(option),\n disabled: isOptionDisabled(option)\n }\n \"\n ></ng-container>\n </li>\n </ng-container>\n </ng-template>\n </ul>\n </ng-template>\n }\n </div>\n <div class=\"p-listbox-footer\" *ngIf=\"footerFacet || footerTemplate || _footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate || _footerTemplate; context: { $implicit: modelValue(), options: visibleOptions() }\"></ng-container>\n </div>\n <span *ngIf=\"isEmpty()\" role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\">\n {{ emptyMessage }}\n </span>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\">\n {{ selectedMessageText }}\n </span>\n <span #lastHiddenFocusableElement role=\"presentation\" class=\"p-hidden-accessible p-hidden-focusable\" [tabindex]=\"!disabled ? tabindex : -1\" (focus)=\"onLastHiddenFocus($event)\" [attr.data-p-hidden-focusable]=\"true\"> </span>\n </div>\n `,\n providers: [\n LISTBOX_VALUE_ACCESSOR,\n ListBoxStyle,\n {\n provide: CDK_DRAG_CONFIG,\n useValue: {\n zIndex: 1200\n }\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class Listbox extends BaseComponent implements AfterContentInit, OnInit, ControlValueAccessor, OnDestroy {\n /**\n * Unique identifier of the component.\n * @group Props\n */\n @Input() id: string | undefined;\n /**\n * Text to display when the search is active. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} results are available'\n */\n @Input() searchMessage: string | undefined;\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue 'No selected item'\n */\n @Input() emptySelectionMessage: string | undefined;\n /**\n * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} items selected'\n */\n @Input() selectionMessage: string | undefined;\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoOptionFocus: boolean | undefined = true;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * When enabled, the focused option is selected.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) selectOnFocus: boolean | undefined;\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) searchLocale: boolean | undefined;\n /**\n * When enabled, the hovered option will be focused.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) focusOnHover: boolean | undefined = true;\n /**\n * Text to display when filtering.\n * @group Props\n */\n @Input() filterMessage: string | undefined;\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n @Input() filterFields: any[] | undefined;\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) lazy: boolean = false;\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) virtualScroll: boolean | undefined;\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n @Input({ transform: numberAttribute }) virtualScrollItemSize: 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 @Input() virtualScrollOptions: ScrollerOptions | undefined;\n /**\n * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n @Input() scrollHeight: string = '14rem';\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined = 0;\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) multiple: boolean | undefined;\n /**\n * Inline style of the container.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the container.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the list element.\n * @group Props\n */\n @Input() listStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the list element.\n * @group Props\n */\n @Input() listStyleClass: string | undefined;\n /**\n * When present, it specifies that the element value cannot be changed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * When specified, allows selecting items with checkboxes.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) checkbox: boolean = false;\n /**\n * When specified, displays a filter input at header.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) filter: boolean = false;\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n @Input() filterBy: string | undefined;\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n @Input() filterMatchMode: 'contains' | 'startsWith' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' | string = 'contains';\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input() filterLocale: string | undefined;\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 @Input({ transform: booleanAttribute }) metaKeySelection: boolean = false;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * Whether header checkbox is shown in multiple mode.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showToggleAll: boolean = true;\n /**\n * Name of the label field of an option.\n * @group Props\n */\n @Input() optionLabel: string | undefined;\n /**\n * Name of the value field of an option.\n * @group Props\n */\n @Input() optionValue: string | undefined;\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n @Input() optionGroupChildren: string | undefined = 'items';\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n @Input() optionGroupLabel: string | undefined = 'label';\n /**\n * Name of the disabled field of an option or function to determine disabled state.\n * @group Props\n */\n @Input() optionDisabled: string | ((item: any) => boolean) | undefined;\n /**\n * Defines a string that labels the filter input.\n * @group Props\n */\n @Input() ariaFilterLabel: string | undefined;\n /**\n * Defines placeholder of the filter input.\n * @group Props\n */\n @Input() filterPlaceHolder: string | undefined;\n /**\n * Text to display when filtering does not return any results.\n * @group Props\n */\n @Input() emptyFilterMessage: string | undefined;\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n @Input() emptyMessage: string | undefined;\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) group: boolean | undefined;\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n @Input() get options(): any[] {\n return this._options();\n }\n set options(val: any[]) {\n this._options.set(val);\n }\n /**\n * When specified, filter displays with this value.\n * @group Props\n */\n @Input() get filterValue(): string {\n return this._filterValue();\n }\n set filterValue(val: string) {\n this._filterValue.set(val);\n }\n /**\n * Whether all data is selected.\n * @group Props\n */\n @Input() get selectAll(): boolean | undefined | null {\n return this._selectAll;\n }\n set selectAll(value: boolean | undefined | null) {\n this._selectAll = value;\n }\n /**\n * Whether to displays rows with alternating colors.\n * @group Props\n * @defaultValue false\n */\n @Input({ transform: booleanAttribute }) striped: boolean | undefined = false;\n /**\n * Whether the selected option will be add highlight class.\n * @group Props\n * @defaultValue true\n */\n @Input({ transform: booleanAttribute }) highlightOnSelect: boolean = true;\n /**\n * Whether the selected option will be shown with a check mark.\n * @group Props\n * @defaultValue false\n */\n @Input({ transform: booleanAttribute }) checkmark: boolean = false;\n /**\n * Whether to enable dragdrop based reordering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dragdrop: boolean = false;\n /**\n * Callback to invoke on value change.\n * @param {ListboxChangeEvent} event - Custom change event.\n * @group Emits\n */\n\n @Output() onChange: EventEmitter<ListboxChangeEvent> = new EventEmitter<ListboxChangeEvent>();\n /**\n * Callback to invoke when option is clicked.\n * @param {ListboxClickEvent} event - Custom click event.\n * @group Emits\n */\n @Output() onClick: EventEmitter<ListboxClickEvent> = new EventEmitter<ListboxClickEvent>();\n /**\n * Callback to invoke when option is double clicked.\n * @param {ListboxDoubleClickEvent} event - Custom double click event.\n * @group Emits\n */\n @Output() onDblClick: EventEmitter<ListboxDoubleClickEvent> = new EventEmitter<ListboxDoubleClickEvent>();\n /**\n * Callback to invoke when data is filtered.\n * @param {ListboxFilterEvent} event - Custom filter event.\n * @group Emits\n */\n @Output() onFilter: EventEmitter<ListboxFilterEvent> = new EventEmitter<ListboxFilterEvent>();\n /**\n * Callback to invoke when component receives focus.\n * @param {FocusEvent} event - Focus event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n /**\n * Callback to invoke when component loses focus.\n * @param {FocusEvent} event - Blur event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n /**\n * Callback to invoke when all data is selected.\n * @param {ListboxSelectAllChangeEvent} event - Custom select event.\n * @group Emits\n */\n @Output() onSelectAllChange: EventEmitter<ListboxSelectAllChangeEvent> = new EventEmitter<ListboxSelectAllChangeEvent>();\n /**\n * Emits on lazy load.\n * @param {ScrollerLazyLoadEvent} event - Scroller lazy load event.\n * @group Emits\n */\n @Output() onLazyLoad: EventEmitter<ScrollerLazyLoadEvent> = new EventEmitter<ScrollerLazyLoadEvent>();\n /**\n * Emits on item is dropped.\n * @param {CdkDragDrop<string[]>} event - Scroller lazy load event.\n * @group Emits\n */\n @Output() onDrop: EventEmitter<CdkDragDrop<string[]>> = new EventEmitter<CdkDragDrop<string[]>>();\n\n @ViewChild('headerchkbox') headerCheckboxViewChild: Nullable<ElementRef>;\n\n @ViewChild('filter') filterViewChild: Nullable<ElementRef>;\n\n @ViewChild('lastHiddenFocusableElement') lastHiddenFocusableElement: Nullable<ElementRef>;\n\n @ViewChild('firstHiddenFocusableElement') firstHiddenFocusableElement: Nullable<ElementRef>;\n\n @ViewChild('scroller') scroller: Nullable<Scroller>;\n\n @ViewChild('list') listViewChild: Nullable<ElementRef>;\n\n @ViewChild('container') containerViewChild: Nullable<ElementRef>;\n\n @ContentChild(Header) headerFacet: Nullable<TemplateRef<any>>;\n\n @ContentChild(Footer) footerFacet: Nullable<TemplateRef<any>>;\n\n /**\n * Custom item template.\n * @group Templates\n */\n @ContentChild('item', { descendants: false }) itemTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom group template.\n * @group Templates\n */\n @ContentChild('group', { descendants: false }) groupTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom header template.\n * @group Templates\n */\n @ContentChild('header', { descendants: false }) headerTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom filter template.\n * @group Templates\n */\n @ContentChild('filter', { descendants: false }) filterTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom footer template.\n * @group Templates\n */\n @ContentChild('footer', { descendants: false }) footerTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom empty filter message template.\n * @group Templates\n */\n @ContentChild('emptyfilter', { descendants: false }) emptyFilterTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n @ContentChild('empty', { descendants: false }) emptyTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom filter icon template.\n * @group Templates\n */\n @ContentChild('filtericon', { descendants: false }) filterIconTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom check icon template.\n * @group Templates\n */\n @ContentChild('checkicon', { descendants: false }) checkIconTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom checkmark icon template.\n * @group Templates\n */\n @ContentChild('checkmark', { descendants: false }) checkmarkTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom loader template.\n * @group Templates\n */\n @ContentChild('loader', { descendants: false }) loaderTemplate: TemplateRef<any> | undefined;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n _itemTemplate: TemplateRef<any> | undefined;\n\n _groupTemplate: TemplateRef<any> | undefined;\n\n _headerTemplate: TemplateRef<any> | undefined;\n\n _filterTemplate: TemplateRef<any> | undefined;\n\n _footerTemplate: TemplateRef<any> | undefined;\n\n _emptyFilterTemplate: TemplateRef<any> | undefined;\n\n _emptyTemplate: TemplateRef<any> | undefined;\n\n _filterIconTemplate: TemplateRef<any> | undefined;\n\n _checkIconTemplate: TemplateRef<any> | undefined;\n\n _checkmarkTemplate: TemplateRef<any> | undefined;\n\n _loaderTemplate: TemplateRef<any> | undefined;\n\n public _filterValue = signal<string | null | undefined>(null);\n\n public _filteredOptions: any[] | undefined | null;\n\n filterOptions: ListboxFilterOptions | undefined;\n\n public filtered: boolean | undefined | null;\n\n public value: any | undefined | null;\n\n public onModelChange: Function = () => {};\n\n public onModelTouched: Function = () => {};\n\n public optionTouched: boolean | undefined | null;\n\n public focus: boolean | undefined | null;\n\n public headerCheckboxFocus: boolean | undefined | null;\n\n translationSubscription: Nullable<Subscription>;\n\n focused: boolean | undefined;\n\n scrollerTabIndex: string = '0';\n\n _componentStyle = inject(ListBoxStyle);\n\n get containerClass() {\n return {\n 'p-listbox p-component': true,\n 'p-listbox-striped': this.striped,\n 'p-disabled': this.disabled\n };\n }\n\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.id}_${this.focusedOptionIndex()}` : null;\n }\n\n get filterResultMessageText() {\n return isNotEmpty(this.visibleOptions()) ? this.filterMessageText.replaceAll('{0}', this.visibleOptions().length) : this.emptyFilterMessageText;\n }\n\n get filterMessageText() {\n return this.filterMessage || this.config.translation.searchMessage || '';\n }\n\n get searchMessageText() {\n return this.searchMessage || this.config.translation.searchMessage || '';\n }\n\n get emptyFilterMessageText() {\n return this.emptyFilterMessage || this.config.translation.emptySearchMessage || this.config.translation.emptyFilterMessage || '';\n }\n\n get selectionMessageText() {\n return this.selectionMessage || this.config.translation.selectionMessage || '';\n }\n\n get emptySelectionMessageText() {\n return this.emptySelectionMessage || this.config.translation.emptySelectionMessage || '';\n }\n\n get selectedMessageText() {\n return this.hasSelectedOption() ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.modelValue().length : '1') : this.emptySelectionMessageText;\n }\n\n get ariaSetSize() {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;\n }\n\n get virtualScrollerDisabled() {\n return !this.virtualScroll;\n }\n\n get searchFields() {\n return this.filterBy?.split(',') || this.filterFields || [this.optionLabel];\n }\n\n get toggleAllAriaLabel() {\n return this.config.translation.aria ? this.config.translation.aria[this.allSelected() ? 'selectAll' : 'unselectAll'] : undefined;\n }\n\n searchValue: string | undefined;\n\n searchTimeout: any;\n\n _selectAll: boolean | undefined | null = null;\n\n _options = signal<any>(null);\n\n startRangeIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n modelValue = signal<any>(null);\n\n visibleOptions = computed(() => {\n const options = this.group ? this.flatOptions(this._options()) : this._options() || [];\n return this._filterValue() ? this.filterService.filter(options, this.searchFields, this._filterValue(), this.filterMatchMode, this.filterLocale) : options;\n });\n\n constructor(public filterService: FilterService) {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.id = this.id || uuid('pn_id_');\n this.translationSubscription = this.config.translationObserver.subscribe(() => {\n this.cd.markForCheck();\n });\n\n this.autoUpdateModel();\n\n if (this.filterBy) {\n this.filterOptions = {\n filter: (value) => this.onFilterChange(value),\n reset: () => this.resetFilter()\n };\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n\n case 'group':\n this._groupTemplate = item.template;\n break;\n\n case 'header':\n this._headerTemplate = item.template;\n break;\n\n case 'filter':\n this._filterTemplate = item.template;\n break;\n\n case 'footer':\n this._footerTemplate = item.template;\n break;\n\n case 'empty':\n this._emptyTemplate = item.template;\n break;\n\n case 'emptyfilter':\n this._emptyFilterTemplate = item.template;\n break;\n\n case 'filtericon':\n this._filterIconTemplate = item.template;\n break;\n\n case 'checkicon':\n this._checkIconTemplate = item.template;\n break;\n\n case 'checkmark':\n this._checkmarkTemplate = item.template;\n break;\n\n case 'loader':\n this._loaderTemplate = item.template;\n break;\n\n default:\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.modelValue.set(this.value);\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n\n const optionGroupChildren = this.getOptionGroupChildren(option);\n\n optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n }\n\n autoUpdateModel() {\n if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption() && !this.multiple) {\n const focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n }\n /**\n * Updates the model value.\n * @group Method\n */\n public updateModel(value, event?) {\n this.value = value;\n this.modelValue.set(value);\n this.onModelChange(value);\n\n this.onChange.emit({ originalEvent: event, value: this.value });\n }\n\n removeOption(option) {\n return this.modelValue().filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey()));\n }\n\n onOptionSelect(event, option, index = -1) {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n event && this.onClick.emit({ originalEvent: event, option, value: this.value });\n\n this.multiple ? this.onOptionSelectMultiple(event, option) : this.onOptionSelectSingle(event, option);\n this.optionTouched = false;\n index !== -1 && this.focusedOptionIndex.set(index);\n }\n\n onOptionSelectMultiple(event, option) {\n let selected = this.isSelected(option);\n let value = null;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = event.metaKey || event.ctrlKey;\n\n if (selected) {\n value = metaKey ? this.removeOption(option) : [this.getOptionValue(option)];\n } else {\n value = metaKey ? this.modelValue() || [] : [];\n value = [...value, this.getOptionValue(option)];\n }\n } else {\n value = selected ? this.removeOption(option) : [...(this.modelValue() || []), this.getOptionValue(option)];\n }\n\n this.updateModel(value, event);\n }\n\n onOptionSelectSingle(event, option) {\n let selected = this.isSelected(option);\n let valueChanged = false;\n let value = null;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = event.metaKey || event.ctrlKey;\n\n if (selected) {\n if (metaKey) {\n value = null;\n valueChanged = true;\n }\n } else {\n value = this.getOptionValue(option);\n valueChanged = true;\n }\n } else {\n value = selected ? null : this.getOptionValue(option);\n valueChanged = true;\n }\n\n if (valueChanged) {\n this.updateModel(value, event);\n }\n }\n\n onOptionSelectRange(event, start = -1, end = -1) {\n start === -1 && (start = this.findNearestSelectedOptionIndex(end, true));\n end === -1 && (end = this.findNearestSelectedOptionIndex(start));\n\n if (start !== -1 && end !== -1) {\n const rangeStart = Math.min(start, end);\n const rangeEnd = Math.max(start, end);\n const value = this.visibleOptions()\n .slice(rangeStart, rangeEnd + 1)\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value, event);\n }\n }\n\n onToggleAll(event) {\n if (this.disabled || this.readonly) {\n return;\n }\n focus(this.headerCheckboxViewChild.nativeElement);\n\n if (this.selectAll !== null) {\n this.onSelectAllChange.emit({\n originalEvent: event,\n checked: !this.allSelected()\n });\n } else {\n const value = this.allSelected()\n ? []\n : this.visibleOptions()\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value, event);\n this.onChange.emit({ originalEvent: event, value: this.value });\n }\n\n event.preventDefault();\n // event.stopPropagation();\n }\n\n allSelected() {\n return this.selectAll !== null ? this.selectAll : isNotEmpty(this.visibleOptions()) && this.visibleOptions().every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));\n }\n\n onOptionTouchEnd() {\n if (this.disabled) {\n return;\n }\n\n this.optionTouched = true;\n }\n\n onOptionMouseDown(event: MouseEvent, index: number) {\n this.changeFocusedOptionIndex(event, index);\n }\n\n onOptionMouseEnter(event: MouseEvent, index: number) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n onOptionDoubleClick(event: MouseEvent, option: any) {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n this.onDblClick.emit({\n originalEvent: event,\n option: option,\n value: this.value\n });\n }\n\n onFirstHiddenFocus(event: FocusEvent) {\n focus(this.listViewChild.nativeElement);\n const firstFocusableEl = getFirstFocusableElement(this.el.nativeElement, ':not([data-p-hidden-focusable=\"true\"])');\n this.lastHiddenFocusableElement.nativeElement.tabIndex = isEmpty(firstFocusableEl) ? '-1' : undefined;\n this.firstHiddenFocusableElement.nativeElement.tabIndex = -1;\n }\n\n onLastHiddenFocus(event: FocusEvent) {\n const relatedTarget = event.relatedTarget;\n\n if (relatedTarget === this.listViewChild.nativeElement) {\n const firstFocusableEl = <any>getFirstFocusableElement(this.el.nativeElement, ':not(.p-hidden-focusable)');\n\n focus(firstFocusableEl);\n this.firstHiddenFocusableElement.nativeElement.tabIndex = undefined;\n } else {\n focus(this.firstHiddenFocusableElement.nativeElement);\n }\n this.lastHiddenFocusableElement.nativeElement.tabIndex = -1;\n }\n\n onFocusout(event: FocusEvent) {\n if (!this.el.nativeElement.contains(event.relatedTarget) && this.lastHiddenFocusableElement && this.firstHiddenFocusableElement) {\n this.firstHiddenFocusableElement.nativeElement.tabIndex = this.lastHiddenFocusableElement.nativeElement.tabIndex = undefined;\n this.containerViewChild.nativeElement.tabIndex = '0';\n this.scrollerTabIndex = '0';\n }\n }\n\n onListFocus(event: FocusEvent) {\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.onFocus.emit(event);\n\n this.containerViewChild.nativeElement.tabIndex = '-1';\n this.scrollerTabIndex = '-1';\n }\n\n onFilterFocus(event: FocusEvent) {\n this.containerViewChild.nativeElement.tabIndex = '-1';\n }\n\n onListBlur(event: FocusEvent) {\n this.focused = false;\n this.focusedOptionIndex.set(-1);\n this.startRangeIndex.set(-1);\n this.searchValue = '';\n }\n\n onHeaderCheckboxFocus(event) {\n this.headerCheckboxFocus = true;\n }\n\n onHeaderCheckboxBlur() {\n this.headerCheckboxFocus = false;\n }\n\n onHeaderCheckboxKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'Space':\n this.onToggleAll(event);\n break;\n case 'Enter':\n this.onToggleAll(event);\n break;\n case 'Tab':\n this.onHeaderCheckboxTabKeyDown(event);\n break;\n default:\n break;\n }\n }\n\n onHeaderCheckboxTabKeyDown(event) {\n focus(this.listViewChild.nativeElement);\n event.preventDefault();\n }\n\n onFilterChange(event: Event) {\n let value: string = (event.target as HTMLInputElement).value?.trim();\n this._filterValue.set(value);\n this.focusedOptionIndex.set(-1);\n this.startRangeIndex.set(-1);\n this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });\n\n !this.virtualScrollerDisabled && this.scroller.scrollToIndex(0);\n }\n\n onFilterBlur(event: FocusEvent) {\n this.focusedOptionIndex.set(-1);\n this.startRangeIndex.set(-1);\n }\n\n onListKeyDown(event: KeyboardEvent) {\n const metaKey = event.metaKey || event.ctrlKey;\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'Space':\n case 'NumpadEnter':\n this.onSpaceKey(event);\n break;\n\n case 'Tab':\n //NOOP\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n this.onShiftKey();\n break;\n\n default:\n if (this.multiple && event.code === 'KeyA' && metaKey) {\n const value = this.visibleOptions()\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value, event);\n\n event.preventDefault();\n break;\n }\n\n if (!metaKey && isPrintableCharacter(event.key)) {\n this.searchOptions(event, event.key);\n event.preventDefault();\n }\n\n break;\n }\n }\n\n onFilterKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, true);\n break;\n\n case 'Home':\n this.onHomeKey(event, true);\n break;\n\n case 'End':\n this.onEndKey(event, true);\n break;\n\n case 'Enter':\n this.onEnterKey(event);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n this.onShiftKey();\n break;\n\n default:\n break;\n }\n }\n\n onArrowDownKey(event: KeyboardEvent) {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n\n if (this.multiple && event.shiftKey) {\n this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n }\n\n onArrowUpKey(event: KeyboardEvent) {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();\n\n if (this.multiple && event.shiftKey) {\n this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n }\n\n onArrowLeftKey(event: KeyboardEvent, pressedInInputText = false) {\n pressedInInputText && this.focusedOptionIndex.set(-1);\n }\n\n onHomeKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (pressedInInputText) {\n (event.currentTarget as HTMLInputElement).setSelectionRange(0, 0);\n this.focusedOptionIndex.set(-1);\n } else {\n let metaKey = event.metaKey || event.ctrlKey;\n let optionIndex = this.findFirstOptionIndex();\n\n if (this.multiple && event.shiftKey && metaKey) {\n this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n event.preventDefault();\n }\n\n onEndKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (pressedInInputText) {\n const target = event.currentTarget as HTMLInputElement;\n const len = target.value.length;\n\n target.setSelectionRange(len, len);\n this.focusedOptionIndex.set(-1);\n } else {\n let metaKey = event.metaKey || event.ctrlKey;\n let optionIndex = this.findLastOptionIndex();\n\n if (this.multiple && event.shiftKey && metaKey) {\n this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n event.preventDefault();\n }\n\n onPageDownKey(event: KeyboardEvent) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onPageUpKey(event: KeyboardEvent) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onEnterKey(event) {\n if (this.focusedOptionIndex() !== -1) {\n if (this.multiple && event.shiftKey) this.onOptionSelectRange(event, this.focusedOptionIndex());\n else this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n event.preventDefault();\n }\n\n onSpaceKey(event: KeyboardEvent) {\n this.onEnterKey(event);\n }\n\n onShiftKey() {\n const focusedOptionIndex = this.focusedOptionIndex();\n this.startRangeIndex.set(focusedOptionIndex);\n }\n\n getOptionGroupChildren(optionGroup) {\n return this.optionGroupChildren ? resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel ? resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option.label != undefined ? option.label : option;\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : !this.optionLabel && option && option.value !== undefined ? option.value : option;\n }\n\n getAriaPosInset(index: number) {\n return (\n (this.optionGroupLabel\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n hasSelectedOption() {\n return isNotEmpty(this.modelValue());\n }\n\n isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus && !this.multiple) {\n this.onOptionSelect(event, this.visibleOptions()[index]);\n }\n }\n }\n\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n\n if (this.focusedOptionIndex() !== -1) {\n optionIndex = this.visibleOptions()\n .slice(this.focusedOptionIndex())\n .findIndex((option) => this.isOptionMatched(option));\n optionIndex =\n optionIndex === -1\n ? this.visibleOptions()\n .slice(0, this.focusedOptionIndex())\n .findIndex((option) => this.isOptionMatched(option))\n : optionIndex + this.focusedOptionIndex();\n } else {\n optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));\n }\n\n if (optionIndex !== -1) {\n matched = true;\n }\n\n if (optionIndex === -1 && this.focusedOptionIndex() === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (optionIndex !== -1) {\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = '';\n this.searchTimeout = null;\n }, 500);\n\n return matched;\n }\n\n isOptionMatched(option) {\n return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;\n const element = findSingle(this.listViewChild.nativeElement, `li[id=\"${id}\"]`);\n\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n this.virtualScroll && this.scroller.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findFirstSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findLastSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findLastSelectedOptionIndex() {\n return this.hasSelectedOption() ? findLastIndex(this.visibleOptions(), (option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextOptionIndex(index) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findNextSelectedOptionIndex(index) {\n const matchedOptionIndex =\n this.hasSelectedOption() && index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidSelectedOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;\n }\n\n findPrevSelectedOptionIndex(index) {\n const matchedOptionIndex = this.hasSelectedOption() && index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidSelectedOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : -1;\n }\n\n findFirstSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n findNearestSelectedOptionIndex(index, firstCheckUp = false) {\n let matchedOptionIndex = -1;\n\n if (this.hasSelectedOption()) {\n if (firstCheckUp) {\n matchedOptionIndex = this.findPrevSelectedOptionIndex(index);\n matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index) : matchedOptionIndex;\n } else {\n matchedOptionIndex = this.findNextSelectedOptionIndex(index);\n matchedOptionIndex = matchedOptionIndex === -1 ? this.findPrevSelectedOptionIndex(index) : matchedOptionIndex;\n }\n }\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isOptionDisabled(option: any) {\n if (isFunction(this.optionDisabled)) {\n return this.optionDisabled(option);\n }\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n }\n\n isSelected(option) {\n const optionValue = this.getOptionValue(option);\n\n if (this.multiple) return (this.modelValue() || []).some((value) => equals(value, optionValue, this.equalityKey()));\n else return equals(this.modelValue(), optionValue, this.equalityKey());\n }\n\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isEmpty() {\n return !this._options()?.length || !this.visibleOptions()?.length;\n }\n\n hasFilter() {\n return this._filterValue() && this._filterValue().trim().length > 0;\n }\n\n resetFilter() {\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.filterViewChild.nativeElement.value = '';\n }\n\n this._filterValue.set(null);\n }\n\n drop(event: CdkDragDrop<string[]>) {\n if (event) {\n this.onDrop.emit(event);\n }\n }\n\n ngOnDestroy() {\n if (this.translationSubscription) {\n this.translationSubscription.unsubscribe();\n }\n\n super.ngOnDestroy();\n }\n}\n\n@NgModule({\n imports: [Listbox, SharedModule],\n exports: [Listbox, SharedModule]\n})\nexport class ListboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-listbox.mjs","sources":["../../src/listbox/style/listboxstyle.ts","../../src/listbox/listbox.ts","../../src/listbox/primeng-listbox.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { css, dt } from '@primeuix/styled';\nimport { style } from '@primeuix/styles/listbox';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = css`\n ${style}\n\n /* For PrimeNG */\n .p-listbox.ng-invalid.ng-dirty {\n border-color: ${dt('listbox.invalid.border.color')};\n }\n`;\n\nconst classes = {\n root: ({ instance }) => [\n 'p-listbox p-component',\n {\n 'p-listbox-striped': instance.striped,\n 'p-disabled': instance.disabled(),\n 'p-invalid': instance.invalid(),\n 'p-listbox-fluid': instance.fluid()\n }\n ],\n header: 'p-listbox-header',\n pcFilter: 'p-listbox-filter',\n listContainer: 'p-listbox-list-container',\n list: 'p-listbox-list',\n optionGroup: 'p-listbox-option-group',\n option: ({ instance, option, i, scrollerOptions }) => [\n 'p-listbox-option',\n {\n 'p-listbox-option-selected': instance.isSelected(option) && instance.highlightOnSelect,\n 'p-focus': instance.focusedOptionIndex() === instance.getOptionIndex(i, scrollerOptions),\n 'p-disabled': instance.isOptionDisabled(option)\n }\n ],\n optionCheckIcon: 'p-listbox-option-check-icon',\n optionBlankIcon: 'p-listbox-option-blank-icon',\n emptyMessage: 'p-listbox-empty-message'\n};\n\n@Injectable()\nexport class ListBoxStyle extends BaseStyle {\n name = 'listbox';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * ListBox is used to select one or more values from a list of items.\n *\n * [Live Demo](https://www.primeng.org/listbox/)\n *\n * @module listboxstyle\n *\n */\nexport enum ListboxClasses {\n /**\n * Class name of the root element\n */\n root = 'p-listbox',\n /**\n * Class name of the header element\n */\n header = 'p-listbox-header',\n /**\n * Class name of the filter element\n */\n pcFilter = 'p-listbox-filter',\n /**\n * Class name of the list container element\n */\n listContainer = 'p-listbox-list-container',\n /**\n * Class name of the list element\n */\n list = 'p-listbox-list',\n /**\n * Class name of the option group element\n */\n optionGroup = 'p-listbox-option-group',\n /**\n * Class name of the option element\n */\n option = 'p-listbox-option',\n /**\n * Class name of the option check icon element\n */\n optionCheckIcon = 'p-listbox-option-check-icon',\n /**\n * Class name of the option blank icon element\n */\n optionBlankIcon = 'p-listbox-option-blank-icon',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-listbox-empty-message'\n}\n\nexport interface ListboxStyle extends BaseStyle {}\n","import { CDK_DRAG_CONFIG, CdkDragDrop, DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n NgModule,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n input,\n numberAttribute,\n signal\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { equals, findLastIndex, findSingle, focus, getFirstFocusableElement, isEmpty, isFunction, isNotEmpty, isPrintableCharacter, resolveFieldData, uuid } from '@primeuix/utils';\nimport { FilterService, Footer, Header, PrimeTemplate, ScrollerOptions, SharedModule } from 'primeng/api';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { Checkbox } from 'primeng/checkbox';\nimport { IconField } from 'primeng/iconfield';\nimport { BlankIcon, CheckIcon, SearchIcon } from 'primeng/icons';\nimport { InputIcon } from 'primeng/inputicon';\nimport { InputText } from 'primeng/inputtext';\nimport { Ripple } from 'primeng/ripple';\nimport { Scroller, ScrollerLazyLoadEvent } from 'primeng/scroller';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { Subscription } from 'rxjs';\nimport { ListboxChangeEvent, ListboxClickEvent, ListboxDoubleClickEvent, ListboxFilterEvent, ListboxFilterOptions, ListboxSelectAllChangeEvent } from './listbox.interface';\nimport { ListBoxStyle } from './style/listboxstyle';\n\nexport const LISTBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Listbox),\n multi: true\n};\n/**\n * ListBox is used to select one or more values from a list of items.\n * @group Components\n */\n@Component({\n selector: 'p-listbox, p-listBox, p-list-box',\n standalone: true,\n imports: [CommonModule, Ripple, Scroller, InputIcon, SearchIcon, Checkbox, CheckIcon, IconField, InputText, BlankIcon, FormsModule, SharedModule, DragDropModule],\n template: `\n <span #firstHiddenFocusableElement role=\"presentation\" class=\"p-hidden-accessible p-hidden-focusable\" [tabindex]=\"!disabled() ? tabindex : -1\" (focus)=\"onFirstHiddenFocus($event)\" [attr.data-p-hidden-focusable]=\"true\"> </span>\n <div [class]=\"cx('header')\" *ngIf=\"headerFacet || headerTemplate || _headerTemplate\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate; context: { $implicit: modelValue(), options: visibleOptions() }\"></ng-container>\n </div>\n <div [class]=\"cx('header')\" *ngIf=\"(checkbox && multiple && showToggleAll) || filter\">\n <div *ngIf=\"checkbox && multiple && showToggleAll\" class=\"p-checkbox p-component\" [ngClass]=\"{ 'p-checkbox-disabled': disabled() }\" (click)=\"onToggleAll($event)\" (keydown)=\"onHeaderCheckboxKeyDown($event)\">\n <div class=\"p-hidden-accessible\" [attr.data-p-hidden-accessible]=\"true\">\n <input\n #headerchkbox\n type=\"checkbox\"\n readonly=\"readonly\"\n [attr.checked]=\"allSelected()\"\n [attr.disabled]=\"disabled() ? '' : undefined\"\n (focus)=\"onHeaderCheckboxFocus($event)\"\n (blur)=\"onHeaderCheckboxBlur()\"\n [attr.aria-label]=\"toggleAllAriaLabel\"\n />\n </div>\n <p-checkbox\n *ngIf=\"checkbox && multiple\"\n [class]=\"cx('optionCheckIcon')\"\n [ngModel]=\"allSelected()\"\n [disabled]=\"disabled()\"\n [tabindex]=\"-1\"\n [variant]=\"config.inputStyle() === 'filled' || config.inputVariant() === 'filled' ? 'filled' : 'outlined'\"\n [binary]=\"true\"\n >\n <ng-container *ngIf=\"checkIconTemplate || _checkIconTemplate\">\n <ng-template #icon>\n <ng-template *ngTemplateOutlet=\"checkIconTemplate || _checkIconTemplate; context: { $implicit: allSelected() }\"></ng-template>\n </ng-template>\n </ng-container>\n </p-checkbox>\n </div>\n <ng-container *ngIf=\"filterTemplate || _filterTemplate; else builtInFilterElement\">\n <ng-container *ngTemplateOutlet=\"filterTemplate || _filterTemplate; context: { options: filterOptions }\"></ng-container>\n </ng-container>\n <ng-template #builtInFilterElement>\n <div *ngIf=\"filter\">\n <p-iconfield>\n <input\n #filterInput\n pInputText\n type=\"text\"\n [class]=\"cx('pcFilter')\"\n role=\"searchbox\"\n [value]=\"_filterValue() || ''\"\n [attr.disabled]=\"disabled() ? '' : undefined\"\n [attr.aria-owns]=\"id + '_list'\"\n [attr.aria-activedescendant]=\"focusedOptionId\"\n [attr.placeholder]=\"filterPlaceHolder\"\n [attr.aria-label]=\"ariaFilterLabel\"\n [attr.tabindex]=\"!disabled() && !focused ? tabindex : -1\"\n (input)=\"onFilterChange($event)\"\n (keydown)=\"onFilterKeyDown($event)\"\n (blur)=\"onFilterBlur($event)\"\n />\n <p-inputicon>\n <SearchIcon *ngIf=\"!filterIconTemplate && !_filterIconTemplate\" [attr.aria-hidden]=\"true\" />\n <span *ngIf=\"filterIconTemplate || _filterIconTemplate\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate || _filterIconTemplate\"></ng-template>\n </span>\n </p-inputicon>\n </p-iconfield>\n </div>\n <span role=\"status\" [attr.aria-live]=\"'polite'\" class=\"p-hidden-accessible\" [attr.data-p-hidden-accessible]=\"true\">\n {{ filterResultMessageText }}\n </span>\n </ng-template>\n </div>\n <div #container [class]=\"cn(cx('listContainer'), listStyleClass)\" [ngStyle]=\"listStyle\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\">\n @if (hasFilter() && isEmpty()) {\n <div [class]=\"cx('emptyMessage')\" [cdkDropListData]=\"$any([])\" (cdkDropListDropped)=\"drop($event)\" cdkDropList>\n @if (!emptyFilterTemplate && !_emptyFilterTemplate && !_emptyTemplate && !emptyTemplate) {\n {{ emptyFilterMessageText }}\n } @else {\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || _emptyFilterTemplate || _emptyTemplate || emptyTemplate\"></ng-container>\n }\n </div>\n } @else if (!hasFilter() && isEmpty()) {\n <div [class]=\"cx('emptyMessage')\" [cdkDropListData]=\"$any([])\" (cdkDropListDropped)=\"drop($event)\" cdkDropList>\n @if (!emptyTemplate && !_emptyTemplate) {\n {{ emptyMessage }}\n } @else {\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate || _emptyTemplate\"></ng-container>\n }\n </div>\n } @else {\n <p-scroller\n #scroller\n *ngIf=\"virtualScroll\"\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n [options]=\"virtualScrollOptions\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [tabindex]=\"scrollerTabIndex\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n @if (loaderTemplate || _loaderTemplate) {\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate || _loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n }\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: visibleOptions(), options: {} }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul\n #list\n [class]=\"cx('list')\"\n role=\"listbox\"\n [tabindex]=\"-1\"\n [attr.aria-multiselectable]=\"true\"\n [ngClass]=\"scrollerOptions.contentStyleClass\"\n [style]=\"scrollerOptions.contentStyle\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-disabled]=\"disabled()\"\n (focus)=\"onListFocus($event)\"\n (blur)=\"onListBlur($event)\"\n (keydown)=\"onListKeyDown($event)\"\n cdkDropList\n [cdkDropListData]=\"items\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n <ng-template ngFor let-option [ngForOf]=\"items\" let-i=\"index\">\n <ng-container *ngIf=\"isOptionGroup(option)\">\n <li\n [attr.id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\"\n [class]=\"cx('optionGroup')\"\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n role=\"option\"\n cdkDrag\n [cdkDragData]=\"option\"\n [cdkDragDisabled]=\"!dragdrop\"\n >\n <span *ngIf=\"!groupTemplate && !_groupTemplate\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate || _groupTemplate; context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n </ng-container>\n <ng-container *ngIf=\"!isOptionGroup(option)\">\n <li\n pRipple\n [class]=\"cx('option', { option, i, scrollerOptions })\"\n role=\"option\"\n [attr.id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\"\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-selected]=\"isSelected(option)\"\n [attr.aria-disabled]=\"isOptionDisabled(option)\"\n [attr.aria-setsize]=\"ariaSetSize\"\n [attr.ariaPosInset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n [attr.data-pc-section]=\"'item'\"\n [attr.data-p-selected]=\"isSelected(option)\"\n (click)=\"onOptionSelect($event, option, getOptionIndex(i, scrollerOptions))\"\n (dblclick)=\"onOptionDoubleClick($event, option)\"\n (mousedown)=\"onOptionMouseDown($event, getOptionIndex(i, scrollerOptions))\"\n (mouseenter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n (touchend)=\"onOptionTouchEnd()\"\n cdkDrag\n [cdkDragData]=\"option\"\n [cdkDragDisabled]=\"!dragdrop\"\n >\n <p-checkbox\n *ngIf=\"checkbox && multiple\"\n [class]=\"cx('optionCheckIcon')\"\n [ngModel]=\"isSelected(option)\"\n [readonly]=\"true\"\n [disabled]=\"disabled() || isOptionDisabled(option)\"\n [tabindex]=\"-1\"\n [variant]=\"config.inputStyle() === 'filled' || config.inputVariant() === 'filled' ? 'filled' : 'outlined'\"\n [binary]=\"true\"\n >\n <ng-container *ngIf=\"checkIconTemplate || _checkIconTemplate\">\n <ng-template #icon>\n <ng-template *ngTemplateOutlet=\"checkIconTemplate || _checkIconTemplate; context: { $implicit: isSelected(option) }\"></ng-template>\n </ng-template>\n </ng-container>\n </p-checkbox>\n <ng-container *ngIf=\"checkmark\">\n <ng-container *ngIf=\"!checkmarkTemplate && !_checkmarkTemplate\">\n <BlankIcon *ngIf=\"!isSelected(option)\" [styleClass]=\"cx('optionBlankIcon')\" />\n <CheckIcon *ngIf=\"isSelected(option)\" [styleClass]=\"cx('optionCheckIcon')\" />\n </ng-container>\n <ng-container *ngTemplateOutlet=\"checkmarkTemplate || _checkmarkTemplate; context: { implicit: isSelected(option) }\"></ng-container>\n </ng-container>\n <span *ngIf=\"!itemTemplate && !_itemTemplate\">{{ getOptionLabel(option) }}</span>\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate || _itemTemplate;\n context: {\n $implicit: option,\n index: getOptionIndex(i, scrollerOptions),\n selected: isSelected(option),\n disabled: isOptionDisabled(option)\n }\n \"\n ></ng-container>\n </li>\n </ng-container>\n </ng-template>\n </ul>\n </ng-template>\n }\n </div>\n <div *ngIf=\"footerFacet || footerTemplate || _footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate || _footerTemplate; context: { $implicit: modelValue(), options: visibleOptions() }\"></ng-container>\n </div>\n <span *ngIf=\"isEmpty()\" role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\">\n {{ emptyMessage }}\n </span>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\">\n {{ selectedMessageText }}\n </span>\n <span #lastHiddenFocusableElement role=\"presentation\" class=\"p-hidden-accessible p-hidden-focusable\" [tabindex]=\"!disabled() ? tabindex : -1\" (focus)=\"onLastHiddenFocus($event)\" [attr.data-p-hidden-focusable]=\"true\"> </span>\n `,\n providers: [\n LISTBOX_VALUE_ACCESSOR,\n ListBoxStyle,\n {\n provide: CDK_DRAG_CONFIG,\n useValue: {\n zIndex: 1200\n }\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.id]': 'id',\n '[class]': \"cn(cx('root'), styleClass)\"\n }\n})\nexport class Listbox extends BaseEditableHolder implements AfterContentInit, OnInit, ControlValueAccessor, OnDestroy {\n /**\n * Unique identifier of the component.\n * @group Props\n */\n @Input() id: string | undefined;\n /**\n * Text to display when the search is active. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} results are available'\n */\n @Input() searchMessage: string | undefined;\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue 'No selected item'\n */\n @Input() emptySelectionMessage: string | undefined;\n /**\n * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} items selected'\n */\n @Input() selectionMessage: string | undefined;\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoOptionFocus: boolean | undefined = true;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * When enabled, the focused option is selected.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) selectOnFocus: boolean | undefined;\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) searchLocale: boolean | undefined;\n /**\n * When enabled, the hovered option will be focused.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) focusOnHover: boolean | undefined = true;\n /**\n * Text to display when filtering.\n * @group Props\n */\n @Input() filterMessage: string | undefined;\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n @Input() filterFields: any[] | undefined;\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) lazy: boolean = false;\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) virtualScroll: boolean | undefined;\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n @Input({ transform: numberAttribute }) virtualScrollItemSize: 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 @Input() virtualScrollOptions: ScrollerOptions | undefined;\n /**\n * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n @Input() scrollHeight: string = '14rem';\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined = 0;\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) multiple: boolean | undefined;\n /**\n * Style class of the container.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the list element.\n * @group Props\n */\n @Input() listStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the list element.\n * @group Props\n */\n @Input() listStyleClass: string | undefined;\n /**\n * When present, it specifies that the element value cannot be changed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * When specified, allows selecting items with checkboxes.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) checkbox: boolean = false;\n /**\n * When specified, displays a filter input at header.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) filter: boolean = false;\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n @Input() filterBy: string | undefined;\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n @Input() filterMatchMode: 'contains' | 'startsWith' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' | string = 'contains';\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input() filterLocale: string | undefined;\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 @Input({ transform: booleanAttribute }) metaKeySelection: boolean = false;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * Whether header checkbox is shown in multiple mode.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showToggleAll: boolean = true;\n /**\n * Name of the label field of an option.\n * @group Props\n */\n @Input() optionLabel: string | undefined;\n /**\n * Name of the value field of an option.\n * @group Props\n */\n @Input() optionValue: string | undefined;\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n @Input() optionGroupChildren: string | undefined = 'items';\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n @Input() optionGroupLabel: string | undefined = 'label';\n /**\n * Name of the disabled field of an option or function to determine disabled state.\n * @group Props\n */\n @Input() optionDisabled: string | ((item: any) => boolean) | undefined;\n /**\n * Defines a string that labels the filter input.\n * @group Props\n */\n @Input() ariaFilterLabel: string | undefined;\n /**\n * Defines placeholder of the filter input.\n * @group Props\n */\n @Input() filterPlaceHolder: string | undefined;\n /**\n * Text to display when filtering does not return any results.\n * @group Props\n */\n @Input() emptyFilterMessage: string | undefined;\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n @Input() emptyMessage: string | undefined;\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) group: boolean | undefined;\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n @Input() get options(): any[] {\n return this._options();\n }\n set options(val: any[]) {\n this._options.set(val);\n }\n /**\n * When specified, filter displays with this value.\n * @group Props\n */\n @Input() get filterValue(): string {\n return this._filterValue();\n }\n set filterValue(val: string) {\n this._filterValue.set(val);\n }\n /**\n * Whether all data is selected.\n * @group Props\n */\n @Input() get selectAll(): boolean | undefined | null {\n return this._selectAll;\n }\n set selectAll(value: boolean | undefined | null) {\n this._selectAll = value;\n }\n /**\n * Whether to displays rows with alternating colors.\n * @group Props\n * @defaultValue false\n */\n @Input({ transform: booleanAttribute }) striped: boolean | undefined = false;\n /**\n * Whether the selected option will be add highlight class.\n * @group Props\n * @defaultValue true\n */\n @Input({ transform: booleanAttribute }) highlightOnSelect: boolean = true;\n /**\n * Whether the selected option will be shown with a check mark.\n * @group Props\n * @defaultValue false\n */\n @Input({ transform: booleanAttribute }) checkmark: boolean = false;\n /**\n * Whether to enable dragdrop based reordering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dragdrop: boolean = false;\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 * Callback to invoke on value change.\n * @param {ListboxChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<ListboxChangeEvent> = new EventEmitter<ListboxChangeEvent>();\n /**\n * Callback to invoke when option is clicked.\n * @param {ListboxClickEvent} event - Custom click event.\n * @group Emits\n */\n @Output() onClick: EventEmitter<ListboxClickEvent> = new EventEmitter<ListboxClickEvent>();\n /**\n * Callback to invoke when option is double clicked.\n * @param {ListboxDoubleClickEvent} event - Custom double click event.\n * @group Emits\n */\n @Output() onDblClick: EventEmitter<ListboxDoubleClickEvent> = new EventEmitter<ListboxDoubleClickEvent>();\n /**\n * Callback to invoke when data is filtered.\n * @param {ListboxFilterEvent} event - Custom filter event.\n * @group Emits\n */\n @Output() onFilter: EventEmitter<ListboxFilterEvent> = new EventEmitter<ListboxFilterEvent>();\n /**\n * Callback to invoke when component receives focus.\n * @param {FocusEvent} event - Focus event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n /**\n * Callback to invoke when component loses focus.\n * @param {FocusEvent} event - Blur event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n /**\n * Callback to invoke when all data is selected.\n * @param {ListboxSelectAllChangeEvent} event - Custom select event.\n * @group Emits\n */\n @Output() onSelectAllChange: EventEmitter<ListboxSelectAllChangeEvent> = new EventEmitter<ListboxSelectAllChangeEvent>();\n /**\n * Emits on lazy load.\n * @param {ScrollerLazyLoadEvent} event - Scroller lazy load event.\n * @group Emits\n */\n @Output() onLazyLoad: EventEmitter<ScrollerLazyLoadEvent> = new EventEmitter<ScrollerLazyLoadEvent>();\n /**\n * Emits on item is dropped.\n * @param {CdkDragDrop<string[]>} event - Scroller lazy load event.\n * @group Emits\n */\n @Output() onDrop: EventEmitter<CdkDragDrop<string[]>> = new EventEmitter<CdkDragDrop<string[]>>();\n\n @ViewChild('headerchkbox') headerCheckboxViewChild: Nullable<ElementRef>;\n\n @ViewChild('filter') filterViewChild: Nullable<ElementRef>;\n\n @ViewChild('lastHiddenFocusableElement') lastHiddenFocusableElement: Nullable<ElementRef>;\n\n @ViewChild('firstHiddenFocusableElement') firstHiddenFocusableElement: Nullable<ElementRef>;\n\n @ViewChild('scroller') scroller: Nullable<Scroller>;\n\n @ViewChild('list') listViewChild: Nullable<ElementRef>;\n\n @ViewChild('container') containerViewChild: Nullable<ElementRef>;\n\n @ContentChild(Header) headerFacet: Nullable<TemplateRef<any>>;\n\n @ContentChild(Footer) footerFacet: Nullable<TemplateRef<any>>;\n\n /**\n * Custom item template.\n * @group Templates\n */\n @ContentChild('item', { descendants: false }) itemTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom group template.\n * @group Templates\n */\n @ContentChild('group', { descendants: false }) groupTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom header template.\n * @group Templates\n */\n @ContentChild('header', { descendants: false }) headerTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom filter template.\n * @group Templates\n */\n @ContentChild('filter', { descendants: false }) filterTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom footer template.\n * @group Templates\n */\n @ContentChild('footer', { descendants: false }) footerTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom empty filter message template.\n * @group Templates\n */\n @ContentChild('emptyfilter', { descendants: false }) emptyFilterTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n @ContentChild('empty', { descendants: false }) emptyTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom filter icon template.\n * @group Templates\n */\n @ContentChild('filtericon', { descendants: false }) filterIconTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom check icon template.\n * @group Templates\n */\n @ContentChild('checkicon', { descendants: false }) checkIconTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom checkmark icon template.\n * @group Templates\n */\n @ContentChild('checkmark', { descendants: false }) checkmarkTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom loader template.\n * @group Templates\n */\n @ContentChild('loader', { descendants: false }) loaderTemplate: TemplateRef<any> | undefined;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n _itemTemplate: TemplateRef<any> | undefined;\n\n _groupTemplate: TemplateRef<any> | undefined;\n\n _headerTemplate: TemplateRef<any> | undefined;\n\n _filterTemplate: TemplateRef<any> | undefined;\n\n _footerTemplate: TemplateRef<any> | undefined;\n\n _emptyFilterTemplate: TemplateRef<any> | undefined;\n\n _emptyTemplate: TemplateRef<any> | undefined;\n\n _filterIconTemplate: TemplateRef<any> | undefined;\n\n _checkIconTemplate: TemplateRef<any> | undefined;\n\n _checkmarkTemplate: TemplateRef<any> | undefined;\n\n _loaderTemplate: TemplateRef<any> | undefined;\n\n public _filterValue = signal<string | null | undefined>(null);\n\n public _filteredOptions: any[] | undefined | null;\n\n filterOptions: ListboxFilterOptions | undefined;\n\n public filtered: boolean | undefined | null;\n\n public value: any | undefined | null;\n\n public onModelChange: Function = () => {};\n\n public onModelTouched: Function = () => {};\n\n public optionTouched: boolean | undefined | null;\n\n public focus: boolean | undefined | null;\n\n public headerCheckboxFocus: boolean | undefined | null;\n\n translationSubscription: Nullable<Subscription>;\n\n focused: boolean | undefined;\n\n scrollerTabIndex: string = '0';\n\n _componentStyle = inject(ListBoxStyle);\n\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.id}_${this.focusedOptionIndex()}` : null;\n }\n\n get filterResultMessageText() {\n return isNotEmpty(this.visibleOptions()) ? this.filterMessageText.replaceAll('{0}', this.visibleOptions().length) : this.emptyFilterMessageText;\n }\n\n get filterMessageText() {\n return this.filterMessage || this.config.translation.searchMessage || '';\n }\n\n get searchMessageText() {\n return this.searchMessage || this.config.translation.searchMessage || '';\n }\n\n get emptyFilterMessageText() {\n return this.emptyFilterMessage || this.config.translation.emptySearchMessage || this.config.translation.emptyFilterMessage || '';\n }\n\n get selectionMessageText() {\n return this.selectionMessage || this.config.translation.selectionMessage || '';\n }\n\n get emptySelectionMessageText() {\n return this.emptySelectionMessage || this.config.translation.emptySelectionMessage || '';\n }\n\n get selectedMessageText() {\n return this.hasSelectedOption() ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.modelValue().length : '1') : this.emptySelectionMessageText;\n }\n\n get ariaSetSize() {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;\n }\n\n get virtualScrollerDisabled() {\n return !this.virtualScroll;\n }\n\n get searchFields() {\n return this.filterBy?.split(',') || this.filterFields || [this.optionLabel];\n }\n\n get toggleAllAriaLabel() {\n return this.config.translation.aria ? this.config.translation.aria[this.allSelected() ? 'selectAll' : 'unselectAll'] : undefined;\n }\n\n searchValue: string | undefined;\n\n searchTimeout: any;\n\n _selectAll: boolean | undefined | null = null;\n\n _options = signal<any>(null);\n\n startRangeIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n @HostListener('focusout', ['$event'])\n onHostFocusOut(event: FocusEvent) {\n this.onFocusout(event);\n }\n\n visibleOptions = computed(() => {\n const options = this.group ? this.flatOptions(this._options()) : this._options() || [];\n return this._filterValue() ? this.filterService.filter(options, this.searchFields, this._filterValue(), this.filterMatchMode, this.filterLocale) : options;\n });\n\n constructor(public filterService: FilterService) {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.id = this.id || uuid('pn_id_');\n this.translationSubscription = this.config.translationObserver.subscribe(() => {\n this.cd.markForCheck();\n });\n\n this.autoUpdateModel();\n\n if (this.filterBy) {\n this.filterOptions = {\n filter: (value) => this.onFilterChange(value),\n reset: () => this.resetFilter()\n };\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n\n case 'group':\n this._groupTemplate = item.template;\n break;\n\n case 'header':\n this._headerTemplate = item.template;\n break;\n\n case 'filter':\n this._filterTemplate = item.template;\n break;\n\n case 'footer':\n this._footerTemplate = item.template;\n break;\n\n case 'empty':\n this._emptyTemplate = item.template;\n break;\n\n case 'emptyfilter':\n this._emptyFilterTemplate = item.template;\n break;\n\n case 'filtericon':\n this._filterIconTemplate = item.template;\n break;\n\n case 'checkicon':\n this._checkIconTemplate = item.template;\n break;\n\n case 'checkmark':\n this._checkmarkTemplate = item.template;\n break;\n\n case 'loader':\n this._loaderTemplate = item.template;\n break;\n\n default:\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.writeModelValue(this.value);\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n\n const optionGroupChildren = this.getOptionGroupChildren(option);\n\n optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n }\n\n autoUpdateModel() {\n if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption() && !this.multiple) {\n const focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n }\n /**\n * Updates the model value.\n * @group Method\n */\n public updateModel(value, event?) {\n this.value = value;\n this.writeModelValue(value);\n this.onModelChange(value);\n\n this.onChange.emit({ originalEvent: event, value: this.value });\n }\n\n removeOption(option) {\n return this.modelValue().filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey()));\n }\n\n onOptionSelect(event, option, index = -1) {\n if (this.disabled() || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n event && this.onClick.emit({ originalEvent: event, option, value: this.value });\n this.multiple ? this.onOptionSelectMultiple(event, option) : this.onOptionSelectSingle(event, option);\n this.optionTouched = false;\n index !== -1 && this.focusedOptionIndex.set(index);\n }\n\n onOptionSelectMultiple(event, option) {\n let selected = this.isSelected(option);\n let value = null;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = event.metaKey || event.ctrlKey;\n\n if (selected) {\n value = metaKey ? this.removeOption(option) : [this.getOptionValue(option)];\n } else {\n value = metaKey ? this.modelValue() || [] : [];\n value = [...value, this.getOptionValue(option)];\n }\n } else {\n value = selected ? this.removeOption(option) : [...(this.modelValue() || []), this.getOptionValue(option)];\n }\n\n this.updateModel(value, event);\n }\n\n onOptionSelectSingle(event, option) {\n let selected = this.isSelected(option);\n let valueChanged = false;\n let value = null;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = event.metaKey || event.ctrlKey;\n\n if (selected) {\n if (metaKey) {\n value = null;\n valueChanged = true;\n }\n } else {\n value = this.getOptionValue(option);\n valueChanged = true;\n }\n } else {\n value = selected ? null : this.getOptionValue(option);\n valueChanged = true;\n }\n\n if (valueChanged) {\n this.updateModel(value, event);\n }\n }\n\n onOptionSelectRange(event, start = -1, end = -1) {\n start === -1 && (start = this.findNearestSelectedOptionIndex(end, true));\n end === -1 && (end = this.findNearestSelectedOptionIndex(start));\n\n if (start !== -1 && end !== -1) {\n const rangeStart = Math.min(start, end);\n const rangeEnd = Math.max(start, end);\n const value = this.visibleOptions()\n .slice(rangeStart, rangeEnd + 1)\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value, event);\n }\n }\n\n onToggleAll(event) {\n if (this.disabled() || this.readonly) {\n return;\n }\n focus(this.headerCheckboxViewChild.nativeElement);\n\n if (this.selectAll !== null) {\n this.onSelectAllChange.emit({\n originalEvent: event,\n checked: !this.allSelected()\n });\n } else {\n const value = this.allSelected()\n ? []\n : this.visibleOptions()\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value, event);\n this.onChange.emit({ originalEvent: event, value: this.value });\n }\n\n event.preventDefault();\n // event.stopPropagation();\n }\n\n allSelected() {\n return this.selectAll !== null ? this.selectAll : isNotEmpty(this.visibleOptions()) && this.visibleOptions().every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));\n }\n\n onOptionTouchEnd() {\n if (this.disabled()) {\n return;\n }\n\n this.optionTouched = true;\n }\n\n onOptionMouseDown(event: MouseEvent, index: number) {\n this.changeFocusedOptionIndex(event, index);\n }\n\n onOptionMouseEnter(event: MouseEvent, index: number) {\n if (this.focusOnHover && this.focused) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n onOptionDoubleClick(event: MouseEvent, option: any) {\n if (this.disabled() || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n this.onDblClick.emit({\n originalEvent: event,\n option: option,\n value: this.value\n });\n }\n\n onFirstHiddenFocus(event: FocusEvent) {\n focus(this.listViewChild?.nativeElement);\n const firstFocusableEl = getFirstFocusableElement(this.el.nativeElement, ':not([data-p-hidden-focusable=\"true\"])');\n this.lastHiddenFocusableElement.nativeElement.tabIndex = isEmpty(firstFocusableEl) ? '-1' : undefined;\n this.firstHiddenFocusableElement.nativeElement.tabIndex = -1;\n }\n\n onLastHiddenFocus(event: FocusEvent) {\n const relatedTarget = event.relatedTarget;\n\n if (relatedTarget === this.listViewChild?.nativeElement) {\n const firstFocusableEl = <any>getFirstFocusableElement(this.el.nativeElement, ':not(.p-hidden-focusable)');\n\n focus(firstFocusableEl);\n this.firstHiddenFocusableElement.nativeElement.tabIndex = undefined;\n } else {\n focus(this.firstHiddenFocusableElement.nativeElement);\n }\n this.lastHiddenFocusableElement.nativeElement.tabIndex = -1;\n }\n\n onFocusout(event: FocusEvent) {\n if (!this.el.nativeElement.contains(event.relatedTarget) && this.lastHiddenFocusableElement && this.firstHiddenFocusableElement) {\n this.firstHiddenFocusableElement.nativeElement.tabIndex = this.lastHiddenFocusableElement.nativeElement.tabIndex = undefined;\n this.scrollerTabIndex = '0';\n }\n }\n\n onListFocus(event: FocusEvent) {\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex();\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.scrollInView(focusedOptionIndex);\n this.onFocus.emit(event);\n\n this.scrollerTabIndex = '-1';\n }\n\n onListBlur(event: FocusEvent) {\n this.focused = false;\n this.focusedOptionIndex.set(-1);\n this.startRangeIndex.set(-1);\n this.searchValue = '';\n this.onBlur.emit(event);\n }\n\n onHeaderCheckboxFocus(event) {\n this.headerCheckboxFocus = true;\n }\n\n onHeaderCheckboxBlur() {\n this.headerCheckboxFocus = false;\n }\n\n onHeaderCheckboxKeyDown(event) {\n if (this.disabled()) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'Space':\n this.onToggleAll(event);\n break;\n case 'Enter':\n this.onToggleAll(event);\n break;\n case 'Tab':\n this.onHeaderCheckboxTabKeyDown(event);\n break;\n default:\n break;\n }\n }\n\n onHeaderCheckboxTabKeyDown(event) {\n focus(this.listViewChild?.nativeElement);\n event.preventDefault();\n }\n\n onFilterChange(event: Event) {\n let value: string = (event.target as HTMLInputElement).value?.trim();\n this._filterValue.set(value);\n this.focusedOptionIndex.set(-1);\n this.startRangeIndex.set(-1);\n this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });\n\n !this.virtualScrollerDisabled && this.scroller.scrollToIndex(0);\n }\n\n onFilterBlur(event: FocusEvent) {\n this.focusedOptionIndex.set(-1);\n this.startRangeIndex.set(-1);\n }\n\n onListKeyDown(event: KeyboardEvent) {\n const metaKey = event.metaKey || event.ctrlKey;\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'Space':\n case 'NumpadEnter':\n this.onSpaceKey(event);\n break;\n\n case 'Tab':\n //NOOP\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n this.onShiftKey();\n break;\n\n default:\n if (this.multiple && event.code === 'KeyA' && metaKey) {\n const value = this.visibleOptions()\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value, event);\n\n event.preventDefault();\n break;\n }\n\n if (!metaKey && isPrintableCharacter(event.key)) {\n this.searchOptions(event, event.key);\n event.preventDefault();\n }\n\n break;\n }\n }\n\n onFilterKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, true);\n break;\n\n case 'Home':\n this.onHomeKey(event, true);\n break;\n\n case 'End':\n this.onEndKey(event, true);\n break;\n\n case 'Enter':\n this.onEnterKey(event);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n this.onShiftKey();\n break;\n\n default:\n break;\n }\n }\n\n onArrowDownKey(event: KeyboardEvent) {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n\n if (this.multiple && event.shiftKey) {\n this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n }\n\n onArrowUpKey(event: KeyboardEvent) {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();\n\n if (this.multiple && event.shiftKey) {\n this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n }\n\n onArrowLeftKey(event: KeyboardEvent, pressedInInputText = false) {\n pressedInInputText && this.focusedOptionIndex.set(-1);\n }\n\n onHomeKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (pressedInInputText) {\n (event.currentTarget as HTMLInputElement).setSelectionRange(0, 0);\n this.focusedOptionIndex.set(-1);\n } else {\n let metaKey = event.metaKey || event.ctrlKey;\n let optionIndex = this.findFirstOptionIndex();\n\n if (this.multiple && event.shiftKey && metaKey) {\n this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n event.preventDefault();\n }\n\n onEndKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (pressedInInputText) {\n const target = event.currentTarget as HTMLInputElement;\n const len = target.value.length;\n\n target.setSelectionRange(len, len);\n this.focusedOptionIndex.set(-1);\n } else {\n let metaKey = event.metaKey || event.ctrlKey;\n let optionIndex = this.findLastOptionIndex();\n\n if (this.multiple && event.shiftKey && metaKey) {\n this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n event.preventDefault();\n }\n\n onPageDownKey(event: KeyboardEvent) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onPageUpKey(event: KeyboardEvent) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onEnterKey(event) {\n if (this.focusedOptionIndex() !== -1) {\n if (this.multiple && event.shiftKey) this.onOptionSelectRange(event, this.focusedOptionIndex());\n else this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n event.preventDefault();\n }\n\n onSpaceKey(event: KeyboardEvent) {\n this.onEnterKey(event);\n }\n\n onShiftKey() {\n const focusedOptionIndex = this.focusedOptionIndex();\n this.startRangeIndex.set(focusedOptionIndex);\n }\n\n getOptionGroupChildren(optionGroup) {\n return this.optionGroupChildren ? resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel ? resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option.label != undefined ? option.label : option;\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : !this.optionLabel && option && option.value !== undefined ? option.value : option;\n }\n\n getAriaPosInset(index: number) {\n return (\n (this.optionGroupLabel\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n hasSelectedOption() {\n return isNotEmpty(this.modelValue());\n }\n\n isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus && !this.multiple) {\n this.onOptionSelect(event, this.visibleOptions()[index]);\n }\n }\n }\n\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n\n if (this.focusedOptionIndex() !== -1) {\n optionIndex = this.visibleOptions()\n .slice(this.focusedOptionIndex())\n .findIndex((option) => this.isOptionMatched(option));\n optionIndex =\n optionIndex === -1\n ? this.visibleOptions()\n .slice(0, this.focusedOptionIndex())\n .findIndex((option) => this.isOptionMatched(option))\n : optionIndex + this.focusedOptionIndex();\n } else {\n optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));\n }\n\n if (optionIndex !== -1) {\n matched = true;\n }\n\n if (optionIndex === -1 && this.focusedOptionIndex() === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (optionIndex !== -1) {\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = '';\n this.searchTimeout = null;\n }, 500);\n\n return matched;\n }\n\n isOptionMatched(option) {\n return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;\n const element = findSingle(this.listViewChild?.nativeElement, `li[id=\"${id}\"]`);\n\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n this.virtualScroll && this.scroller.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findFirstSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findLastSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findLastSelectedOptionIndex() {\n return this.hasSelectedOption() ? findLastIndex(this.visibleOptions(), (option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextOptionIndex(index) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findNextSelectedOptionIndex(index) {\n const matchedOptionIndex =\n this.hasSelectedOption() && index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidSelectedOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;\n }\n\n findPrevSelectedOptionIndex(index) {\n const matchedOptionIndex = this.hasSelectedOption() && index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidSelectedOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : -1;\n }\n\n findFirstSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n findSelectedOptionIndex() {\n if (this.$filled) {\n if (this.multiple) {\n for (let index = this.modelValue().length - 1; index >= 0; index--) {\n const value = this.modelValue()[index];\n const matchedOptionIndex = this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option) && this.isEquals(value, this.getOptionValue(option)));\n\n if (matchedOptionIndex > -1) return matchedOptionIndex;\n }\n } else {\n return this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option));\n }\n }\n\n return -1;\n }\n\n findNearestSelectedOptionIndex(index, firstCheckUp = false) {\n let matchedOptionIndex = -1;\n\n if (this.hasSelectedOption()) {\n if (firstCheckUp) {\n matchedOptionIndex = this.findPrevSelectedOptionIndex(index);\n matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index) : matchedOptionIndex;\n } else {\n matchedOptionIndex = this.findNextSelectedOptionIndex(index);\n matchedOptionIndex = matchedOptionIndex === -1 ? this.findPrevSelectedOptionIndex(index) : matchedOptionIndex;\n }\n }\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isOptionDisabled(option: any) {\n if (isFunction(this.optionDisabled)) {\n return this.optionDisabled(option);\n }\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n }\n\n isEquals(value1, value2) {\n return equals(value1, value2, this.equalityKey());\n }\n\n isSelected(option) {\n const optionValue = this.getOptionValue(option);\n\n if (this.multiple) return (this.modelValue() || []).some((value) => this.isEquals(value, optionValue));\n else return this.isEquals(this.modelValue(), optionValue);\n }\n\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isEmpty() {\n return !this._options()?.length || !this.visibleOptions()?.length;\n }\n\n hasFilter() {\n return this._filterValue() && this._filterValue().trim().length > 0;\n }\n\n resetFilter() {\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.filterViewChild.nativeElement.value = '';\n }\n\n this._filterValue.set(null);\n }\n\n drop(event: CdkDragDrop<string[]>) {\n if (event) {\n this.onDrop.emit(event);\n }\n }\n\n ngOnDestroy() {\n if (this.translationSubscription) {\n this.translationSubscription.unsubscribe();\n }\n\n super.ngOnDestroy();\n }\n}\n\n@NgModule({\n imports: [Listbox, SharedModule],\n exports: [Listbox, SharedModule]\n})\nexport class ListboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|