@wawjs/ngx-prime 22.0.5 → 22.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/wawjs-ngx-prime-accordion.mjs +68 -210
- package/fesm2022/wawjs-ngx-prime-accordion.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-animateonscroll.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-animateonscroll.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-api.mjs +31 -31
- package/fesm2022/wawjs-ngx-prime-api.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-autocomplete.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-autocomplete.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-autofocus.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-autofocus.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-avatar.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-avatar.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-avatargroup.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-avatargroup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-badge.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-badge.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-base.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-base.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-basecomponent.mjs +6 -6
- package/fesm2022/wawjs-ngx-prime-basecomponent.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-baseeditableholder.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-baseeditableholder.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-baseinput.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-baseinput.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-basemodelholder.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-basemodelholder.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-bind.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-bind.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-blockui.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-blockui.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-breadcrumb.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-breadcrumb.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-button.mjs +19 -19
- package/fesm2022/wawjs-ngx-prime-button.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-buttongroup.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-buttongroup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-buylicense.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-buylicense.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-card.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-card.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-carousel.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-carousel.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-cascadeselect.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-cascadeselect.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-chart.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-chart.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-checkbox.mjs +19 -19
- package/fesm2022/wawjs-ngx-prime-checkbox.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-chip.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-chip.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-classnames.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-classnames.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-colorpicker.mjs +16 -16
- package/fesm2022/wawjs-ngx-prime-colorpicker.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-config.mjs +9 -9
- package/fesm2022/wawjs-ngx-prime-config.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-confirmdialog.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-confirmdialog.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-contextmenu.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-contextmenu.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-dataview.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-dataview.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-datepicker.mjs +16 -16
- package/fesm2022/wawjs-ngx-prime-datepicker.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-dialog.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-dialog.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-divider.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-divider.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-dock.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-dock.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-dom.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-dragdrop.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-dragdrop.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-drawer.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-drawer.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-dynamicdialog.mjs +16 -16
- package/fesm2022/wawjs-ngx-prime-dynamicdialog.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-editor.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-editor.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-fieldset.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-fieldset.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-fileupload.mjs +34 -34
- package/fesm2022/wawjs-ngx-prime-fileupload.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-floatlabel.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-floatlabel.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-fluid.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-fluid.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-focustrap.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-focustrap.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-galleria.mjs +22 -22
- package/fesm2022/wawjs-ngx-prime-galleria.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icon.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-icon.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-iconfield.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-iconfield.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angledoubledown.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angledoubledown.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angledoubleleft.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angledoubleleft.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angledoubleright.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angledoubleright.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angledoubleup.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angledoubleup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angledown.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angledown.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angleleft.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angleleft.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angleright.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angleright.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angleup.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angleup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-arrowdown.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-arrowdown.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-arrowdownleft.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-arrowdownright.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-arrowdownright.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-arrowleft.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-arrowleft.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-arrowright.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-arrowright.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-arrowup.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-arrowup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-ban.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-ban.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-bars.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-bars.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-baseicon.mjs +6 -6
- package/fesm2022/wawjs-ngx-prime-icons-baseicon.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-blank.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-blank.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-calendar.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-calendar.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-caretleft.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-caretleft.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-caretright.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-caretright.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-check.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-check.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-chevrondown.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-chevrondown.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-chevronleft.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-chevronleft.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-chevronright.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-chevronright.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-chevronup.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-chevronup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-exclamationtriangle.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-eye.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-eye.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-eyeslash.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-eyeslash.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-filter.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-filter.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-filterfill.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-filterfill.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-filterslash.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-filterslash.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-home.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-home.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-infocircle.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-infocircle.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-minus.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-minus.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-pencil.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-pencil.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-plus.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-plus.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-refresh.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-refresh.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-search.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-search.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-searchminus.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-searchminus.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-searchplus.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-searchplus.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-sortalt.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-sortalt.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-sortamountdown.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-sortamountdown.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-sortamountupalt.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-spinner.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-spinner.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-star.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-star.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-starfill.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-starfill.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-thlarge.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-thlarge.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-times.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-times.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-timescircle.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-timescircle.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-trash.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-trash.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-undo.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-undo.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-upload.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-upload.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-windowmaximize.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-windowmaximize.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-windowminimize.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-windowminimize.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-iftalabel.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-iftalabel.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-image.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-image.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-imagecompare.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-imagecompare.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inplace.mjs +16 -16
- package/fesm2022/wawjs-ngx-prime-inplace.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputgroup.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-inputgroup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputgroupaddon.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputicon.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-inputicon.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputmask.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-inputmask.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputnumber.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-inputnumber.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputotp.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-inputotp.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputtext.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-inputtext.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-keyfilter.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-keyfilter.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-knob.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-knob.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-link.mjs +6 -6
- package/fesm2022/wawjs-ngx-prime-link.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-listbox.mjs +340 -122
- package/fesm2022/wawjs-ngx-prime-listbox.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-megamenu.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-megamenu.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-menu.mjs +93 -132
- package/fesm2022/wawjs-ngx-prime-menu.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-menubar.mjs +16 -16
- package/fesm2022/wawjs-ngx-prime-menubar.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-message.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-message.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-metergroup.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-metergroup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-motion.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-motion.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-multiselect.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-multiselect.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-orderlist.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-orderlist.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-organizationchart.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-organizationchart.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-overlay.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-overlay.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-overlaybadge.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-overlaybadge.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-paginator.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-paginator.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-panel.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-panel.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-panelmenu.mjs +16 -16
- package/fesm2022/wawjs-ngx-prime-panelmenu.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-passthrough.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-password.mjs +22 -22
- package/fesm2022/wawjs-ngx-prime-password.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-picklist.mjs +14 -14
- package/fesm2022/wawjs-ngx-prime-picklist.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-popover.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-popover.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-progressbar.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-progressbar.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-progressspinner.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-progressspinner.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-radiobutton.mjs +16 -16
- package/fesm2022/wawjs-ngx-prime-radiobutton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-rating.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-rating.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-ripple.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-ripple.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-scroller.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-scroller.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-scrollpanel.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-scrollpanel.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-scrolltop.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-scrolltop.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-select.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-select.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-selectbutton.mjs +63 -68
- package/fesm2022/wawjs-ngx-prime-selectbutton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-skeleton.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-skeleton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-slider.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-slider.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-speeddial.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-speeddial.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-splitbutton.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-splitbutton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-splitter.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-splitter.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-stepper.mjs +43 -43
- package/fesm2022/wawjs-ngx-prime-stepper.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-steps.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-steps.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-styleclass.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-styleclass.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-table.mjs +85 -85
- package/fesm2022/wawjs-ngx-prime-table.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-tabs.mjs +74 -185
- package/fesm2022/wawjs-ngx-prime-tabs.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-tag.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-tag.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-terminal.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-terminal.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-textarea.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-textarea.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-tieredmenu.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-tieredmenu.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-timeline.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-timeline.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-toast.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-toast.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-togglebutton.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-togglebutton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-toolbar.mjs +15 -14
- package/fesm2022/wawjs-ngx-prime-toolbar.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-tooltip.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-tooltip.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-tree.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-tree.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-treeselect.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-treeselect.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-treetable.mjs +58 -58
- package/fesm2022/wawjs-ngx-prime-treetable.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-usestyle.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-usestyle.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-utils.mjs +19 -2
- package/fesm2022/wawjs-ngx-prime-utils.mjs.map +1 -1
- package/package.json +8 -8
- package/types/wawjs-ngx-prime-accordion.d.ts +31 -43
- package/types/wawjs-ngx-prime-listbox.d.ts +15 -0
- package/types/wawjs-ngx-prime-menu.d.ts +10 -11
- package/types/wawjs-ngx-prime-selectbutton.d.ts +19 -6
- package/types/wawjs-ngx-prime-tabs.d.ts +16 -42
- package/types/wawjs-ngx-prime-toolbar.d.ts +4 -3
- package/types/wawjs-ngx-prime-utils.d.ts +14 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wawjs-ngx-prime-listbox.mjs","sources":["../../src/listbox/style/listboxstyle.ts","../../src/listbox/listbox.ts","../../src/listbox/wawjs-ngx-prime-listbox.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style as listbox_style } from '@wawjs/css-prime-styles/listbox';\nimport { BaseStyle } from '@wawjs/ngx-prime/base';\n\nconst style = /*css*/ `\n ${listbox_style}\n\n /* For ngx-prime */\n .p-listbox.ng-invalid.ng-dirty {\n border-color: dt('listbox.invalid.border.color');\n }\n\n .p-listbox-header {\n display: flex;\n align-items: center;\n }\n\n .p-listbox-header > .p-iconfield {\n flex-grow: 1;\n }\n\n .p-listbox-list-container {\n height: 100%;\n }\n\n /* CDK Drag & Drop styles */\n .p-listbox-option.cdk-drag-preview {\n background: dt('listbox.background');\n }\n\n .p-listbox-dragging .p-listbox-option:not(.cdk-drag-preview) {\n pointer-events: none !important;\n }\n\n .p-listbox-dragging .p-listbox-option:not(.cdk-drag-preview):hover {\n background: inherit !important;\n color: inherit !important;\n }\n\n .cdk-drag-placeholder {\n pointer-events: none;\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 'p-listbox-dragging': instance.isDragging()\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 style = style;\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.ngx-prime.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 type ListboxStyle = BaseStyle;\n","import { CDK_DRAG_CONFIG, CdkDragDrop, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n effect,\n ElementRef,\n InjectionToken,\n NgModule,\n output,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n input,\n numberAttribute,\n signal,\n viewChild,\n contentChild,\n contentChildren\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { equals, findLastIndex, findSingle, focus, getFirstFocusableElement, isEmpty, isFunction, isNotEmpty, isPrintableCharacter, resolveFieldData, uuid } from '@wawjs/css-prime-utils';\nimport { FilterService, Footer, Header, PrimeTemplate, ScrollerOptions, SharedModule } from '@wawjs/ngx-prime/api';\nimport { PARENT_INSTANCE } from '@wawjs/ngx-prime/basecomponent';\nimport { BaseEditableHolder } from '@wawjs/ngx-prime/baseeditableholder';\nimport { Bind, BindModule } from '@wawjs/ngx-prime/bind';\nimport { Checkbox } from '@wawjs/ngx-prime/checkbox';\nimport { IconField } from '@wawjs/ngx-prime/iconfield';\nimport { BlankIcon, CheckIcon, SearchIcon } from '@wawjs/ngx-prime/icons';\nimport { InputIcon } from '@wawjs/ngx-prime/inputicon';\nimport { InputText } from '@wawjs/ngx-prime/inputtext';\nimport { Ripple } from '@wawjs/ngx-prime/ripple';\nimport { Scroller, ScrollerLazyLoadEvent } from '@wawjs/ngx-prime/scroller';\nimport { Nullable } from '@wawjs/ngx-prime/ts-helpers';\nimport {\n ListBoxPassThrough,\n ListboxChangeEvent,\n ListboxCheckIconTemplateContext,\n ListboxCheckmarkTemplateContext,\n ListboxClickEvent,\n ListboxDoubleClickEvent,\n ListboxFilterEvent,\n ListboxFilterOptions,\n ListboxFilterTemplateContext,\n ListboxFooterTemplateContext,\n ListboxGroupTemplateContext,\n ListboxHeaderTemplateContext,\n ListboxItemTemplateContext,\n ListboxLoaderTemplateContext,\n ListboxSelectAllChangeEvent\n} from '@wawjs/ngx-prime/types/listbox';\nimport { Subscription } from 'rxjs';\nimport { ListBoxStyle } from './style/listboxstyle';\n\nconst LISTBOX_INSTANCE = new InjectionToken<Listbox>('LISTBOX_INSTANCE');\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, BindModule],\n template: `\n <span\n #firstHiddenFocusableElement\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [tabindex]=\"!$disabled() ? tabindex() : -1\"\n (focus)=\"onFirstHiddenFocus()\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('hiddenFirstFocusableElement')\"\n >\n </span>\n @if (headerFacet() || headerTemplate || _headerTemplate) {\n <div [class]=\"cx('header')\" [pBind]=\"ptm('header')\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate; context: { $implicit: modelValue(), options: visibleOptions() }\"></ng-container>\n </div>\n }\n @if ((checkbox() && multiple() && showToggleAll()) || filter()) {\n <div [class]=\"cx('header')\" [pBind]=\"ptm('header')\">\n @if (checkbox() && multiple() && showToggleAll()) {\n <p-checkbox\n #headerchkbox\n (onChange)=\"onToggleAll($event)\"\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 [attr.aria-label]=\"toggleAllAriaLabel\"\n [pt]=\"ptm('pcCheckbox')\"\n [unstyled]=\"unstyled()\"\n >\n @if (checkIconTemplate || _checkIconTemplate) {\n <ng-template #icon>\n <ng-template *ngTemplateOutlet=\"checkIconTemplate || _checkIconTemplate; context: { $implicit: allSelected() }\"></ng-template>\n </ng-template>\n }\n </p-checkbox>\n }\n @if (filterTemplate || _filterTemplate) {\n <ng-container *ngTemplateOutlet=\"filterTemplate || _filterTemplate; context: { options: filterOptions }\"></ng-container>\n } @else {\n @if (filter()) {\n <p-iconfield [pt]=\"ptm('pcFilterContainer')\" hostName=\"listbox\" [unstyled]=\"unstyled()\">\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 [pt]=\"ptm('pcFilter')\"\n [unstyled]=\"unstyled()\"\n hostName=\"listbox\"\n />\n <p-inputicon [pt]=\"ptm('pcFilterIconContainer')\" [unstyled]=\"unstyled()\">\n @if (!filterIconTemplate && !_filterIconTemplate) {\n <svg data-p-icon=\"search\" [attr.aria-hidden]=\"true\" [pBind]=\"ptm('filterIcon')\" />\n }\n @if (filterIconTemplate || _filterIconTemplate) {\n <span [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate || _filterIconTemplate\"></ng-template>\n </span>\n }\n </p-inputicon>\n </p-iconfield>\n }\n <span role=\"status\" [pBind]=\"ptm('hiddenFilterResult')\" [attr.aria-live]=\"'polite'\" class=\"p-hidden-accessible\" [attr.data-p-hidden-accessible]=\"true\">\n {{ filterResultMessageText }}\n </span>\n }\n </div>\n }\n <div\n #container\n [class]=\"cn(cx('listContainer'), listStyleClass())\"\n [ngStyle]=\"listStyle()\"\n [style.max-height]=\"virtualScroll() ? 'auto' : scrollHeight() || 'auto'\"\n cdkDropList\n [cdkDropListData]=\"cdkDropData()\"\n (cdkDropListDropped)=\"drop($event)\"\n (cdkDropListEntered)=\"onDragEntered()\"\n (cdkDropListExited)=\"onDragExited()\"\n [pBind]=\"ptm('listContainer')\"\n >\n @if (hasFilter() && isEmpty()) {\n <div [class]=\"cx('emptyMessage')\" [pBind]=\"ptm('emptyMessage')\">\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')\" [pBind]=\"ptm('emptyMessage')\">\n @if (!emptyTemplate() && !_emptyTemplate) {\n () {{ emptyMessage }}\n } @else {\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate() || _emptyTemplate\"></ng-container>\n }\n </div>\n } @else {\n @if (virtualScroll()) {\n <p-scroller\n [pt]=\"ptm('virtualScroller')\"\n hostName=\"listbox\"\n #scroller\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 }\n @if (!virtualScroll()) {\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: visibleOptions(), options: {} }\"></ng-container>\n }\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul\n #list\n [id]=\"resolvedId + '_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 [pBind]=\"ptm('list')\"\n >\n @for (option of items; track option; let i = $index) {\n @if (isOptionGroup(option)) {\n <li\n [attr.id]=\"resolvedId + '_' + getOptionIndex(i, scrollerOptions)\"\n [class]=\"cx('optionGroup')\"\n [pBind]=\"getPTOptions(option.optionGroup, scrollerOptions, i, 'optionGroup')\"\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n role=\"option\"\n cdkDrag\n [cdkDragData]=\"option\"\n [cdkDragDisabled]=\"!dragdrop()\"\n (cdkDragStarted)=\"isDragging.set(true)\"\n (cdkDragEnded)=\"isDragging.set(false)\"\n >\n @if (!groupTemplate() && !_groupTemplate) {\n <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"groupTemplate() || _groupTemplate; context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n }\n @if (!isOptionGroup(option)) {\n <li\n pRipple\n [class]=\"cx('option', { option, i, scrollerOptions })\"\n role=\"option\"\n [attr.id]=\"resolvedId + '_' + 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-p-selected]=\"isSelected(option)\"\n [attr.data-p-focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [attr.data-p-disabled]=\"isOptionDisabled(option)\"\n [pBind]=\"getPTOptions(option, scrollerOptions, i, '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 (cdkDragStarted)=\"isDragging.set(true)\"\n (cdkDragEnded)=\"isDragging.set(false)\"\n >\n @if (checkbox() && multiple()) {\n <p-checkbox\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 [pt]=\"ptm('pcCheckbox')\"\n hostName=\"listbox\"\n [unstyled]=\"unstyled()\"\n >\n @if (checkIconTemplate || _checkIconTemplate) {\n <ng-template #icon>\n <ng-template *ngTemplateOutlet=\"checkIconTemplate || _checkIconTemplate; context: { $implicit: isSelected(option) }\"></ng-template>\n </ng-template>\n }\n </p-checkbox>\n }\n @if (checkmark()) {\n <ng-container>\n @if (!checkmarkTemplate() && !_checkmarkTemplate) {\n <ng-container>\n @if (!isSelected(option)) {\n <svg data-p-icon=\"blank\" [class]=\"cx('optionBlankIcon')\" [pBind]=\"ptm('optionBlankIcon')\" />\n }\n @if (isSelected(option)) {\n <svg data-p-icon=\"check\" [class]=\"cx('optionCheckIcon')\" [pBind]=\"ptm('optionCheckIcon')\" />\n }\n </ng-container>\n }\n <ng-container *ngTemplateOutlet=\"checkmarkTemplate() || _checkmarkTemplate; context: { implicit: isSelected(option) }\"></ng-container>\n </ng-container>\n }\n @if (!itemTemplate() && !_itemTemplate) {\n <span>{{ getOptionLabel(option) }}</span>\n }\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 }\n }\n </ul>\n </ng-template>\n }\n </div>\n @if (footerFacet() || footerTemplate || _footerTemplate) {\n <div>\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate || _footerTemplate; context: { $implicit: modelValue(), options: visibleOptions() }\"></ng-container>\n </div>\n }\n @if (isEmpty()) {\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" [pBind]=\"ptm('hiddenEmptyMessage')\"> () {{ emptyMessage }} </span>\n }\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" [pBind]=\"ptm('hiddenSelectedMessage')\">\n {{ selectedMessageText }}\n </span>\n <span\n #lastHiddenFocusableElement\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [tabindex]=\"!$disabled() ? tabindex() : -1\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('hiddenLastFocusableEl')\"\n >\n </span>\n `,\n providers: [\n LISTBOX_VALUE_ACCESSOR,\n ListBoxStyle,\n {\n provide: CDK_DRAG_CONFIG,\n useValue: {\n zIndex: 1200\n }\n },\n { provide: LISTBOX_INSTANCE, useExisting: Listbox },\n { provide: PARENT_INSTANCE, useExisting: Listbox }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.id]': 'resolvedId',\n '[class]': \"cn(cx('root'), styleClass())\",\n '[attr.data-p]': 'containerDataP',\n '(focusout)': 'onHostFocusOut($event)'\n },\n hostDirectives: [Bind]\n})\nexport class Listbox extends BaseEditableHolder<ListBoxPassThrough> {\n filterService = inject(FilterService);\n\n componentName = 'Listbox';\n\n readonly hostName = input<any>('');\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pcListbox: Listbox | undefined = inject(LISTBOX_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n /**\n * Unique identifier of the component.\n * @group Props\n */\n readonly id = input<string>();\n\n private _generatedId: string | undefined;\n\n get resolvedId(): string {\n return this.id() || (this._generatedId ??= uuid('pn_id_'));\n }\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 readonly searchMessage = input<string>();\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 readonly emptySelectionMessage = input<string>();\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 readonly selectionMessage = input<string>();\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n readonly autoOptionFocus = input<boolean | undefined, unknown>(true, { transform: booleanAttribute });\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n readonly ariaLabel = input<string>();\n /**\n * When enabled, the focused option is selected.\n * @group Props\n */\n readonly selectOnFocus = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n readonly searchLocale = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * When enabled, the hovered option will be focused.\n * @group Props\n */\n readonly focusOnHover = input<boolean | undefined, unknown>(true, { transform: booleanAttribute });\n /**\n * Text to display when filtering.\n * @group Props\n */\n readonly filterMessage = input<string>();\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n readonly filterFields = input<any[]>();\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n readonly lazy = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n readonly virtualScroll = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n readonly virtualScrollItemSize = input<number, unknown>(undefined, { transform: numberAttribute });\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n readonly virtualScrollOptions = input<ScrollerOptions>();\n /**\n * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n readonly scrollHeight = input<string>('14rem');\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n readonly tabindex = input<number | undefined, unknown>(0, { transform: numberAttribute });\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n readonly multiple = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Style class of the container.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n readonly styleClass = input<string>();\n /**\n * Inline style of the list element.\n * @group Props\n */\n readonly listStyle = input<{\n [klass: string]: any;\n } | null>();\n /**\n * Style class of the list element.\n * @group Props\n */\n readonly listStyleClass = input<string>();\n /**\n * When present, it specifies that the element value cannot be changed.\n * @group Props\n */\n readonly readonly = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * When specified, allows selecting items with checkboxes.\n * @group Props\n */\n readonly checkbox = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * When specified, displays a filter input at header.\n * @group Props\n */\n readonly filter = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n readonly filterBy = input<string>();\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n readonly filterMatchMode = input<'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 readonly filterLocale = input<string>();\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 readonly metaKeySelection = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n readonly dataKey = input<string>();\n /**\n * Whether header checkbox is shown in multiple mode.\n * @group Props\n */\n readonly showToggleAll = input<boolean, unknown>(true, { transform: booleanAttribute });\n /**\n * Name of the label field of an option.\n * @group Props\n */\n readonly optionLabel = input<string>();\n /**\n * Name of the value field of an option.\n * @group Props\n */\n readonly optionValue = input<string>();\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n readonly optionGroupChildren = input<string | undefined>('items');\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n readonly optionGroupLabel = input<string | undefined>('label');\n /**\n * Name of the disabled field of an option or function to determine disabled state.\n * @group Props\n */\n readonly optionDisabled = input<string | ((item: any) => boolean)>();\n /**\n * Defines a string that labels the filter input.\n * @group Props\n */\n readonly ariaFilterLabel = input<string>();\n /**\n * Defines placeholder of the filter input.\n * @group Props\n */\n readonly filterPlaceHolder = input<string>();\n /**\n * Text to display when filtering does not return any results.\n * @group Props\n */\n readonly emptyFilterMessage = input<string>();\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n readonly emptyMessage = input<string>();\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n readonly group = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n readonly options = input<any[]>();\n /**\n * When specified, filter displays with this value.\n * @group Props\n */\n readonly filterValue = input<string>();\n /**\n * Whether all data is selected.\n * @group Props\n */\n readonly selectAll = input<boolean | undefined | null>();\n /**\n * Whether to displays rows with alternating colors.\n * @group Props\n * @defaultValue false\n */\n readonly striped = input<boolean | undefined, unknown>(false, { transform: booleanAttribute });\n /**\n * Whether the selected option will be add highlight class.\n * @group Props\n * @defaultValue true\n */\n readonly highlightOnSelect = input<boolean, unknown>(true, { transform: booleanAttribute });\n /**\n * Whether the selected option will be shown with a check mark.\n * @group Props\n * @defaultValue false\n */\n readonly checkmark = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Whether to enable dragdrop based reordering.\n * @group Props\n */\n readonly dragdrop = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Array to use for CDK drop list data binding. When not provided, uses options array.\n * @group Props\n */\n readonly dropListData = input<any[]>();\n\n /**\n * Computed property for stable CDK drop list data reference\n */\n cdkDropData = computed(() => this.dropListData() || this._options());\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 onChange = output<ListboxChangeEvent>();\n /**\n * Callback to invoke when option is clicked.\n * @param {ListboxClickEvent} event - Custom click event.\n * @group Emits\n */\n onClick = output<ListboxClickEvent>();\n /**\n * Callback to invoke when option is double clicked.\n * @param {ListboxDoubleClickEvent} event - Custom double click event.\n * @group Emits\n */\n onDblClick = output<ListboxDoubleClickEvent>();\n /**\n * Callback to invoke when data is filtered.\n * @param {ListboxFilterEvent} event - Custom filter event.\n * @group Emits\n */\n onFilter = output<ListboxFilterEvent>();\n /**\n * Callback to invoke when component receives focus.\n * @param {FocusEvent} event - Focus event.\n * @group Emits\n */\n onFocus = output<FocusEvent>();\n /**\n * Callback to invoke when component loses focus.\n * @param {FocusEvent} event - Blur event.\n * @group Emits\n */\n onBlur = output<FocusEvent>();\n /**\n * Callback to invoke when all data is selected.\n * @param {ListboxSelectAllChangeEvent} event - Custom select event.\n * @group Emits\n */\n onSelectAllChange = output<ListboxSelectAllChangeEvent>();\n /**\n * Emits on lazy load.\n * @param {ScrollerLazyLoadEvent} event - Scroller lazy load event.\n * @group Emits\n */\n onLazyLoad = output<ScrollerLazyLoadEvent>();\n /**\n * Emits on item is dropped.\n * @param {CdkDragDrop<string[]>} event - Scroller lazy load event.\n * @group Emits\n */\n onDrop = output<CdkDragDrop<string[]>>();\n\n readonly headerCheckboxViewChild = viewChild<Nullable<ElementRef>>('headerchkbox');\n\n readonly filterViewChild = viewChild<Nullable<ElementRef>>('filter');\n\n readonly lastHiddenFocusableElement = viewChild<Nullable<ElementRef>>('lastHiddenFocusableElement');\n\n readonly firstHiddenFocusableElement = viewChild<Nullable<ElementRef>>('firstHiddenFocusableElement');\n\n readonly scroller = viewChild<Nullable<Scroller>>('scroller');\n\n readonly listViewChild = viewChild<Nullable<ElementRef>>('list');\n\n readonly containerViewChild = viewChild<Nullable<ElementRef>>('container');\n\n readonly headerFacet = contentChild(Header);\n\n readonly footerFacet = contentChild(Footer);\n\n /**\n * Custom item template.\n * @param {ListboxItemTemplateContext} context - item context.\n * @see {@link ListboxItemTemplateContext}\n * @group Templates\n */\n readonly itemTemplate = contentChild<TemplateRef<ListboxItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom group template.\n * @param {ListboxGroupTemplateContext} context - group context.\n * @see {@link ListboxGroupTemplateContext}\n * @group Templates\n */\n readonly groupTemplate = contentChild<TemplateRef<ListboxGroupTemplateContext>>('group', { descendants: false });\n\n /**\n * Custom header template.\n * @param {ListboxHeaderTemplateContext} context - header context.\n * @see {@link ListboxHeaderTemplateContext}\n * @group Templates\n */\n @ContentChild('header', { descendants: false }) headerTemplate: TemplateRef<ListboxHeaderTemplateContext> | undefined;\n\n /**\n * Custom filter template.\n * @param {ListboxFilterTemplateContext} context - filter context.\n * @see {@link ListboxFilterTemplateContext}\n * @group Templates\n */\n @ContentChild('filter', { descendants: false }) filterTemplate: TemplateRef<ListboxFilterTemplateContext> | undefined;\n\n /**\n * Custom footer template.\n * @param {ListboxFooterTemplateContext} context - footer context.\n * @see {@link ListboxFooterTemplateContext}\n * @group Templates\n */\n @ContentChild('footer', { descendants: false }) footerTemplate: TemplateRef<ListboxFooterTemplateContext> | undefined;\n\n /**\n * Custom empty filter message template.\n * @group Templates\n */\n readonly emptyFilterTemplate = contentChild<TemplateRef<void>>('emptyfilter', { descendants: false });\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n readonly emptyTemplate = contentChild<TemplateRef<void>>('empty', { descendants: false });\n\n /**\n * Custom filter icon template.\n * @group Templates\n */\n @ContentChild('filtericon', { descendants: false }) filterIconTemplate: TemplateRef<void> | undefined;\n\n /**\n * Custom check icon template.\n * @param {ListboxCheckIconTemplateContext} context - check icon context.\n * @see {@link ListboxCheckIconTemplateContext}\n * @group Templates\n */\n @ContentChild('checkicon', { descendants: false }) checkIconTemplate: TemplateRef<ListboxCheckIconTemplateContext> | undefined;\n\n /**\n * Custom checkmark icon template.\n * @param {ListboxCheckmarkTemplateContext} context - checkmark context.\n * @see {@link ListboxCheckmarkTemplateContext}\n * @group Templates\n */\n readonly checkmarkTemplate = contentChild<TemplateRef<ListboxCheckmarkTemplateContext>>('checkmark', { descendants: false });\n\n /**\n * Custom loader template.\n * @param {ListboxLoaderTemplateContext} context - loader context.\n * @see {@link ListboxLoaderTemplateContext}\n * @group Templates\n */\n @ContentChild('loader', { descendants: false }) loaderTemplate: TemplateRef<ListboxLoaderTemplateContext> | undefined;\n\n readonly templates = contentChildren(PrimeTemplate);\n\n _itemTemplate: TemplateRef<ListboxItemTemplateContext> | undefined;\n\n _groupTemplate: TemplateRef<ListboxGroupTemplateContext> | undefined;\n\n _headerTemplate: TemplateRef<ListboxHeaderTemplateContext> | undefined;\n\n _filterTemplate: TemplateRef<ListboxFilterTemplateContext> | undefined;\n\n _footerTemplate: TemplateRef<ListboxFooterTemplateContext> | undefined;\n\n _emptyFilterTemplate: TemplateRef<void> | undefined;\n\n _emptyTemplate: TemplateRef<void> | undefined;\n\n _filterIconTemplate: TemplateRef<void> | undefined;\n\n _checkIconTemplate: TemplateRef<ListboxCheckIconTemplateContext> | undefined;\n\n _checkmarkTemplate: TemplateRef<ListboxCheckmarkTemplateContext> | undefined;\n\n _loaderTemplate: TemplateRef<ListboxLoaderTemplateContext> | 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 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.resolvedId}_${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 _options = signal<any>(null);\n\n startRangeIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n isDragging = signal<boolean>(false);\n\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\n return this._filterValue() ? this.filterService.filter(options, this.searchFields, this._filterValue(), this.filterMatchMode(), this.filterLocale()) : options;\n });\n\n constructor() {\n super();\n\n effect(() => {\n this._options.set(this.options());\n });\n\n effect(() => {\n this._filterValue.set(this.filterValue());\n });\n }\n\n onInit() {\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 onAfterContentInit() {\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 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\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: any[] = [];\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\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\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() {\n focus(this.listViewChild()?.nativeElement);\n const firstFocusableEl = getFirstFocusableElement(this.el?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])');\n\n const lastHiddenFocusableElement = this.lastHiddenFocusableElement();\n const firstHiddenFocusableElement = this.firstHiddenFocusableElement();\n\n lastHiddenFocusableElement?.nativeElement && (lastHiddenFocusableElement.nativeElement.tabIndex = isEmpty(firstFocusableEl) ? -1 : undefined);\n firstHiddenFocusableElement?.nativeElement && (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([data-p-hidden-focusable=\"true\"])');\n\n focus(firstFocusableEl);\n const firstHiddenFocusableElement = this.firstHiddenFocusableElement();\n\n firstHiddenFocusableElement?.nativeElement && (firstHiddenFocusableElement.nativeElement.tabIndex = undefined);\n } else {\n focus(this.firstHiddenFocusableElement()?.nativeElement);\n }\n\n const lastHiddenFocusableElement = this.lastHiddenFocusableElement();\n\n lastHiddenFocusableElement?.nativeElement && (lastHiddenFocusableElement.nativeElement.tabIndex = -1);\n }\n\n onFocusout(event: FocusEvent) {\n const lastHiddenFocusableElement = this.lastHiddenFocusableElement();\n const firstHiddenFocusableElement = this.firstHiddenFocusableElement();\n\n if (!this.el.nativeElement.contains(event.relatedTarget) && lastHiddenFocusableElement && firstHiddenFocusableElement) {\n firstHiddenFocusableElement.nativeElement.tabIndex = 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\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 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\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() {\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\n this.startRangeIndex.set(focusedOptionIndex);\n }\n\n getOptionGroupChildren(optionGroup) {\n const optionGroupChildren = this.optionGroupChildren();\n\n return optionGroupChildren ? resolveFieldData(optionGroup, optionGroupChildren) : optionGroup.items;\n }\n\n getOptionGroupLabel(optionGroup: any) {\n const optionGroupLabel = this.optionGroupLabel();\n\n return optionGroupLabel ? resolveFieldData(optionGroup, optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionLabel(option) {\n const optionLabel = this.optionLabel();\n\n return optionLabel ? resolveFieldData(option, 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 const optionValue = this.optionValue();\n\n return optionValue ? resolveFieldData(option, 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 getPTOptions(option: any, itemOptions: any, index: number, key: string) {\n return this.ptm(key, {\n context: {\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),\n disabled: this.isOptionDisabled(option)\n }\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.resolvedId}_${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 const optionDisabled = this.optionDisabled();\n\n if (isFunction(optionDisabled)) {\n return optionDisabled(option);\n }\n\n return optionDisabled ? resolveFieldData(option, 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) > 0;\n }\n\n resetFilter() {\n const filterViewChild = this.filterViewChild();\n\n if (filterViewChild && filterViewChild.nativeElement) {\n filterViewChild.nativeElement.value = '';\n }\n\n this._filterValue.set(null);\n }\n\n onDragEntered() {\n this.isDragging.set(true);\n this.el.nativeElement.setAttribute('p-listbox-dragging', 'true');\n }\n\n onDragExited() {\n this.isDragging.set(false);\n this.el.nativeElement.setAttribute('p-listbox-dragging', 'false');\n }\n\n drop(event: CdkDragDrop<string[]>) {\n this.isDragging.set(false);\n\n if (event) {\n // If dragdrop is enabled and same container (reordering), automatically handle reordering\n if (this.dragdrop() && event.previousContainer === event.container) {\n const currentOptions = [...this._options()];\n\n moveItemInArray(currentOptions, event.previousIndex, event.currentIndex);\n this._options.set(currentOptions);\n this.changeFocusedOptionIndex(event, event.currentIndex);\n\n // Update model value if needed for selection preservation\n if (this.modelValue()) {\n this.writeModelValue(this.modelValue());\n this.onModelChange(this.modelValue());\n }\n\n // Mark for change detection\n this.cd.markForCheck();\n }\n\n // Always emit the event for custom handling\n this.onDrop.emit(event);\n }\n }\n\n get containerDataP() {\n return this.cn({\n invalid: this.invalid(),\n disabled: this.$disabled()\n });\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any, setModelValue: (value: any) => void): void {\n this.value = value;\n setModelValue(this.value);\n this.cd.markForCheck();\n }\n\n onDestroy() {\n if (this.translationSubscription) {\n this.translationSubscription.unsubscribe();\n }\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":["listbox_style"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wawjs-ngx-prime-listbox.mjs","sources":["../../src/listbox/style/listboxstyle.ts","../../src/listbox/listbox.ts","../../src/listbox/wawjs-ngx-prime-listbox.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style as listbox_style } from '@wawjs/css-prime-styles/listbox';\nimport { BaseStyle } from '@wawjs/ngx-prime/base';\n\nconst style = /*css*/ `\n ${listbox_style}\n\n /* For ngx-prime */\n .p-listbox.ng-invalid.ng-dirty {\n border-color: dt('listbox.invalid.border.color');\n }\n\n .p-listbox-header {\n display: flex;\n align-items: center;\n }\n\n .p-listbox-header > .p-iconfield {\n flex-grow: 1;\n }\n\n .p-listbox-list-container {\n height: 100%;\n }\n\n /* CDK Drag & Drop styles */\n .p-listbox-option.cdk-drag-preview {\n background: dt('listbox.background');\n }\n\n .p-listbox-dragging .p-listbox-option:not(.cdk-drag-preview) {\n pointer-events: none !important;\n }\n\n .p-listbox-dragging .p-listbox-option:not(.cdk-drag-preview):hover {\n background: inherit !important;\n color: inherit !important;\n }\n\n .cdk-drag-placeholder {\n pointer-events: none;\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 'p-listbox-dragging': instance.isDragging()\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 style = style;\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.ngx-prime.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 type ListboxStyle = BaseStyle;\n","import { CDK_DRAG_CONFIG, CdkDragDrop, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n effect,\n ElementRef,\n InjectionToken,\n NgModule,\n output,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n input,\n numberAttribute,\n signal,\n viewChild,\n contentChild,\n contentChildren\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Listbox as AriaListbox, Option as AriaOption } from '@angular/aria/listbox';\nimport { equals, findLastIndex, findSingle, focus, getFirstFocusableElement, isEmpty, isFunction, isNotEmpty, isPrintableCharacter, resolveFieldData, uuid } from '@wawjs/css-prime-utils';\nimport { FilterService, Footer, Header, PrimeTemplate, ScrollerOptions, SharedModule } from '@wawjs/ngx-prime/api';\nimport { PARENT_INSTANCE } from '@wawjs/ngx-prime/basecomponent';\nimport { BaseEditableHolder } from '@wawjs/ngx-prime/baseeditableholder';\nimport { Bind, BindModule } from '@wawjs/ngx-prime/bind';\nimport { Checkbox } from '@wawjs/ngx-prime/checkbox';\nimport { IconField } from '@wawjs/ngx-prime/iconfield';\nimport { BlankIcon, CheckIcon, SearchIcon } from '@wawjs/ngx-prime/icons';\nimport { InputIcon } from '@wawjs/ngx-prime/inputicon';\nimport { InputText } from '@wawjs/ngx-prime/inputtext';\nimport { Ripple } from '@wawjs/ngx-prime/ripple';\nimport { Scroller, ScrollerLazyLoadEvent } from '@wawjs/ngx-prime/scroller';\nimport { Nullable } from '@wawjs/ngx-prime/ts-helpers';\nimport {\n ListBoxPassThrough,\n ListboxChangeEvent,\n ListboxCheckIconTemplateContext,\n ListboxCheckmarkTemplateContext,\n ListboxClickEvent,\n ListboxDoubleClickEvent,\n ListboxFilterEvent,\n ListboxFilterOptions,\n ListboxFilterTemplateContext,\n ListboxFooterTemplateContext,\n ListboxGroupTemplateContext,\n ListboxHeaderTemplateContext,\n ListboxItemTemplateContext,\n ListboxLoaderTemplateContext,\n ListboxSelectAllChangeEvent\n} from '@wawjs/ngx-prime/types/listbox';\nimport { Subscription } from 'rxjs';\nimport { ListBoxStyle } from './style/listboxstyle';\n\nconst LISTBOX_INSTANCE = new InjectionToken<Listbox>('LISTBOX_INSTANCE');\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, BindModule, AriaListbox, AriaOption],\n template: `\n <span\n #firstHiddenFocusableElement\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [tabindex]=\"!$disabled() ? tabindex() : -1\"\n (focus)=\"onFirstHiddenFocus()\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('hiddenFirstFocusableElement')\"\n >\n </span>\n @if (headerFacet() || headerTemplate || _headerTemplate) {\n <div [class]=\"cx('header')\" [pBind]=\"ptm('header')\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate; context: { $implicit: modelValue(), options: visibleOptions() }\"></ng-container>\n </div>\n }\n @if ((checkbox() && multiple() && showToggleAll()) || filter()) {\n <div [class]=\"cx('header')\" [pBind]=\"ptm('header')\">\n @if (checkbox() && multiple() && showToggleAll()) {\n <p-checkbox\n #headerchkbox\n (onChange)=\"onToggleAll($event)\"\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 [attr.aria-label]=\"toggleAllAriaLabel\"\n [pt]=\"ptm('pcCheckbox')\"\n [unstyled]=\"unstyled()\"\n >\n @if (checkIconTemplate || _checkIconTemplate) {\n <ng-template #icon>\n <ng-template *ngTemplateOutlet=\"checkIconTemplate || _checkIconTemplate; context: { $implicit: allSelected() }\"></ng-template>\n </ng-template>\n }\n </p-checkbox>\n }\n @if (filterTemplate || _filterTemplate) {\n <ng-container *ngTemplateOutlet=\"filterTemplate || _filterTemplate; context: { options: filterOptions }\"></ng-container>\n } @else {\n @if (filter()) {\n <p-iconfield [pt]=\"ptm('pcFilterContainer')\" hostName=\"listbox\" [unstyled]=\"unstyled()\">\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 [pt]=\"ptm('pcFilter')\"\n [unstyled]=\"unstyled()\"\n hostName=\"listbox\"\n />\n <p-inputicon [pt]=\"ptm('pcFilterIconContainer')\" [unstyled]=\"unstyled()\">\n @if (!filterIconTemplate && !_filterIconTemplate) {\n <svg data-p-icon=\"search\" [attr.aria-hidden]=\"true\" [pBind]=\"ptm('filterIcon')\" />\n }\n @if (filterIconTemplate || _filterIconTemplate) {\n <span [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate || _filterIconTemplate\"></ng-template>\n </span>\n }\n </p-inputicon>\n </p-iconfield>\n }\n <span role=\"status\" [pBind]=\"ptm('hiddenFilterResult')\" [attr.aria-live]=\"'polite'\" class=\"p-hidden-accessible\" [attr.data-p-hidden-accessible]=\"true\">\n {{ filterResultMessageText }}\n </span>\n }\n </div>\n }\n <div\n #container\n [class]=\"cn(cx('listContainer'), listStyleClass())\"\n [ngStyle]=\"listStyle()\"\n [style.max-height]=\"virtualScroll() ? 'auto' : scrollHeight() || 'auto'\"\n cdkDropList\n [cdkDropListData]=\"cdkDropData()\"\n (cdkDropListDropped)=\"drop($event)\"\n (cdkDropListEntered)=\"onDragEntered()\"\n (cdkDropListExited)=\"onDragExited()\"\n [pBind]=\"ptm('listContainer')\"\n >\n @if (hasFilter() && isEmpty()) {\n <div [class]=\"cx('emptyMessage')\" [pBind]=\"ptm('emptyMessage')\">\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')\" [pBind]=\"ptm('emptyMessage')\">\n @if (!emptyTemplate() && !_emptyTemplate) {\n () {{ emptyMessage }}\n } @else {\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate() || _emptyTemplate\"></ng-container>\n }\n </div>\n } @else {\n @if (virtualScroll()) {\n <p-scroller\n [pt]=\"ptm('virtualScroller')\"\n hostName=\"listbox\"\n #scroller\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 }\n @if (!virtualScroll()) {\n <ng-container *ngTemplateOutlet=\"buildInItemsAria; context: { $implicit: visibleOptions(), options: {} }\"></ng-container>\n }\n\n <ng-template #optionGroupItem let-option let-scrollerOptions=\"options\" let-i=\"i\">\n <li\n [attr.id]=\"resolvedId + '_' + getOptionIndex(i, scrollerOptions)\"\n [class]=\"cx('optionGroup')\"\n [pBind]=\"getPTOptions(option.optionGroup, scrollerOptions, i, 'optionGroup')\"\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n role=\"option\"\n cdkDrag\n [cdkDragData]=\"option\"\n [cdkDragDisabled]=\"!dragdrop()\"\n (cdkDragStarted)=\"isDragging.set(true)\"\n (cdkDragEnded)=\"isDragging.set(false)\"\n >\n @if (!groupTemplate() && !_groupTemplate) {\n <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"groupTemplate() || _groupTemplate; context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n </ng-template>\n\n <ng-template #optionItemContent let-option>\n @if (checkbox() && multiple()) {\n <p-checkbox\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 [pt]=\"ptm('pcCheckbox')\"\n hostName=\"listbox\"\n [unstyled]=\"unstyled()\"\n >\n @if (checkIconTemplate || _checkIconTemplate) {\n <ng-template #icon>\n <ng-template *ngTemplateOutlet=\"checkIconTemplate || _checkIconTemplate; context: { $implicit: isSelected(option) }\"></ng-template>\n </ng-template>\n }\n </p-checkbox>\n }\n @if (checkmark()) {\n <ng-container>\n @if (!checkmarkTemplate() && !_checkmarkTemplate) {\n <ng-container>\n @if (!isSelected(option)) {\n <svg data-p-icon=\"blank\" [class]=\"cx('optionBlankIcon')\" [pBind]=\"ptm('optionBlankIcon')\" />\n }\n @if (isSelected(option)) {\n <svg data-p-icon=\"check\" [class]=\"cx('optionCheckIcon')\" [pBind]=\"ptm('optionCheckIcon')\" />\n }\n </ng-container>\n }\n <ng-container *ngTemplateOutlet=\"checkmarkTemplate() || _checkmarkTemplate; context: { implicit: isSelected(option) }\"></ng-container>\n </ng-container>\n }\n @if (!itemTemplate() && !_itemTemplate) {\n <span>{{ getOptionLabel(option) }}</span>\n }\n </ng-template>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul\n #list\n [id]=\"resolvedId + '_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 [pBind]=\"ptm('list')\"\n >\n @for (option of items; track option; let i = $index) {\n @if (isOptionGroup(option)) {\n <ng-container *ngTemplateOutlet=\"optionGroupItem; context: { $implicit: option, options: scrollerOptions, i }\"></ng-container>\n }\n @if (!isOptionGroup(option)) {\n <li\n pRipple\n [class]=\"cx('option', { option, i, scrollerOptions })\"\n role=\"option\"\n [attr.id]=\"resolvedId + '_' + 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-p-selected]=\"isSelected(option)\"\n [attr.data-p-focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [attr.data-p-disabled]=\"isOptionDisabled(option)\"\n [pBind]=\"getPTOptions(option, scrollerOptions, i, '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 (cdkDragStarted)=\"isDragging.set(true)\"\n (cdkDragEnded)=\"isDragging.set(false)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n optionItemContent;\n context: {\n $implicit: option,\n index: getOptionIndex(i, scrollerOptions),\n selected: isSelected(option),\n disabled: isOptionDisabled(option)\n }\n \"\n ></ng-container>\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 }\n }\n </ul>\n </ng-template>\n\n <ng-template #buildInItemsAria let-items let-scrollerOptions=\"options\">\n <ul\n #ariaList\n ngListbox\n [multi]=\"multiple()\"\n [readonly]=\"readonly()\"\n [disabled]=\"$disabled()\"\n [id]=\"resolvedId + '_list'\"\n [class]=\"cx('list')\"\n [ngClass]=\"scrollerOptions.contentStyleClass\"\n [style]=\"scrollerOptions.contentStyle\"\n [attr.aria-label]=\"ariaLabel()\"\n (focus)=\"onListFocus($event)\"\n (blur)=\"onListBlur($event)\"\n [pBind]=\"ptm('list')\"\n >\n @for (option of items; track option; let i = $index) {\n @if (isOptionGroup(option)) {\n <ng-container *ngTemplateOutlet=\"optionGroupItem; context: { $implicit: option, options: scrollerOptions, i }\"></ng-container>\n }\n @if (!isOptionGroup(option)) {\n <li\n ngOption\n pRipple\n [value]=\"getOptionValue(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n [label]=\"getOptionLabel(option)\"\n [class]=\"cx('option', { option, i, scrollerOptions })\"\n [attr.id]=\"resolvedId + '_' + getOptionIndex(i, scrollerOptions)\"\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n [attr.data-p-selected]=\"isSelected(option)\"\n [attr.data-p-disabled]=\"isOptionDisabled(option)\"\n [pBind]=\"getPTOptions(option, scrollerOptions, i, 'option')\"\n (click)=\"onOptionSelect($event, option, getOptionIndex(i, scrollerOptions))\"\n (dblclick)=\"onOptionDoubleClick($event, option)\"\n cdkDrag\n [cdkDragData]=\"option\"\n [cdkDragDisabled]=\"!dragdrop()\"\n (cdkDragStarted)=\"isDragging.set(true)\"\n (cdkDragEnded)=\"isDragging.set(false)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n optionItemContent;\n context: {\n $implicit: option,\n index: getOptionIndex(i, scrollerOptions),\n selected: isSelected(option),\n disabled: isOptionDisabled(option)\n }\n \"\n ></ng-container>\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 }\n }\n </ul>\n </ng-template>\n }\n </div>\n @if (footerFacet() || footerTemplate || _footerTemplate) {\n <div>\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate || _footerTemplate; context: { $implicit: modelValue(), options: visibleOptions() }\"></ng-container>\n </div>\n }\n @if (isEmpty()) {\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" [pBind]=\"ptm('hiddenEmptyMessage')\"> () {{ emptyMessage }} </span>\n }\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" [pBind]=\"ptm('hiddenSelectedMessage')\">\n {{ selectedMessageText }}\n </span>\n <span\n #lastHiddenFocusableElement\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [tabindex]=\"!$disabled() ? tabindex() : -1\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('hiddenLastFocusableEl')\"\n >\n </span>\n `,\n providers: [\n LISTBOX_VALUE_ACCESSOR,\n ListBoxStyle,\n {\n provide: CDK_DRAG_CONFIG,\n useValue: {\n zIndex: 1200\n }\n },\n { provide: LISTBOX_INSTANCE, useExisting: Listbox },\n { provide: PARENT_INSTANCE, useExisting: Listbox }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.id]': 'resolvedId',\n '[class]': \"cn(cx('root'), styleClass())\",\n '[attr.data-p]': 'containerDataP',\n '(focusout)': 'onHostFocusOut($event)'\n },\n hostDirectives: [Bind]\n})\nexport class Listbox extends BaseEditableHolder<ListBoxPassThrough> {\n filterService = inject(FilterService);\n\n componentName = 'Listbox';\n\n readonly hostName = input<any>('');\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pcListbox: Listbox | undefined = inject(LISTBOX_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n /**\n * Unique identifier of the component.\n * @group Props\n */\n readonly id = input<string>();\n\n private _generatedId: string | undefined;\n\n get resolvedId(): string {\n return this.id() || (this._generatedId ??= uuid('pn_id_'));\n }\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 readonly searchMessage = input<string>();\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 readonly emptySelectionMessage = input<string>();\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 readonly selectionMessage = input<string>();\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n readonly autoOptionFocus = input<boolean | undefined, unknown>(true, { transform: booleanAttribute });\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n readonly ariaLabel = input<string>();\n /**\n * When enabled, the focused option is selected.\n * @group Props\n */\n readonly selectOnFocus = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n readonly searchLocale = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * When enabled, the hovered option will be focused.\n * @group Props\n */\n readonly focusOnHover = input<boolean | undefined, unknown>(true, { transform: booleanAttribute });\n /**\n * Text to display when filtering.\n * @group Props\n */\n readonly filterMessage = input<string>();\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n readonly filterFields = input<any[]>();\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n readonly lazy = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n readonly virtualScroll = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n readonly virtualScrollItemSize = input<number, unknown>(undefined, { transform: numberAttribute });\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n readonly virtualScrollOptions = input<ScrollerOptions>();\n /**\n * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n readonly scrollHeight = input<string>('14rem');\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n readonly tabindex = input<number | undefined, unknown>(0, { transform: numberAttribute });\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n readonly multiple = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Style class of the container.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n readonly styleClass = input<string>();\n /**\n * Inline style of the list element.\n * @group Props\n */\n readonly listStyle = input<{\n [klass: string]: any;\n } | null>();\n /**\n * Style class of the list element.\n * @group Props\n */\n readonly listStyleClass = input<string>();\n /**\n * When present, it specifies that the element value cannot be changed.\n * @group Props\n */\n readonly readonly = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * When specified, allows selecting items with checkboxes.\n * @group Props\n */\n readonly checkbox = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * When specified, displays a filter input at header.\n * @group Props\n */\n readonly filter = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n readonly filterBy = input<string>();\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n readonly filterMatchMode = input<'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 readonly filterLocale = input<string>();\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 readonly metaKeySelection = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n readonly dataKey = input<string>();\n /**\n * Whether header checkbox is shown in multiple mode.\n * @group Props\n */\n readonly showToggleAll = input<boolean, unknown>(true, { transform: booleanAttribute });\n /**\n * Name of the label field of an option.\n * @group Props\n */\n readonly optionLabel = input<string>();\n /**\n * Name of the value field of an option.\n * @group Props\n */\n readonly optionValue = input<string>();\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n readonly optionGroupChildren = input<string | undefined>('items');\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n readonly optionGroupLabel = input<string | undefined>('label');\n /**\n * Name of the disabled field of an option or function to determine disabled state.\n * @group Props\n */\n readonly optionDisabled = input<string | ((item: any) => boolean)>();\n /**\n * Defines a string that labels the filter input.\n * @group Props\n */\n readonly ariaFilterLabel = input<string>();\n /**\n * Defines placeholder of the filter input.\n * @group Props\n */\n readonly filterPlaceHolder = input<string>();\n /**\n * Text to display when filtering does not return any results.\n * @group Props\n */\n readonly emptyFilterMessage = input<string>();\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n readonly emptyMessage = input<string>();\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n readonly group = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n readonly options = input<any[]>();\n /**\n * When specified, filter displays with this value.\n * @group Props\n */\n readonly filterValue = input<string>();\n /**\n * Whether all data is selected.\n * @group Props\n */\n readonly selectAll = input<boolean | undefined | null>();\n /**\n * Whether to displays rows with alternating colors.\n * @group Props\n * @defaultValue false\n */\n readonly striped = input<boolean | undefined, unknown>(false, { transform: booleanAttribute });\n /**\n * Whether the selected option will be add highlight class.\n * @group Props\n * @defaultValue true\n */\n readonly highlightOnSelect = input<boolean, unknown>(true, { transform: booleanAttribute });\n /**\n * Whether the selected option will be shown with a check mark.\n * @group Props\n * @defaultValue false\n */\n readonly checkmark = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Whether to enable dragdrop based reordering.\n * @group Props\n */\n readonly dragdrop = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Array to use for CDK drop list data binding. When not provided, uses options array.\n * @group Props\n */\n readonly dropListData = input<any[]>();\n\n /**\n * Computed property for stable CDK drop list data reference\n */\n cdkDropData = computed(() => this.dropListData() || this._options());\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 onChange = output<ListboxChangeEvent>();\n /**\n * Callback to invoke when option is clicked.\n * @param {ListboxClickEvent} event - Custom click event.\n * @group Emits\n */\n onClick = output<ListboxClickEvent>();\n /**\n * Callback to invoke when option is double clicked.\n * @param {ListboxDoubleClickEvent} event - Custom double click event.\n * @group Emits\n */\n onDblClick = output<ListboxDoubleClickEvent>();\n /**\n * Callback to invoke when data is filtered.\n * @param {ListboxFilterEvent} event - Custom filter event.\n * @group Emits\n */\n onFilter = output<ListboxFilterEvent>();\n /**\n * Callback to invoke when component receives focus.\n * @param {FocusEvent} event - Focus event.\n * @group Emits\n */\n onFocus = output<FocusEvent>();\n /**\n * Callback to invoke when component loses focus.\n * @param {FocusEvent} event - Blur event.\n * @group Emits\n */\n onBlur = output<FocusEvent>();\n /**\n * Callback to invoke when all data is selected.\n * @param {ListboxSelectAllChangeEvent} event - Custom select event.\n * @group Emits\n */\n onSelectAllChange = output<ListboxSelectAllChangeEvent>();\n /**\n * Emits on lazy load.\n * @param {ScrollerLazyLoadEvent} event - Scroller lazy load event.\n * @group Emits\n */\n onLazyLoad = output<ScrollerLazyLoadEvent>();\n /**\n * Emits on item is dropped.\n * @param {CdkDragDrop<string[]>} event - Scroller lazy load event.\n * @group Emits\n */\n onDrop = output<CdkDragDrop<string[]>>();\n\n readonly headerCheckboxViewChild = viewChild<Nullable<ElementRef>>('headerchkbox');\n\n readonly filterViewChild = viewChild<Nullable<ElementRef>>('filter');\n\n readonly lastHiddenFocusableElement = viewChild<Nullable<ElementRef>>('lastHiddenFocusableElement');\n\n readonly firstHiddenFocusableElement = viewChild<Nullable<ElementRef>>('firstHiddenFocusableElement');\n\n readonly scroller = viewChild<Nullable<Scroller>>('scroller');\n\n readonly listViewChild = viewChild<Nullable<ElementRef>>('list');\n\n readonly containerViewChild = viewChild<Nullable<ElementRef>>('container');\n\n readonly headerFacet = contentChild(Header);\n\n readonly footerFacet = contentChild(Footer);\n\n /**\n * Custom item template.\n * @param {ListboxItemTemplateContext} context - item context.\n * @see {@link ListboxItemTemplateContext}\n * @group Templates\n */\n readonly itemTemplate = contentChild<TemplateRef<ListboxItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom group template.\n * @param {ListboxGroupTemplateContext} context - group context.\n * @see {@link ListboxGroupTemplateContext}\n * @group Templates\n */\n readonly groupTemplate = contentChild<TemplateRef<ListboxGroupTemplateContext>>('group', { descendants: false });\n\n /**\n * Custom header template.\n * @param {ListboxHeaderTemplateContext} context - header context.\n * @see {@link ListboxHeaderTemplateContext}\n * @group Templates\n */\n @ContentChild('header', { descendants: false }) headerTemplate: TemplateRef<ListboxHeaderTemplateContext> | undefined;\n\n /**\n * Custom filter template.\n * @param {ListboxFilterTemplateContext} context - filter context.\n * @see {@link ListboxFilterTemplateContext}\n * @group Templates\n */\n @ContentChild('filter', { descendants: false }) filterTemplate: TemplateRef<ListboxFilterTemplateContext> | undefined;\n\n /**\n * Custom footer template.\n * @param {ListboxFooterTemplateContext} context - footer context.\n * @see {@link ListboxFooterTemplateContext}\n * @group Templates\n */\n @ContentChild('footer', { descendants: false }) footerTemplate: TemplateRef<ListboxFooterTemplateContext> | undefined;\n\n /**\n * Custom empty filter message template.\n * @group Templates\n */\n readonly emptyFilterTemplate = contentChild<TemplateRef<void>>('emptyfilter', { descendants: false });\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n readonly emptyTemplate = contentChild<TemplateRef<void>>('empty', { descendants: false });\n\n /**\n * Custom filter icon template.\n * @group Templates\n */\n @ContentChild('filtericon', { descendants: false }) filterIconTemplate: TemplateRef<void> | undefined;\n\n /**\n * Custom check icon template.\n * @param {ListboxCheckIconTemplateContext} context - check icon context.\n * @see {@link ListboxCheckIconTemplateContext}\n * @group Templates\n */\n @ContentChild('checkicon', { descendants: false }) checkIconTemplate: TemplateRef<ListboxCheckIconTemplateContext> | undefined;\n\n /**\n * Custom checkmark icon template.\n * @param {ListboxCheckmarkTemplateContext} context - checkmark context.\n * @see {@link ListboxCheckmarkTemplateContext}\n * @group Templates\n */\n readonly checkmarkTemplate = contentChild<TemplateRef<ListboxCheckmarkTemplateContext>>('checkmark', { descendants: false });\n\n /**\n * Custom loader template.\n * @param {ListboxLoaderTemplateContext} context - loader context.\n * @see {@link ListboxLoaderTemplateContext}\n * @group Templates\n */\n @ContentChild('loader', { descendants: false }) loaderTemplate: TemplateRef<ListboxLoaderTemplateContext> | undefined;\n\n readonly templates = contentChildren(PrimeTemplate);\n\n _itemTemplate: TemplateRef<ListboxItemTemplateContext> | undefined;\n\n _groupTemplate: TemplateRef<ListboxGroupTemplateContext> | undefined;\n\n _headerTemplate: TemplateRef<ListboxHeaderTemplateContext> | undefined;\n\n _filterTemplate: TemplateRef<ListboxFilterTemplateContext> | undefined;\n\n _footerTemplate: TemplateRef<ListboxFooterTemplateContext> | undefined;\n\n _emptyFilterTemplate: TemplateRef<void> | undefined;\n\n _emptyTemplate: TemplateRef<void> | undefined;\n\n _filterIconTemplate: TemplateRef<void> | undefined;\n\n _checkIconTemplate: TemplateRef<ListboxCheckIconTemplateContext> | undefined;\n\n _checkmarkTemplate: TemplateRef<ListboxCheckmarkTemplateContext> | undefined;\n\n _loaderTemplate: TemplateRef<ListboxLoaderTemplateContext> | 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 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.resolvedId}_${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 _options = signal<any>(null);\n\n startRangeIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n isDragging = signal<boolean>(false);\n\n /**\n * The `ngListbox` instance, present only when `!virtualScroll()` (virtualized lists only\n * mount their visible items, which is incompatible with `@angular/aria`'s DOM-based item\n * discovery, so the manual `onListKeyDown` implementation is kept for that case).\n */\n private readonly ariaListboxRef = viewChild(AriaListbox);\n\n /** Mirrors `modelValue()` into the aria listbox's array-shaped `value`, when present. */\n private readonly syncAriaValueEffect = effect(() => {\n const ariaListbox = this.ariaListboxRef();\n\n if (!ariaListbox) {\n return;\n }\n\n const modelValue = this.modelValue();\n const arr = this.multiple() ? ((modelValue as unknown[] | null | undefined) ?? []) : modelValue == null ? [] : [modelValue];\n\n const current = ariaListbox.value();\n\n if (current.length !== arr.length || !current.every((val, i) => equals(val, arr[i], this.equalityKey() || ''))) {\n ariaListbox.value.set(arr as unknown[]);\n }\n });\n\n /**\n * Propagates keyboard-driven selection changes (arrow-key \"follow focus\" in single-select\n * mode, Shift+range selection, Ctrl/Cmd+A) from the aria listbox's own `value` model back\n * through our existing `onOptionSelect`-derived state, since `ngListbox` mutates its `value`\n * model directly rather than calling our selection methods.\n */\n private readonly syncFromAriaEffect = effect(() => {\n const ariaListbox = this.ariaListboxRef();\n\n if (!ariaListbox) {\n return;\n }\n\n const ariaArr = ariaListbox.value();\n const nextValue = this.multiple() ? ariaArr : ariaArr.length ? ariaArr[0] : null;\n const currentValue = this.modelValue();\n const changed = this.multiple() ? !equals(nextValue, currentValue ?? [], this.equalityKey() || '') || (nextValue as unknown[]).length !== ((currentValue as unknown[]) ?? []).length : !equals(nextValue, currentValue, this.equalityKey() || '');\n\n if (changed) {\n this.writeModelValue(nextValue);\n this.onModelChange(nextValue);\n this.onChange.emit({ originalEvent: undefined as unknown as Event, value: nextValue });\n }\n });\n\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\n return this._filterValue() ? this.filterService.filter(options, this.searchFields, this._filterValue(), this.filterMatchMode(), this.filterLocale()) : options;\n });\n\n constructor() {\n super();\n\n effect(() => {\n this._options.set(this.options());\n });\n\n effect(() => {\n this._filterValue.set(this.filterValue());\n });\n }\n\n onInit() {\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 onAfterContentInit() {\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 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\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: any[] = [];\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\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\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() {\n focus(this.listViewChild()?.nativeElement);\n const firstFocusableEl = getFirstFocusableElement(this.el?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])');\n\n const lastHiddenFocusableElement = this.lastHiddenFocusableElement();\n const firstHiddenFocusableElement = this.firstHiddenFocusableElement();\n\n lastHiddenFocusableElement?.nativeElement && (lastHiddenFocusableElement.nativeElement.tabIndex = isEmpty(firstFocusableEl) ? -1 : undefined);\n firstHiddenFocusableElement?.nativeElement && (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([data-p-hidden-focusable=\"true\"])');\n\n focus(firstFocusableEl);\n const firstHiddenFocusableElement = this.firstHiddenFocusableElement();\n\n firstHiddenFocusableElement?.nativeElement && (firstHiddenFocusableElement.nativeElement.tabIndex = undefined);\n } else {\n focus(this.firstHiddenFocusableElement()?.nativeElement);\n }\n\n const lastHiddenFocusableElement = this.lastHiddenFocusableElement();\n\n lastHiddenFocusableElement?.nativeElement && (lastHiddenFocusableElement.nativeElement.tabIndex = -1);\n }\n\n onFocusout(event: FocusEvent) {\n const lastHiddenFocusableElement = this.lastHiddenFocusableElement();\n const firstHiddenFocusableElement = this.firstHiddenFocusableElement();\n\n if (!this.el.nativeElement.contains(event.relatedTarget) && lastHiddenFocusableElement && firstHiddenFocusableElement) {\n firstHiddenFocusableElement.nativeElement.tabIndex = 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\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 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\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() {\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\n this.startRangeIndex.set(focusedOptionIndex);\n }\n\n getOptionGroupChildren(optionGroup) {\n const optionGroupChildren = this.optionGroupChildren();\n\n return optionGroupChildren ? resolveFieldData(optionGroup, optionGroupChildren) : optionGroup.items;\n }\n\n getOptionGroupLabel(optionGroup: any) {\n const optionGroupLabel = this.optionGroupLabel();\n\n return optionGroupLabel ? resolveFieldData(optionGroup, optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionLabel(option) {\n const optionLabel = this.optionLabel();\n\n return optionLabel ? resolveFieldData(option, 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 const optionValue = this.optionValue();\n\n return optionValue ? resolveFieldData(option, 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 getPTOptions(option: any, itemOptions: any, index: number, key: string) {\n return this.ptm(key, {\n context: {\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),\n disabled: this.isOptionDisabled(option)\n }\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.resolvedId}_${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 const optionDisabled = this.optionDisabled();\n\n if (isFunction(optionDisabled)) {\n return optionDisabled(option);\n }\n\n return optionDisabled ? resolveFieldData(option, 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) > 0;\n }\n\n resetFilter() {\n const filterViewChild = this.filterViewChild();\n\n if (filterViewChild && filterViewChild.nativeElement) {\n filterViewChild.nativeElement.value = '';\n }\n\n this._filterValue.set(null);\n }\n\n onDragEntered() {\n this.isDragging.set(true);\n this.el.nativeElement.setAttribute('p-listbox-dragging', 'true');\n }\n\n onDragExited() {\n this.isDragging.set(false);\n this.el.nativeElement.setAttribute('p-listbox-dragging', 'false');\n }\n\n drop(event: CdkDragDrop<string[]>) {\n this.isDragging.set(false);\n\n if (event) {\n // If dragdrop is enabled and same container (reordering), automatically handle reordering\n if (this.dragdrop() && event.previousContainer === event.container) {\n const currentOptions = [...this._options()];\n\n moveItemInArray(currentOptions, event.previousIndex, event.currentIndex);\n this._options.set(currentOptions);\n this.changeFocusedOptionIndex(event, event.currentIndex);\n\n // Update model value if needed for selection preservation\n if (this.modelValue()) {\n this.writeModelValue(this.modelValue());\n this.onModelChange(this.modelValue());\n }\n\n // Mark for change detection\n this.cd.markForCheck();\n }\n\n // Always emit the event for custom handling\n this.onDrop.emit(event);\n }\n }\n\n get containerDataP() {\n return this.cn({\n invalid: this.invalid(),\n disabled: this.$disabled()\n });\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any, setModelValue: (value: any) => void): void {\n this.value = value;\n setModelValue(this.value);\n this.cd.markForCheck();\n }\n\n onDestroy() {\n if (this.translationSubscription) {\n this.translationSubscription.unsubscribe();\n }\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":["listbox_style","AriaListbox","AriaOption"],"mappings":"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"}
|