@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-autocomplete.mjs","sources":["../../src/autocomplete/style/autocompletestyle.ts","../../src/autocomplete/autocomplete.ts","../../src/autocomplete/wawjs-ngx-prime-autocomplete.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style as autocomplete_style } from '@wawjs/css-prime-styles/autocomplete';\nimport { BaseStyle } from '@wawjs/ngx-prime/base';\n\nconst style = /*css*/ `\n${autocomplete_style}\n\n/* For ngx-prime */\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input,\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input-multiple,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input-multiple p-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input,\np-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input-multiple {\n border-color: dt('autocomplete.invalid.border.color');\n}\n\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input:enabled:focus,\np-autoComplete.ng-invalid.ng-dirty:not(.p-disabled).p-focus .p-autocomplete-input-multiple,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input:enabled:focus,\np-auto-complete.ng-invalid.ng-dirty:not(.p-disabled).p-focus .p-autocomplete-input-multiple,\np-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input:enabled:focus,\np-autocomplete.ng-invalid.ng-dirty:not(.p-disabled).p-focus .p-autocomplete-input-multiple {\n border-color: dt('autocomplete.focus.border.color');\n}\n\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input-chip input::placeholder,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input-chip input::placeholder,\np-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input-chip input::placeholder {\n color: dt('autocomplete.invalid.placeholder.color');\n}\n\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input::placeholder,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input::placeholder,\np-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input::placeholder {\n color: dt('autocomplete.invalid.placeholder.color');\n}\n`;\n\nconst inlineStyles = {\n root: { position: 'relative' }\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'p-autocomplete p-component p-inputwrapper',\n {\n 'p-invalid': instance.invalid(),\n 'p-focus': instance.focused,\n 'p-inputwrapper-filled': instance.$filled(),\n 'p-inputwrapper-focus': (instance.focused && !instance.$disabled()) || instance.autofocus || instance.overlayVisible,\n 'p-autocomplete-open': instance.overlayVisible,\n 'p-autocomplete-clearable': instance.showClear && !instance.$disabled(),\n 'p-autocomplete-fluid': instance.hasFluid\n }\n ],\n pcInputText: 'p-autocomplete-input',\n inputMultiple: ({ instance }) => [\n 'p-autocomplete-input-multiple',\n {\n 'p-disabled': instance.$disabled(),\n 'p-variant-filled': instance.$variant() === 'filled'\n }\n ],\n chipItem: ({ instance, i }) => [\n 'p-autocomplete-chip-item',\n {\n 'p-focus': instance.focusedMultipleOptionIndex() === i\n }\n ],\n pcChip: 'p-autocomplete-chip',\n chipIcon: 'p-autocomplete-chip-icon',\n inputChip: 'p-autocomplete-input-chip',\n loader: 'p-autocomplete-loader',\n dropdown: 'p-autocomplete-dropdown',\n overlay: ({ instance }) => ['p-autocomplete-overlay p-component-overlay p-component', { 'p-input-filled': instance.$variant() === 'filled', 'p-ripple-disabled': instance.config.ripple() === false }],\n listContainer: 'p-autocomplete-list-container',\n list: 'p-autocomplete-list',\n optionGroup: 'p-autocomplete-option-group',\n option: ({ instance, option, i, scrollerOptions }) => ({\n 'p-autocomplete-option': true,\n 'p-autocomplete-option-selected': instance.isSelected(option),\n 'p-focus': instance.focusedOptionIndex() === instance.getOptionIndex(i, scrollerOptions),\n 'p-disabled': instance.isOptionDisabled(option)\n }),\n emptyMessage: 'p-autocomplete-empty-message',\n clearIcon: 'p-autocomplete-clear-icon'\n};\n\n@Injectable()\nexport class AutoCompleteStyle extends BaseStyle {\n name = 'autocomplete';\n\n style = style;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * AutoComplete is an input component that provides real-time suggestions while being typed.\n *\n * [Live Demo](https://www.ngx-prime.org/autocomplete/)\n *\n * @module autocompletestyle\n *\n */\nexport enum AutoCompleteClasses {\n /**\n * Class name of the root element\n */\n root = 'p-autocomplete',\n /**\n * Class name of the input element\n */\n pcInputText = 'p-autocomplete-input',\n /**\n * Class name of the input multiple element\n */\n inputMultiple = 'p-autocomplete-input-multiple',\n /**\n * Class name of the chip item element\n */\n chipItem = 'p-autocomplete-chip-item',\n /**\n * Class name of the chip element\n */\n pcChip = 'p-autocomplete-chip',\n /**\n * Class name of the chip icon element\n */\n chipIcon = 'p-autocomplete-chip-icon',\n /**\n * Class name of the input chip element\n */\n inputChip = 'p-autocomplete-input-chip',\n /**\n * Class name of the loader element\n */\n loader = 'p-autocomplete-loader',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'p-autocomplete-dropdown',\n /**\n * Class name of the panel element\n */\n panel = 'p-autocomplete-overlay',\n /**\n * Class name of the list element\n */\n list = 'p-autocomplete-list',\n /**\n * Class name of the option group element\n */\n optionGroup = 'p-autocomplete-option-group',\n /**\n * Class name of the option element\n */\n option = 'p-autocomplete-option',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-autocomplete-empty-message',\n /**\n * Class name of the clear icon\n */\n clearIcon = 'p-autocomplete-clear-icon'\n}\n","import { CommonModule } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n effect,\n ElementRef,\n forwardRef,\n inject,\n InjectionToken,\n input,\n NgModule,\n NgZone,\n numberAttribute,\n output,\n signal,\n TemplateRef,\n ViewEncapsulation,\n viewChild,\n contentChild,\n contentChildren\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MotionOptions } from '@wawjs/css-prime-motion';\nimport { equals, findLastIndex, findSingle, focus, isEmpty, isNotEmpty, resolveFieldData, uuid } from '@wawjs/css-prime-utils';\nimport { OverlayOptions, OverlayService, PrimeTemplate, ScrollerOptions, SharedModule, TranslationKeys } from '@wawjs/ngx-prime/api';\nimport { AutoFocus } from '@wawjs/ngx-prime/autofocus';\nimport { PARENT_INSTANCE } from '@wawjs/ngx-prime/basecomponent';\nimport { BaseInput } from '@wawjs/ngx-prime/baseinput';\nimport { Bind, BindModule } from '@wawjs/ngx-prime/bind';\nimport { Chip } from '@wawjs/ngx-prime/chip';\nimport { ConnectedOverlayScrollHandler } from '@wawjs/ngx-prime/dom';\nimport { ChevronDownIcon, SpinnerIcon, TimesCircleIcon, TimesIcon } from '@wawjs/ngx-prime/icons';\nimport { InputText } from '@wawjs/ngx-prime/inputtext';\nimport { Overlay } from '@wawjs/ngx-prime/overlay';\nimport { Ripple } from '@wawjs/ngx-prime/ripple';\nimport { Scroller } from '@wawjs/ngx-prime/scroller';\nimport { Nullable } from '@wawjs/ngx-prime/ts-helpers';\nimport {\n AutoCompleteAddEvent,\n AutoCompleteCompleteEvent,\n AutoCompleteDropdownClickEvent,\n AutoCompleteGroupTemplateContext,\n AutoCompleteItemTemplateContext,\n AutoCompleteLazyLoadEvent,\n AutoCompleteLoaderTemplateContext,\n AutoCompletePassThrough,\n AutoCompleteRemoveIconTemplateContext,\n AutoCompleteSelectedItemTemplateContext,\n AutoCompleteSelectEvent,\n AutoCompleteUnselectEvent\n} from '@wawjs/ngx-prime/types/autocomplete';\nimport { AutoCompleteStyle } from './style/autocompletestyle';\n\nconst AUTOCOMPLETE_INSTANCE = new InjectionToken<AutoComplete>('AUTOCOMPLETE_INSTANCE');\n\nexport const AUTOCOMPLETE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutoComplete),\n multi: true\n};\n\n/**\n * AutoComplete is an input component that provides real-time suggestions when being typed.\n * @group Components\n */\n@Component({\n selector: 'p-autoComplete, p-autocomplete, p-auto-complete',\n standalone: true,\n imports: [CommonModule, Overlay, InputText, Ripple, Scroller, AutoFocus, TimesCircleIcon, SpinnerIcon, ChevronDownIcon, Chip, SharedModule, TimesIcon, BindModule],\n template: `\n @if (!multiple()) {\n <input\n #focusInput\n [pAutoFocus]=\"autofocus()\"\n pInputText\n [pt]=\"ptm('pcInputText')\"\n [class]=\"cn(cx('pcInputText'), inputStyleClass())\"\n [ngStyle]=\"inputStyle()\"\n [attr.type]=\"type()\"\n [attr.value]=\"inputValue()\"\n [variant]=\"$variant()\"\n [invalid]=\"invalid()\"\n [attr.id]=\"inputId()\"\n [attr.autocomplete]=\"autocomplete()\"\n aria-autocomplete=\"list\"\n role=\"combobox\"\n [attr.placeholder]=\"placeholder()\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [pSize]=\"size()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"pattern()\"\n [attr.size]=\"inputSize()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.tabindex]=\"!$disabled() ? tabindex() : -1\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id() + '_list' : null\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onInputPaste($event)\"\n (keyup)=\"onInputKeyUp($event)\"\n [fluid]=\"hasFluid\"\n [pInputTextUnstyled]=\"unstyled()\"\n />\n }\n @if ($filled() && !$disabled() && showClear() && !loading) {\n <ng-container>\n @if (!clearIconTemplate && !_clearIconTemplate) {\n <svg data-p-icon=\"times\" [pBind]=\"ptm('clearIcon')\" [class]=\"cx('clearIcon')\" (click)=\"clear()\" [attr.aria-hidden]=\"true\" />\n }\n @if (clearIconTemplate || _clearIconTemplate) {\n <span [pBind]=\"ptm('clearIcon')\" [class]=\"cx('clearIcon')\" (click)=\"clear()\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate || _clearIconTemplate\"></ng-template>\n </span>\n }\n </ng-container>\n }\n\n @if (multiple()) {\n <ul\n #multiContainer\n [pBind]=\"ptm('inputMultiple')\"\n [class]=\"cx('inputMultiple')\"\n [attr.data-p]=\"inputMultipleDataP\"\n [tabindex]=\"-1\"\n role=\"listbox\"\n [attr.aria-orientation]=\"'horizontal'\"\n [attr.aria-activedescendant]=\"focused ? focusedMultipleOptionId : undefined\"\n (focus)=\"onMultipleContainerFocus($event)\"\n (blur)=\"onMultipleContainerBlur($event)\"\n (keydown)=\"onMultipleContainerKeyDown($event)\"\n >\n @for (option of modelValue(); track option; let i = $index) {\n <li\n #token\n [pBind]=\"ptm('chipItem')\"\n [class]=\"cx('chipItem', { i })\"\n [attr.id]=\"id() + '_multiple_option_' + i\"\n role=\"option\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-setsize]=\"modelValue().length\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-selected]=\"true\"\n >\n <p-chip\n [pt]=\"ptm('pcChip')\"\n [class]=\"cx('pcChip')\"\n [label]=\"!selectedItemTemplate() && !_selectedItemTemplate && getOptionLabel(option)\"\n [disabled]=\"$disabled()\"\n [removable]=\"true\"\n (onRemove)=\"!readonly() ? removeOption($event, i) : ''\"\n [unstyled]=\"unstyled()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate() || _selectedItemTemplate; context: { $implicit: option }\"></ng-container>\n <ng-template #removeicon>\n @if (!removeIconTemplate && !_removeIconTemplate) {\n <span [pBind]=\"ptm('chipIcon')\" [class]=\"cx('chipIcon')\" (click)=\"!readonly() && !$disabled() ? removeOption($event, i) : ''\">\n <svg data-p-icon=\"times-circle\" [class]=\"cx('chipIcon')\" [attr.aria-hidden]=\"true\" />\n </span>\n }\n @if (removeIconTemplate || _removeIconTemplate) {\n <span [pBind]=\"ptm('chipIcon')\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"removeIconTemplate || _removeIconTemplate; context: { removeCallback: removeOption.bind(this), index: i, class: cx('chipIcon') }\"></ng-template>\n </span>\n }\n </ng-template>\n </p-chip>\n </li>\n }\n <li [pBind]=\"ptm('inputChip')\" [class]=\"cx('inputChip')\" role=\"option\">\n <input\n #focusInput\n #multiIn\n [pAutoFocus]=\"autofocus()\"\n [pBind]=\"ptm('input')\"\n [class]=\"cx('pcInputText')\"\n [ngStyle]=\"inputStyle()\"\n [attr.type]=\"type()\"\n [attr.id]=\"inputId()\"\n [attr.autocomplete]=\"autocomplete()\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.size]=\"size()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"pattern()\"\n role=\"combobox\"\n [attr.placeholder]=\"!$filled() ? placeholder() : null\"\n aria-autocomplete=\"list\"\n [attr.tabindex]=\"!$disabled() ? tabindex() : -1\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id() + '_list' : null\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onInputPaste($event)\"\n (keyup)=\"onInputKeyUp($event)\"\n />\n </li>\n </ul>\n }\n @if (loading) {\n <ng-container>\n @if (!loadingIconTemplate && !_loadingIconTemplate) {\n <svg data-p-icon=\"spinner\" [pBind]=\"ptm('loader')\" [class]=\"cx('loader')\" [spin]=\"true\" [attr.aria-hidden]=\"true\" />\n }\n @if (loadingIconTemplate || _loadingIconTemplate) {\n <span [pBind]=\"ptm('loader')\" [class]=\"cx('loader')\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate || _loadingIconTemplate\"></ng-template>\n </span>\n }\n </ng-container>\n }\n @if (dropdown()) {\n <button #ddBtn type=\"button\" [pBind]=\"ptm('dropdown')\" [attr.aria-label]=\"dropdownAriaLabel()\" [class]=\"cx('dropdown')\" [disabled]=\"$disabled()\" pRipple (click)=\"handleDropdownClick($event)\" [attr.tabindex]=\"tabindex()\">\n @if (dropdownIcon()) {\n <span [ngClass]=\"dropdownIcon()\" [attr.aria-hidden]=\"true\"></span>\n }\n @if (!dropdownIcon()) {\n <ng-container>\n @if (!dropdownIconTemplate() && !_dropdownIconTemplate) {\n <svg data-p-icon=\"chevron-down\" [pBind]=\"ptm('dropdown')\" />\n }\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate() || _dropdownIconTemplate\"></ng-template>\n </ng-container>\n }\n </button>\n }\n <p-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions()\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n [unstyled]=\"unstyled()\"\n [pt]=\"ptm('pcOverlay')\"\n [motionOptions]=\"motionOptions()\"\n (onBeforeEnter)=\"onOverlayBeforeEnter()\"\n (onHide)=\"hide()\"\n [attr.data-p]=\"overlayDataP\"\n >\n <ng-template #content>\n <div [pBind]=\"ptm('overlay')\" [class]=\"cn(cx('overlay'), panelStyleClass())\" [ngStyle]=\"panelStyle()\">\n <ng-container *ngTemplateOutlet=\"headerTemplate() || _headerTemplate\"></ng-container>\n <div [pBind]=\"ptm('listContainer')\" [class]=\"cx('listContainer')\" [style.max-height]=\"virtualScroll() ? 'auto' : scrollHeight()\" [tabindex]=\"-1\">\n @if (virtualScroll()) {\n <p-scroller\n #scroller\n [tabindex]=\"-1\"\n [pt]=\"ptm('virtualScroller')\"\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight() }\"\n [itemSize]=\"virtualScrollItemSize()\"\n [autoSize]=\"true\"\n [lazy]=\"lazy()\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions()\"\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 </div>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [pBind]=\"ptm('list')\" [class]=\"cn(cx('list'), scrollerOptions.contentStyleClass)\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" [attr.id]=\"id() + '_list'\" [attr.aria-label]=\"listLabel\">\n @for (option of items; track option; let i = $index) {\n @if (isOptionGroup(option)) {\n <li [pBind]=\"ptm('optionGroup')\" [attr.id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\" [class]=\"cx('optionGroup')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n @if (!groupTemplate()) {\n <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"groupTemplate(); context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n }\n @if (!isOptionGroup(option)) {\n <li\n pRipple\n [pBind]=\"getPTOptions(option, scrollerOptions, i, 'option')\"\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n [class]=\"cx('option', { option, i, scrollerOptions })\"\n [attr.id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\"\n role=\"option\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-selected]=\"isSelected(option)\"\n [attr.data-p-selected]=\"isSelected(option)\"\n [attr.aria-disabled]=\"isOptionDisabled(option)\"\n [attr.data-p-focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [attr.aria-setsize]=\"ariaSetSize\"\n [attr.aria-posinset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n (click)=\"onOptionSelect($event, option)\"\n (mouseenter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\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: scrollerOptions.getOptions ? scrollerOptions.getOptions(i) : i\n }\n \"\n ></ng-container>\n </li>\n }\n }\n @if (!items || (items && items.length === 0 && showEmptyMessage())) {\n <li [pBind]=\"ptm('emptyMessage')\" [class]=\"cx('emptyMessage')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n @if (!emptyTemplate() && !_emptyTemplate) {\n {{ searchResultMessageText }}\n } @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate() || _emptyTemplate\"></ng-container>\n }\n </li>\n }\n </ul>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate() || _footerTemplate\"></ng-container>\n </div>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\">\n {{ selectedMessageText }}\n </span>\n </ng-template>\n </p-overlay>\n `,\n providers: [AUTOCOMPLETE_VALUE_ACCESSOR, AutoCompleteStyle, { provide: AUTOCOMPLETE_INSTANCE, useExisting: AutoComplete }, { provide: PARENT_INSTANCE, useExisting: AutoComplete }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cn(cx('root'), styleClass())\",\n '[style]': \"sx('root')\",\n '[attr.data-p]': 'containerDataP',\n '(click)': 'onHostClick($event)'\n },\n hostDirectives: [Bind]\n})\nexport class AutoComplete extends BaseInput<AutoCompletePassThrough> {\n overlayService = inject(OverlayService);\n private zone = inject(NgZone);\n\n componentName = 'AutoComplete';\n\n $pcAutoComplete: AutoComplete | undefined = inject(AUTOCOMPLETE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Minimum number of characters to initiate a search.\n * @deprecated since v20.0.0, use `minQueryLength` instead.\n * @group Props\n */\n readonly minLength = input<number, unknown>(1, { transform: numberAttribute });\n /**\n * Minimum number of characters to initiate a search.\n * @group Props\n */\n readonly minQueryLength = input<number, unknown>(undefined, { transform: numberAttribute });\n /**\n * Delay between keystrokes to wait before sending a query.\n * @group Props\n */\n readonly delay = input<number, unknown>(300, { transform: numberAttribute });\n /**\n * Inline style of the overlay panel element.\n * @group Props\n */\n readonly panelStyle = input<{\n [klass: string]: any;\n } | null>();\n /**\n * Style class of the component.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n readonly styleClass = input<string>();\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n readonly panelStyleClass = input<string>();\n /**\n * Inline style of the input field.\n * @group Props\n */\n readonly inputStyle = input<{\n [klass: string]: any;\n } | null>();\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n readonly inputId = input<string>();\n /**\n * Inline style of the input field.\n * @group Props\n */\n readonly inputStyleClass = input<string>();\n /**\n * Hint text for the input field.\n * @group Props\n */\n readonly placeholder = input<string>();\n /**\n * When present, it specifies that the input cannot be typed.\n * @group Props\n */\n readonly readonly = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Maximum height of the suggestions panel.\n * @group Props\n */\n readonly scrollHeight = input<string>('200px');\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 * When enabled, highlights the first item in the list by default.\n * @group Props\n */\n readonly autoHighlight = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * When present, autocomplete clears the manual input if it does not match of the suggestions to force only accepting values from the suggestions.\n * @group Props\n */\n readonly forceSelection = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Type of the input, defaults to \"text\".\n * @group Props\n */\n readonly type = input<string>('text');\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n readonly autoZIndex = input<boolean, unknown>(true, { transform: booleanAttribute });\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n readonly baseZIndex = input<number, unknown>(0, { transform: numberAttribute });\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n readonly ariaLabel = input<string>();\n /**\n * Defines a string that labels the dropdown button for accessibility.\n * @group Props\n */\n readonly dropdownAriaLabel = input<string>();\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n readonly ariaLabelledBy = input<string>();\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n readonly dropdownIcon = input<string>();\n /**\n * Ensures uniqueness of selected items on multiple mode.\n * @group Props\n */\n readonly unique = input<boolean, unknown>(true, { transform: booleanAttribute });\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 * Whether to run a query when input receives focus.\n * @group Props\n */\n readonly completeOnFocus = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n readonly showClear = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Displays a button next to the input field when enabled.\n * @group Props\n */\n readonly dropdown = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Whether to show the empty message or not.\n * @group Props\n */\n readonly showEmptyMessage = input<boolean | undefined, unknown>(true, { transform: booleanAttribute });\n /**\n * Specifies the behavior dropdown button. Default \"blank\" mode sends an empty string and \"current\" mode sends the input value.\n * @group Props\n */\n readonly dropdownMode = input<string>('blank');\n /**\n * Specifies if multiple values can be selected.\n * @group Props\n */\n readonly multiple = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * When enabled, the input value is added to the selected items on tab key press when multiple is true and typeahead is false.\n * @group Props\n */\n readonly addOnTab = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n readonly tabindex = input<number, unknown>(undefined, { transform: numberAttribute });\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n readonly dataKey = 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 * Transition options of the show animation.\n * @group Props\n * @deprecated since v21.0.0, use `motionOptions` instead.\n */\n readonly showTransitionOptions = input<string>('.12s cubic-bezier(0, 0, 0.2, 1)');\n /**\n * Transition options of the hide animation.\n * @group Props\n * @deprecated since v21.0.0, use `motionOptions` instead.\n */\n readonly hideTransitionOptions = input<string>('.1s linear');\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n readonly autofocus = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n readonly autocomplete = input<string>('off');\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 * Options for the overlay element.\n * @group Props\n */\n readonly overlayOptions = input<OverlayOptions>();\n\n /**\n * An array of suggestions to display.\n * @group Props\n */\n readonly suggestions = input<any[]>();\n\n /**\n * Property name or getter function to use as the label of an option.\n * @group Props\n */\n readonly optionLabel = input<string | ((item: any) => string)>();\n /**\n * Property name or getter function to use as the value of an option.\n * @group Props\n */\n readonly optionValue = input<string | ((item: any) => string)>();\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>(false, { transform: booleanAttribute });\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 * Property name or getter function to use as the disabled flag of an option, defaults to false when not defined.\n * @group Props\n */\n readonly optionDisabled = input<string | ((item: any) => string)>();\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 * Whether typeahead is active or not.\n * @defaultValue true\n * @group Props\n */\n readonly typeahead = input<boolean, unknown>(true, { transform: booleanAttribute });\n /**\n * Whether to add an item on blur event if the input has value and typeahead is false with multiple mode.\n * @defaultValue false\n * @group Props\n */\n readonly addOnBlur = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Separator char to add item when typeahead is false and multiple mode is enabled.\n * @group Props\n */\n readonly separator = input<string | RegExp>();\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>(undefined);\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n /**\n * Callback to invoke to search for suggestions.\n * @param {AutoCompleteCompleteEvent} event - Custom complete event.\n * @group Emits\n */\n completeMethod = output<AutoCompleteCompleteEvent>();\n /**\n * Callback to invoke when a suggestion is selected.\n * @param {AutoCompleteSelectEvent} event - custom select event.\n * @group Emits\n */\n onSelect = output<AutoCompleteSelectEvent>();\n /**\n * Callback to invoke when a selected value is removed.\n * @param {AutoCompleteUnselectEvent} event - custom unselect event.\n * @group Emits\n */\n onUnselect = output<AutoCompleteUnselectEvent>();\n /**\n * Callback to invoke when an item is added via addOnBlur or separator features.\n * @param {AutoCompleteAddEvent} event - Custom add event.\n * @group Emits\n */\n onAdd = output<AutoCompleteAddEvent>();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onFocus = output<Event>();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onBlur = output<Event>();\n /**\n * Callback to invoke to when dropdown button is clicked.\n * @param {AutoCompleteDropdownClickEvent} event - custom dropdown click event.\n * @group Emits\n */\n onDropdownClick = output<AutoCompleteDropdownClickEvent>();\n /**\n * Callback to invoke when clear button is clicked.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onClear = output<Event | undefined>();\n /**\n * Callback to invoke on input key down.\n * @param {KeyboardEvent} event - Keyboard event.\n * @group Emits\n */\n onInputKeydown = output<KeyboardEvent>();\n /**\n * Callback to invoke on input key up.\n * @param {KeyboardEvent} event - Keyboard event.\n * @group Emits\n */\n onKeyUp = output<KeyboardEvent>();\n /**\n * Callback to invoke on overlay is shown.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onShow = output<Event | undefined>();\n /**\n * Callback to invoke on overlay is hidden.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onHide = output<Event | undefined>();\n /**\n * Callback to invoke on lazy load data.\n * @param {AutoCompleteLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n onLazyLoad = output<AutoCompleteLazyLoadEvent>();\n\n readonly inputEL = viewChild<Nullable<ElementRef>>('focusInput');\n\n readonly multiInputEl = viewChild<Nullable<ElementRef>>('multiIn');\n\n readonly multiContainerEL = viewChild<Nullable<ElementRef>>('multiContainer');\n\n readonly dropdownButton = viewChild<Nullable<ElementRef>>('ddBtn');\n\n readonly itemsViewChild = viewChild<Nullable<ElementRef>>('items');\n\n readonly scroller = viewChild<Nullable<Scroller>>('scroller');\n\n readonly overlayViewChild = viewChild.required<Overlay>('overlay');\n\n itemsWrapper: Nullable<HTMLDivElement>;\n\n /**\n * Custom item template.\n * @group Templates\n */\n readonly itemTemplate = contentChild<Nullable<TemplateRef<AutoCompleteItemTemplateContext>>>('item');\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n readonly emptyTemplate = contentChild<Nullable<TemplateRef<void>>>('empty');\n\n /**\n * Custom header template.\n * @group Templates\n */\n readonly headerTemplate = contentChild<Nullable<TemplateRef<void>>>('header');\n\n /**\n * Custom footer template.\n * @group Templates\n */\n readonly footerTemplate = contentChild<Nullable<TemplateRef<void>>>('footer');\n\n /**\n * Custom selected item template.\n * @group Templates\n */\n readonly selectedItemTemplate = contentChild<Nullable<TemplateRef<AutoCompleteSelectedItemTemplateContext>>>('selecteditem');\n\n /**\n * Custom group template.\n * @group Templates\n */\n readonly groupTemplate = contentChild<Nullable<TemplateRef<AutoCompleteGroupTemplateContext>>>('group');\n\n /**\n * Custom loader template.\n * @group Templates\n */\n @ContentChild('loader') loaderTemplate: Nullable<TemplateRef<AutoCompleteLoaderTemplateContext>>;\n\n /**\n * Custom remove icon template.\n * @group Templates\n */\n @ContentChild('removeicon') removeIconTemplate: Nullable<TemplateRef<AutoCompleteRemoveIconTemplateContext>>;\n\n /**\n * Custom loading icon template.\n * @group Templates\n */\n @ContentChild('loadingicon') loadingIconTemplate: Nullable<TemplateRef<void>>;\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n @ContentChild('clearicon') clearIconTemplate: Nullable<TemplateRef<void>>;\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n readonly dropdownIconTemplate = contentChild<Nullable<TemplateRef<void>>>('dropdownicon');\n\n onHostClick(event: MouseEvent) {\n this.onContainerClick(event);\n }\n\n value: string | any;\n\n _suggestions = signal<any>(null);\n\n timeout: Nullable<any>;\n\n overlayVisible: boolean | undefined;\n\n suggestionsUpdated: Nullable<boolean>;\n\n highlightOption: any;\n\n highlightOptionChanged: Nullable<boolean>;\n\n focused: boolean = false;\n\n loading: Nullable<boolean>;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n listId: string | undefined;\n\n searchTimeout: any;\n\n dirty: boolean = false;\n\n _itemTemplate: TemplateRef<AutoCompleteItemTemplateContext> | undefined;\n\n _groupTemplate: TemplateRef<AutoCompleteGroupTemplateContext> | undefined;\n\n _selectedItemTemplate: TemplateRef<AutoCompleteSelectedItemTemplateContext> | undefined;\n\n _headerTemplate: TemplateRef<void> | undefined;\n\n _emptyTemplate: TemplateRef<void> | undefined;\n\n _footerTemplate: TemplateRef<void> | undefined;\n\n _loaderTemplate: TemplateRef<AutoCompleteLoaderTemplateContext> | undefined;\n\n _removeIconTemplate: TemplateRef<AutoCompleteRemoveIconTemplateContext> | undefined;\n\n _loadingIconTemplate: TemplateRef<void> | undefined;\n\n _clearIconTemplate: TemplateRef<void> | undefined;\n\n _dropdownIconTemplate: TemplateRef<void> | undefined;\n\n focusedMultipleOptionIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n _componentStyle = inject(AutoCompleteStyle);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n visibleOptions = computed(() => (this.group() ? this.flatOptions(this._suggestions()) : this._suggestions() || []));\n\n inputValue = computed(() => {\n const modelValue = this.modelValue();\n const selectedOption = this.optionValueSelected ? (this._suggestions() || []).find((option: any) => equals(option, modelValue, this.equalityKey())) : modelValue;\n\n if (isNotEmpty(modelValue)) {\n if (typeof modelValue === 'object' || this.optionValueSelected) {\n const label = this.getOptionLabel(selectedOption);\n\n return label != null ? label : modelValue;\n } else {\n return modelValue;\n }\n } else {\n return '';\n }\n });\n\n get focusedMultipleOptionId() {\n return this.focusedMultipleOptionIndex() !== -1 ? `${this.resolvedId}_multiple_option_${this.focusedMultipleOptionIndex()}` : null;\n }\n\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.resolvedId}_${this.focusedOptionIndex()}` : null;\n }\n\n get searchResultMessageText() {\n return isNotEmpty(this.visibleOptions()) && this.overlayVisible ? this.searchMessageText.replaceAll('{0}', this.visibleOptions().length) : this.emptySearchMessageText;\n }\n\n get searchMessageText() {\n return this.searchMessage() || this.config.translation.searchMessage || '';\n }\n\n get emptySearchMessageText() {\n return this.emptyMessage() || this.config.translation.emptySearchMessage || '';\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 listLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];\n }\n\n get virtualScrollerDisabled() {\n return !this.virtualScroll();\n }\n\n get optionValueSelected() {\n return typeof this.modelValue() === 'string' && this.optionValue();\n }\n\n chipItemClass(index) {\n return this._componentStyle.classes.chipItem({ instance: this, i: index });\n }\n\n constructor() {\n super();\n\n effect(() => {\n this._suggestions.set(this.suggestions());\n\n this.handleSuggestionsChange();\n });\n }\n\n onInit() {\n this.cd.detectChanges();\n }\n\n readonly templates = contentChildren(PrimeTemplate);\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 'selecteditem':\n this._selectedItemTemplate = item.template;\n break;\n\n case 'selectedItem':\n this._selectedItemTemplate = item.template;\n break;\n\n case 'header':\n this._headerTemplate = item.template;\n break;\n\n case 'empty':\n this._emptyTemplate = item.template;\n break;\n\n case 'footer':\n this._footerTemplate = item.template;\n break;\n\n case 'loader':\n this._loaderTemplate = item.template;\n break;\n\n case 'removetokenicon':\n this._removeIconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this._loadingIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this._clearIconTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this._dropdownIconTemplate = item.template;\n break;\n\n default:\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n\n //Use timeouts as since Angular 4.2, AfterViewChecked is broken and not called after panel is updated\n if (this.suggestionsUpdated && this.overlayViewChild()) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n const overlayViewChild = this.overlayViewChild();\n\n if (overlayViewChild) {\n overlayViewChild.alignOverlay();\n }\n }, 1);\n this.suggestionsUpdated = false;\n });\n }\n }\n\n handleSuggestionsChange() {\n if (this.loading) {\n this._suggestions()?.length > 0 || this.showEmptyMessage() || !!this.emptyTemplate() ? this.show() : this.hide();\n const focusedOptionIndex = this.overlayVisible && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.suggestionsUpdated = true;\n this.loading = false;\n this.cd.markForCheck();\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 isOptionGroup(option) {\n return this.optionGroupLabel() && option.optionGroup && option.group;\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.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((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 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 isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionDisabled(option) {\n const optionDisabled = this.optionDisabled();\n\n return optionDisabled ? resolveFieldData(option, optionDisabled) : false;\n }\n\n isSelected(option) {\n if (this.multiple()) {\n return this.unique() ? (this.modelValue() as string[])?.some((model) => equals(model, option, this.equalityKey())) : false;\n }\n\n return equals(this.modelValue(), option, this.equalityKey());\n }\n\n isOptionMatched(option, value) {\n return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale()) === value.toLocaleLowerCase(this.searchLocale());\n }\n\n isInputClicked(event) {\n return event.target === this.inputEL()?.nativeElement;\n }\n\n isDropdownClicked(event) {\n const dropdownButton = this.dropdownButton();\n\n return dropdownButton?.nativeElement ? event.target === dropdownButton.nativeElement || dropdownButton.nativeElement.contains(event.target) : false;\n }\n\n equalityKey() {\n return this.optionValue() ? undefined : this.dataKey();\n }\n\n onContainerClick(event) {\n if (this.$disabled() || this.loading || this.isInputClicked(event) || this.isDropdownClicked(event)) {\n return;\n }\n\n const overlayViewChild = this.overlayViewChild();\n\n if (!overlayViewChild || !overlayViewChild.overlayViewChild()?.nativeElement.contains(event.target)) {\n focus(this.inputEL()?.nativeElement);\n }\n }\n\n handleDropdownClick(event) {\n let query: string | undefined = undefined;\n\n if (this.overlayVisible) {\n this.hide(true);\n } else {\n const inputEL = this.inputEL();\n\n focus(inputEL?.nativeElement);\n query = inputEL?.nativeElement?.value as string;\n\n const dropdownMode = this.dropdownMode();\n\n if (dropdownMode === 'blank') this.search(event, '', 'dropdown');\n else if (dropdownMode === 'current') this.search(event, query, 'dropdown');\n }\n\n this.onDropdownClick.emit({ originalEvent: event, query });\n }\n\n onInput(event) {\n if (this.typeahead()) {\n const _minLength = this.minQueryLength() || this.minLength();\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n let query = event.target.value;\n\n if (this.maxlength() !== null) {\n query = query.split('').slice(0, this.maxlength()).join('');\n }\n\n const multiple = this.multiple();\n\n if (!multiple && !this.forceSelection()) {\n this.updateModel(query);\n }\n\n if (query.length === 0 && !multiple) {\n this.onClear.emit(undefined);\n\n setTimeout(() => {\n this.hide();\n }, this.delay() / 2);\n } else {\n if (query.length >= _minLength) {\n this.focusedOptionIndex.set(-1);\n\n this.searchTimeout = setTimeout(() => {\n this.search(event, query, 'input');\n }, this.delay());\n } else {\n this.hide();\n }\n }\n }\n }\n\n onInputChange(event) {\n this.updateInputWithForceSelection(event);\n }\n\n onInputFocus(event) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n if (!this.dirty && this.completeOnFocus()) {\n this.search(event, event.target.value, 'focus');\n }\n\n this.dirty = true;\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.overlayVisible && this.scrollInView(this.focusedOptionIndex());\n this.onFocus.emit(event);\n }\n\n onMultipleContainerFocus() {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n }\n\n onMultipleContainerBlur() {\n this.focusedMultipleOptionIndex.set(-1);\n this.focused = false;\n }\n\n onMultipleContainerKeyDown(event) {\n if (this.$disabled()) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOnMultiple();\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOnMultiple();\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOnMultiple(event);\n break;\n\n default:\n break;\n }\n }\n\n onInputBlur(event) {\n this.dirty = false;\n this.focused = false;\n this.focusedOptionIndex.set(-1);\n\n if (this.addOnBlur() && this.multiple() && !this.typeahead()) {\n const inputValue = (this.multiInputEl()?.nativeElement?.value || event.target.value || '').trim();\n\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n const multiInputEl = this.multiInputEl();\n\n if (multiInputEl?.nativeElement) {\n multiInputEl.nativeElement.value = '';\n } else {\n event.target.value = '';\n }\n }\n }\n\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onInputPaste(event) {\n const separator = this.separator();\n\n if (separator && this.multiple() && !this.typeahead()) {\n const pastedData = (event.clipboardData || (window as any)['clipboardData'])?.getData('Text');\n\n if (pastedData) {\n const values = pastedData.split(separator);\n const newValues = [...(this.modelValue() || [])];\n\n values.forEach((value: string) => {\n const trimmedValue = value.trim();\n\n if (trimmedValue && !this.isSelected(trimmedValue)) {\n newValues.push(trimmedValue);\n }\n });\n\n if (newValues.length > (this.modelValue() || []).length) {\n const addedValues = newValues.slice((this.modelValue() || []).length);\n\n this.updateModel(newValues);\n addedValues.forEach((addedValue) => {\n this.onAdd.emit({ originalEvent: event, value: addedValue });\n });\n const multiInputEl = this.multiInputEl();\n\n if (multiInputEl?.nativeElement) {\n multiInputEl.nativeElement.value = '';\n } else {\n event.target.value = '';\n }\n\n event.preventDefault();\n }\n }\n } else {\n this.onKeyDown(event);\n }\n }\n\n onInputKeyUp(event) {\n this.onKeyUp.emit(event);\n }\n\n onKeyDown(event) {\n if (this.$disabled()) {\n event.preventDefault();\n\n return;\n }\n\n // Emit keydown event for external handling\n this.onInputKeydown.emit(event);\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 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKey(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 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n this.handleSeparatorKey(event);\n break;\n }\n }\n\n handleSeparatorKey(event) {\n const separator = this.separator();\n\n if (separator && this.multiple() && !this.typeahead()) {\n if (separator === event.key || (typeof separator === 'string' && event.key === separator) || (separator instanceof RegExp && event.key.match(separator))) {\n const inputValue = (this.multiInputEl()?.nativeElement?.value || event.target.value || '').trim();\n\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n const multiInputEl = this.multiInputEl();\n\n if (multiInputEl?.nativeElement) {\n multiInputEl.nativeElement.value = '';\n } else {\n event.target.value = '';\n }\n\n event.preventDefault();\n }\n }\n }\n }\n\n onArrowDownKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowUpKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n if (event.altKey) {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n onArrowLeftKey(event) {\n const target = event.currentTarget;\n\n this.focusedOptionIndex.set(-1);\n\n if (this.multiple()) {\n if (isEmpty(target.value) && this.hasSelectedOption()) {\n focus(this.multiContainerEL()?.nativeElement);\n this.focusedMultipleOptionIndex.set(this.modelValue().length);\n } else {\n event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method\n }\n }\n }\n\n onArrowRightKey(event) {\n this.focusedOptionIndex.set(-1);\n\n this.multiple() && event.stopPropagation(); // To prevent onArrowRightKeyOnMultiple method\n }\n\n onHomeKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onEndKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onPageDownKey(event) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onEnterKey(event) {\n if (!this.typeahead() && !this.forceSelection()) {\n if (this.multiple()) {\n const inputValue = event.target.value?.trim();\n\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n const inputEL = this.inputEL();\n\n inputEL?.nativeElement && (inputEL.nativeElement.value = '');\n }\n }\n }\n\n if (!this.overlayVisible) {\n return;\n } else {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.hide();\n }\n\n event.preventDefault();\n }\n\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n }\n\n onTabKey(event) {\n // If there's a focused option in the dropdown, select it\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n\n return;\n }\n\n // Handle tab key behavior for multiple mode without typeahead\n if (this.multiple() && !this.typeahead()) {\n const inputValue = (this.multiInputEl()?.nativeElement?.value || this.inputEL()?.nativeElement?.value || '').trim();\n\n if (this.addOnTab()) {\n if (inputValue && !this.isSelected(inputValue)) {\n // Add the value and keep focus\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n const inputEL = this.inputEL();\n const multiInputEl = this.multiInputEl();\n\n if (multiInputEl?.nativeElement) {\n multiInputEl.nativeElement.value = '';\n } else if (inputEL?.nativeElement) {\n inputEL.nativeElement.value = '';\n }\n\n this.updateInputValue();\n event.preventDefault(); // Keep focus on the component\n this.overlayVisible && this.hide();\n\n return;\n }\n // If no value or already selected, allow normal tab behavior (blur)\n }\n // If addOnTab is false or no value to add, allow normal tab behavior\n // which will trigger blur and potentially addOnBlur\n }\n\n this.overlayVisible && this.hide();\n }\n\n onBackspaceKey(event) {\n if (this.multiple()) {\n if (isNotEmpty(this.modelValue()) && !this.inputEL()?.nativeElement?.value) {\n const removedValue = this.modelValue()[this.modelValue().length - 1];\n const newValue = this.modelValue().slice(0, -1);\n\n this.updateModel(newValue);\n this.onUnselect.emit({ originalEvent: event, value: removedValue });\n }\n\n event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method\n }\n }\n\n onArrowLeftKeyOnMultiple() {\n const optionIndex = this.focusedMultipleOptionIndex() < 1 ? 0 : this.focusedMultipleOptionIndex() - 1;\n\n this.focusedMultipleOptionIndex.set(optionIndex);\n }\n\n onArrowRightKeyOnMultiple() {\n let optionIndex = this.focusedMultipleOptionIndex();\n\n optionIndex++;\n\n this.focusedMultipleOptionIndex.set(optionIndex);\n\n if (optionIndex > this.modelValue().length - 1) {\n this.focusedMultipleOptionIndex.set(-1);\n focus(this.inputEL()?.nativeElement);\n }\n }\n\n onBackspaceKeyOnMultiple(event) {\n if (this.focusedMultipleOptionIndex() !== -1) {\n this.removeOption(event, this.focusedMultipleOptionIndex());\n }\n }\n\n onOptionSelect(event, option, isHide = true) {\n if (this.multiple()) {\n const inputEL = this.inputEL();\n\n inputEL?.nativeElement && (inputEL.nativeElement.value = '');\n\n if (!this.isSelected(option)) {\n this.updateModel([...(this.modelValue() || []), option]);\n }\n } else {\n this.updateModel(option);\n }\n\n this.onSelect.emit({ originalEvent: event, value: option });\n\n isHide && this.hide(true);\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover()) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n search(event, query, source) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n }\n\n //do not search blank values on input change\n if (source === 'input' && query.trim().length === 0) {\n return;\n }\n\n this.loading = true;\n this.completeMethod.emit({ originalEvent: event, query });\n }\n\n removeOption(event, index) {\n event.stopPropagation();\n\n const removedOption = this.modelValue()[index];\n const value = (this.modelValue() as string[]).filter((_, i) => i !== index);\n\n this.updateModel(value);\n this.onUnselect.emit({ originalEvent: event, value: removedOption });\n focus(this.inputEL()?.nativeElement);\n }\n\n updateModel(options) {\n let value = null;\n\n if (options) {\n value = this.multiple() ? options.map((option) => this.getOptionValue(option)) : this.getOptionValue(options);\n }\n\n this.value = value;\n this.writeModelValue(options);\n this.onModelChange(value);\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n updateInputValue() {\n const inputEL = this.inputEL();\n\n if (inputEL && inputEL.nativeElement) {\n if (!this.multiple()) {\n inputEL.nativeElement.value = this.inputValue();\n } else {\n inputEL.nativeElement.value = '';\n }\n }\n }\n\n updateInputWithForceSelection(event: any) {\n const input = this.inputEL()?.nativeElement;\n const inputCleared = !input?.value && isNotEmpty(this.modelValue());\n\n if (!this.forceSelection() || this.overlayVisible || (!input?.value && !inputCleared)) {\n return;\n }\n\n const _minLength = this.minQueryLength() ?? this.minLength();\n\n if (!inputCleared && input.value.length < _minLength) {\n return;\n }\n\n const matchedOption = this.visibleOptions()?.find((option) => this.isOptionMatched(option, input.value));\n\n if (!matchedOption) {\n input.value = '';\n\n if (!this.multiple()) {\n this.clear();\n }\n\n return;\n }\n\n if (matchedOption && !this.isSelected(matchedOption)) {\n this.onOptionSelect(event, matchedOption);\n }\n }\n\n autoUpdateModel() {\n if ((this.selectOnFocus() || this.autoHighlight()) && this.autoOptionFocus() && !this.hasSelectedOption()) {\n const focusedOptionIndex = this.findFirstFocusedOptionIndex();\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);\n }\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.resolvedId}_${index}` : this.focusedOptionId;\n const itemsViewChild = this.itemsViewChild();\n\n if (itemsViewChild && itemsViewChild.nativeElement) {\n const element = findSingle(itemsViewChild.nativeElement, `li[id=\"${id}\"]`);\n\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n setTimeout(() => {\n this.virtualScroll() && this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }, 0);\n }\n }\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus()) {\n this.onOptionSelect(event, this.visibleOptions()[index], false);\n }\n }\n }\n\n show(isFocus = false) {\n this.dirty = true;\n this.overlayVisible = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n isFocus && focus(this.inputEL()?.nativeElement);\n\n if (isFocus) {\n focus(this.inputEL()?.nativeElement);\n }\n\n this.onShow.emit(undefined);\n this.cd.markForCheck();\n }\n\n hide(isFocus = false) {\n const _hide = () => {\n this.dirty = isFocus;\n this.overlayVisible = false;\n this.focusedOptionIndex.set(-1);\n isFocus && focus(this.inputEL()?.nativeElement);\n this.onHide.emit(undefined);\n this.updateInputWithForceSelection(null);\n this.cd.markForCheck();\n };\n\n setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n }\n\n clear() {\n this.updateModel(null);\n const inputEL = this.inputEL();\n\n inputEL?.nativeElement && (inputEL.nativeElement.value = '');\n this.onClear.emit(undefined);\n }\n\n hasSelectedOption() {\n return isNotEmpty(this.modelValue());\n }\n\n getAriaPosInset(index) {\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 getOptionLabel(option: any) {\n const optionLabel = this.optionLabel();\n\n return optionLabel ? resolveFieldData(option, optionLabel) : option && option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option) {\n const optionValue = this.optionValue();\n\n return optionValue ? resolveFieldData(option, optionValue) : option && option.value != undefined ? option.value : option;\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\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 getOptionGroupChildren(optionGroup: any) {\n const optionGroupChildren = this.optionGroupChildren();\n\n return optionGroupChildren ? resolveFieldData(optionGroup, optionGroupChildren) : optionGroup.items;\n }\n\n getPTOptions(option: any, scrollerOptions: any, index: number, key: string) {\n return this.ptm(key, {\n context: {\n option,\n index: this.getOptionIndex(index, scrollerOptions),\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions),\n disabled: this.isOptionDisabled(option)\n }\n });\n }\n\n onOverlayBeforeEnter() {\n this.itemsWrapper = <any>findSingle(this.overlayViewChild().overlayViewChild()?.nativeElement, this.virtualScroll() ? '[data-pc-name=\"virtualscroller\"]' : '[data-pc-name=\"pcoverlay\"]');\n\n const scroller = this.scroller();\n\n const virtualScroll = this.virtualScroll();\n\n if (virtualScroll) {\n scroller?.setContentEl(this.itemsViewChild()?.nativeElement);\n scroller?.viewInit();\n }\n\n if (this.visibleOptions() && this.visibleOptions().length) {\n if (virtualScroll) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n\n if (selectedIndex !== -1) {\n scroller?.scrollToIndex(selectedIndex);\n }\n } else {\n let selectedListItem = findSingle(this.itemsWrapper as HTMLElement, '[data-pc-section=\"option\"][data-p-selected=\"true\"]');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'center' });\n }\n }\n }\n }\n\n get containerDataP() {\n return this.cn({\n fluid: this.hasFluid\n });\n }\n\n get overlayDataP() {\n return this.cn({\n [`overlay-${this.$appendTo()}`]: true\n });\n }\n\n get inputMultipleDataP() {\n return this.cn({\n invalid: this.invalid(),\n disabled: this.$disabled(),\n focus: this.focused,\n fluid: this.hasFluid,\n filled: this.$variant() === 'filled',\n empty: !this.$filled(),\n [this.size() as string]: this.size()\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 if (this.multiple()) {\n const resolved = (value || []).map((val: any) => {\n const match = this.visibleOptions().find((option: any) => equals(val, option, this.equalityKey()));\n\n return match ?? val;\n });\n\n setModelValue(isEmpty(value) ? value : resolved);\n } else {\n const option = this.visibleOptions().find((option: any) => equals(value, option, this.equalityKey()));\n\n setModelValue(isEmpty(option) ? value : option);\n }\n\n this.value = value;\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n onDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n }\n}\n\n@NgModule({\n imports: [AutoComplete, SharedModule],\n exports: [AutoComplete, SharedModule]\n})\nexport class AutoCompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["autocomplete_style"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wawjs-ngx-prime-autocomplete.mjs","sources":["../../src/autocomplete/style/autocompletestyle.ts","../../src/autocomplete/autocomplete.ts","../../src/autocomplete/wawjs-ngx-prime-autocomplete.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style as autocomplete_style } from '@wawjs/css-prime-styles/autocomplete';\nimport { BaseStyle } from '@wawjs/ngx-prime/base';\n\nconst style = /*css*/ `\n${autocomplete_style}\n\n/* For ngx-prime */\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input,\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input-multiple,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input-multiple p-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input,\np-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input-multiple {\n border-color: dt('autocomplete.invalid.border.color');\n}\n\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input:enabled:focus,\np-autoComplete.ng-invalid.ng-dirty:not(.p-disabled).p-focus .p-autocomplete-input-multiple,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input:enabled:focus,\np-auto-complete.ng-invalid.ng-dirty:not(.p-disabled).p-focus .p-autocomplete-input-multiple,\np-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input:enabled:focus,\np-autocomplete.ng-invalid.ng-dirty:not(.p-disabled).p-focus .p-autocomplete-input-multiple {\n border-color: dt('autocomplete.focus.border.color');\n}\n\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input-chip input::placeholder,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input-chip input::placeholder,\np-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input-chip input::placeholder {\n color: dt('autocomplete.invalid.placeholder.color');\n}\n\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input::placeholder,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input::placeholder,\np-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input::placeholder {\n color: dt('autocomplete.invalid.placeholder.color');\n}\n`;\n\nconst inlineStyles = {\n root: { position: 'relative' }\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'p-autocomplete p-component p-inputwrapper',\n {\n 'p-invalid': instance.invalid(),\n 'p-focus': instance.focused,\n 'p-inputwrapper-filled': instance.$filled(),\n 'p-inputwrapper-focus': (instance.focused && !instance.$disabled()) || instance.autofocus || instance.overlayVisible,\n 'p-autocomplete-open': instance.overlayVisible,\n 'p-autocomplete-clearable': instance.showClear && !instance.$disabled(),\n 'p-autocomplete-fluid': instance.hasFluid\n }\n ],\n pcInputText: 'p-autocomplete-input',\n inputMultiple: ({ instance }) => [\n 'p-autocomplete-input-multiple',\n {\n 'p-disabled': instance.$disabled(),\n 'p-variant-filled': instance.$variant() === 'filled'\n }\n ],\n chipItem: ({ instance, i }) => [\n 'p-autocomplete-chip-item',\n {\n 'p-focus': instance.focusedMultipleOptionIndex() === i\n }\n ],\n pcChip: 'p-autocomplete-chip',\n chipIcon: 'p-autocomplete-chip-icon',\n inputChip: 'p-autocomplete-input-chip',\n loader: 'p-autocomplete-loader',\n dropdown: 'p-autocomplete-dropdown',\n overlay: ({ instance }) => ['p-autocomplete-overlay p-component-overlay p-component', { 'p-input-filled': instance.$variant() === 'filled', 'p-ripple-disabled': instance.config.ripple() === false }],\n listContainer: 'p-autocomplete-list-container',\n list: 'p-autocomplete-list',\n optionGroup: 'p-autocomplete-option-group',\n option: ({ instance, option, i, scrollerOptions }) => ({\n 'p-autocomplete-option': true,\n 'p-autocomplete-option-selected': instance.isSelected(option),\n 'p-focus': instance.focusedOptionIndex() === instance.getOptionIndex(i, scrollerOptions),\n 'p-disabled': instance.isOptionDisabled(option)\n }),\n emptyMessage: 'p-autocomplete-empty-message',\n clearIcon: 'p-autocomplete-clear-icon'\n};\n\n@Injectable()\nexport class AutoCompleteStyle extends BaseStyle {\n name = 'autocomplete';\n\n style = style;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * AutoComplete is an input component that provides real-time suggestions while being typed.\n *\n * [Live Demo](https://www.ngx-prime.org/autocomplete/)\n *\n * @module autocompletestyle\n *\n */\nexport enum AutoCompleteClasses {\n /**\n * Class name of the root element\n */\n root = 'p-autocomplete',\n /**\n * Class name of the input element\n */\n pcInputText = 'p-autocomplete-input',\n /**\n * Class name of the input multiple element\n */\n inputMultiple = 'p-autocomplete-input-multiple',\n /**\n * Class name of the chip item element\n */\n chipItem = 'p-autocomplete-chip-item',\n /**\n * Class name of the chip element\n */\n pcChip = 'p-autocomplete-chip',\n /**\n * Class name of the chip icon element\n */\n chipIcon = 'p-autocomplete-chip-icon',\n /**\n * Class name of the input chip element\n */\n inputChip = 'p-autocomplete-input-chip',\n /**\n * Class name of the loader element\n */\n loader = 'p-autocomplete-loader',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'p-autocomplete-dropdown',\n /**\n * Class name of the panel element\n */\n panel = 'p-autocomplete-overlay',\n /**\n * Class name of the list element\n */\n list = 'p-autocomplete-list',\n /**\n * Class name of the option group element\n */\n optionGroup = 'p-autocomplete-option-group',\n /**\n * Class name of the option element\n */\n option = 'p-autocomplete-option',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-autocomplete-empty-message',\n /**\n * Class name of the clear icon\n */\n clearIcon = 'p-autocomplete-clear-icon'\n}\n","import { CommonModule } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n effect,\n ElementRef,\n forwardRef,\n inject,\n InjectionToken,\n input,\n NgModule,\n NgZone,\n numberAttribute,\n output,\n signal,\n TemplateRef,\n ViewEncapsulation,\n viewChild,\n contentChild,\n contentChildren\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MotionOptions } from '@wawjs/css-prime-motion';\nimport { equals, findLastIndex, findSingle, focus, isEmpty, isNotEmpty, resolveFieldData, uuid } from '@wawjs/css-prime-utils';\nimport { OverlayOptions, OverlayService, PrimeTemplate, ScrollerOptions, SharedModule, TranslationKeys } from '@wawjs/ngx-prime/api';\nimport { AutoFocus } from '@wawjs/ngx-prime/autofocus';\nimport { PARENT_INSTANCE } from '@wawjs/ngx-prime/basecomponent';\nimport { BaseInput } from '@wawjs/ngx-prime/baseinput';\nimport { Bind, BindModule } from '@wawjs/ngx-prime/bind';\nimport { Chip } from '@wawjs/ngx-prime/chip';\nimport { ConnectedOverlayScrollHandler } from '@wawjs/ngx-prime/dom';\nimport { ChevronDownIcon, SpinnerIcon, TimesCircleIcon, TimesIcon } from '@wawjs/ngx-prime/icons';\nimport { InputText } from '@wawjs/ngx-prime/inputtext';\nimport { Overlay } from '@wawjs/ngx-prime/overlay';\nimport { Ripple } from '@wawjs/ngx-prime/ripple';\nimport { Scroller } from '@wawjs/ngx-prime/scroller';\nimport { Nullable } from '@wawjs/ngx-prime/ts-helpers';\nimport {\n AutoCompleteAddEvent,\n AutoCompleteCompleteEvent,\n AutoCompleteDropdownClickEvent,\n AutoCompleteGroupTemplateContext,\n AutoCompleteItemTemplateContext,\n AutoCompleteLazyLoadEvent,\n AutoCompleteLoaderTemplateContext,\n AutoCompletePassThrough,\n AutoCompleteRemoveIconTemplateContext,\n AutoCompleteSelectedItemTemplateContext,\n AutoCompleteSelectEvent,\n AutoCompleteUnselectEvent\n} from '@wawjs/ngx-prime/types/autocomplete';\nimport { AutoCompleteStyle } from './style/autocompletestyle';\n\nconst AUTOCOMPLETE_INSTANCE = new InjectionToken<AutoComplete>('AUTOCOMPLETE_INSTANCE');\n\nexport const AUTOCOMPLETE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutoComplete),\n multi: true\n};\n\n/**\n * AutoComplete is an input component that provides real-time suggestions when being typed.\n * @group Components\n */\n@Component({\n selector: 'p-autoComplete, p-autocomplete, p-auto-complete',\n standalone: true,\n imports: [CommonModule, Overlay, InputText, Ripple, Scroller, AutoFocus, TimesCircleIcon, SpinnerIcon, ChevronDownIcon, Chip, SharedModule, TimesIcon, BindModule],\n template: `\n @if (!multiple()) {\n <input\n #focusInput\n [pAutoFocus]=\"autofocus()\"\n pInputText\n [pt]=\"ptm('pcInputText')\"\n [class]=\"cn(cx('pcInputText'), inputStyleClass())\"\n [ngStyle]=\"inputStyle()\"\n [attr.type]=\"type()\"\n [attr.value]=\"inputValue()\"\n [variant]=\"$variant()\"\n [invalid]=\"invalid()\"\n [attr.id]=\"inputId()\"\n [attr.autocomplete]=\"autocomplete()\"\n aria-autocomplete=\"list\"\n role=\"combobox\"\n [attr.placeholder]=\"placeholder()\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [pSize]=\"size()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"pattern()\"\n [attr.size]=\"inputSize()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.tabindex]=\"!$disabled() ? tabindex() : -1\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id() + '_list' : null\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onInputPaste($event)\"\n (keyup)=\"onInputKeyUp($event)\"\n [fluid]=\"hasFluid\"\n [pInputTextUnstyled]=\"unstyled()\"\n />\n }\n @if ($filled() && !$disabled() && showClear() && !loading) {\n <ng-container>\n @if (!clearIconTemplate && !_clearIconTemplate) {\n <svg data-p-icon=\"times\" [pBind]=\"ptm('clearIcon')\" [class]=\"cx('clearIcon')\" (click)=\"clear()\" [attr.aria-hidden]=\"true\" />\n }\n @if (clearIconTemplate || _clearIconTemplate) {\n <span [pBind]=\"ptm('clearIcon')\" [class]=\"cx('clearIcon')\" (click)=\"clear()\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate || _clearIconTemplate\"></ng-template>\n </span>\n }\n </ng-container>\n }\n\n @if (multiple()) {\n <ul\n #multiContainer\n [pBind]=\"ptm('inputMultiple')\"\n [class]=\"cx('inputMultiple')\"\n [attr.data-p]=\"inputMultipleDataP\"\n [tabindex]=\"-1\"\n role=\"listbox\"\n [attr.aria-orientation]=\"'horizontal'\"\n [attr.aria-activedescendant]=\"focused ? focusedMultipleOptionId : undefined\"\n (focus)=\"onMultipleContainerFocus($event)\"\n (blur)=\"onMultipleContainerBlur($event)\"\n (keydown)=\"onMultipleContainerKeyDown($event)\"\n >\n @for (option of modelValue(); track option; let i = $index) {\n <li\n #token\n [pBind]=\"ptm('chipItem')\"\n [class]=\"cx('chipItem', { i })\"\n [attr.id]=\"id() + '_multiple_option_' + i\"\n role=\"option\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-setsize]=\"modelValue().length\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-selected]=\"true\"\n >\n <p-chip\n [pt]=\"ptm('pcChip')\"\n [class]=\"cx('pcChip')\"\n [label]=\"!selectedItemTemplate() && !_selectedItemTemplate && getOptionLabel(option)\"\n [disabled]=\"$disabled()\"\n [removable]=\"true\"\n (onRemove)=\"!readonly() ? removeOption($event, i) : ''\"\n [unstyled]=\"unstyled()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate() || _selectedItemTemplate; context: { $implicit: option }\"></ng-container>\n <ng-template #removeicon>\n @if (!removeIconTemplate && !_removeIconTemplate) {\n <span [pBind]=\"ptm('chipIcon')\" [class]=\"cx('chipIcon')\" (click)=\"!readonly() && !$disabled() ? removeOption($event, i) : ''\">\n <svg data-p-icon=\"times-circle\" [class]=\"cx('chipIcon')\" [attr.aria-hidden]=\"true\" />\n </span>\n }\n @if (removeIconTemplate || _removeIconTemplate) {\n <span [pBind]=\"ptm('chipIcon')\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"removeIconTemplate || _removeIconTemplate; context: { removeCallback: removeOption.bind(this), index: i, class: cx('chipIcon') }\"></ng-template>\n </span>\n }\n </ng-template>\n </p-chip>\n </li>\n }\n <li [pBind]=\"ptm('inputChip')\" [class]=\"cx('inputChip')\" role=\"option\">\n <input\n #focusInput\n #multiIn\n [pAutoFocus]=\"autofocus()\"\n [pBind]=\"ptm('input')\"\n [class]=\"cx('pcInputText')\"\n [ngStyle]=\"inputStyle()\"\n [attr.type]=\"type()\"\n [attr.id]=\"inputId()\"\n [attr.autocomplete]=\"autocomplete()\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.size]=\"size()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"pattern()\"\n role=\"combobox\"\n [attr.placeholder]=\"!$filled() ? placeholder() : null\"\n aria-autocomplete=\"list\"\n [attr.tabindex]=\"!$disabled() ? tabindex() : -1\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id() + '_list' : null\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onInputPaste($event)\"\n (keyup)=\"onInputKeyUp($event)\"\n />\n </li>\n </ul>\n }\n @if (loading) {\n <ng-container>\n @if (!loadingIconTemplate && !_loadingIconTemplate) {\n <svg data-p-icon=\"spinner\" [pBind]=\"ptm('loader')\" [class]=\"cx('loader')\" [spin]=\"true\" [attr.aria-hidden]=\"true\" />\n }\n @if (loadingIconTemplate || _loadingIconTemplate) {\n <span [pBind]=\"ptm('loader')\" [class]=\"cx('loader')\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate || _loadingIconTemplate\"></ng-template>\n </span>\n }\n </ng-container>\n }\n @if (dropdown()) {\n <button #ddBtn type=\"button\" [pBind]=\"ptm('dropdown')\" [attr.aria-label]=\"dropdownAriaLabel()\" [class]=\"cx('dropdown')\" [disabled]=\"$disabled()\" pRipple (click)=\"handleDropdownClick($event)\" [attr.tabindex]=\"tabindex()\">\n @if (dropdownIcon()) {\n <span [ngClass]=\"dropdownIcon()\" [attr.aria-hidden]=\"true\"></span>\n }\n @if (!dropdownIcon()) {\n <ng-container>\n @if (!dropdownIconTemplate() && !_dropdownIconTemplate) {\n <svg data-p-icon=\"chevron-down\" [pBind]=\"ptm('dropdown')\" />\n }\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate() || _dropdownIconTemplate\"></ng-template>\n </ng-container>\n }\n </button>\n }\n <p-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions()\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n [unstyled]=\"unstyled()\"\n [pt]=\"ptm('pcOverlay')\"\n [motionOptions]=\"motionOptions()\"\n (onBeforeEnter)=\"onOverlayBeforeEnter()\"\n (onHide)=\"hide()\"\n [attr.data-p]=\"overlayDataP\"\n >\n <ng-template #content>\n <div [pBind]=\"ptm('overlay')\" [class]=\"cn(cx('overlay'), panelStyleClass())\" [ngStyle]=\"panelStyle()\">\n <ng-container *ngTemplateOutlet=\"headerTemplate() || _headerTemplate\"></ng-container>\n <div [pBind]=\"ptm('listContainer')\" [class]=\"cx('listContainer')\" [style.max-height]=\"virtualScroll() ? 'auto' : scrollHeight()\" [tabindex]=\"-1\">\n @if (virtualScroll()) {\n <p-scroller\n #scroller\n [tabindex]=\"-1\"\n [pt]=\"ptm('virtualScroller')\"\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight() }\"\n [itemSize]=\"virtualScrollItemSize()\"\n [autoSize]=\"true\"\n [lazy]=\"lazy()\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions()\"\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 </div>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [pBind]=\"ptm('list')\" [class]=\"cn(cx('list'), scrollerOptions.contentStyleClass)\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" [attr.id]=\"id() + '_list'\" [attr.aria-label]=\"listLabel\">\n @for (option of items; track option; let i = $index) {\n @if (isOptionGroup(option)) {\n <li [pBind]=\"ptm('optionGroup')\" [attr.id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\" [class]=\"cx('optionGroup')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n @if (!groupTemplate()) {\n <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"groupTemplate(); context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n }\n @if (!isOptionGroup(option)) {\n <li\n pRipple\n [pBind]=\"getPTOptions(option, scrollerOptions, i, 'option')\"\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n [class]=\"cx('option', { option, i, scrollerOptions })\"\n [attr.id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\"\n role=\"option\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-selected]=\"isSelected(option)\"\n [attr.data-p-selected]=\"isSelected(option)\"\n [attr.aria-disabled]=\"isOptionDisabled(option)\"\n [attr.data-p-focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [attr.aria-setsize]=\"ariaSetSize\"\n [attr.aria-posinset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n (click)=\"onOptionSelect($event, option)\"\n (mouseenter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\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: scrollerOptions.getOptions ? scrollerOptions.getOptions(i) : i\n }\n \"\n ></ng-container>\n </li>\n }\n }\n @if (!items || (items && items.length === 0 && showEmptyMessage())) {\n <li [pBind]=\"ptm('emptyMessage')\" [class]=\"cx('emptyMessage')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n @if (!emptyTemplate() && !_emptyTemplate) {\n {{ searchResultMessageText }}\n } @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate() || _emptyTemplate\"></ng-container>\n }\n </li>\n }\n </ul>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate() || _footerTemplate\"></ng-container>\n </div>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\">\n {{ selectedMessageText }}\n </span>\n </ng-template>\n </p-overlay>\n `,\n providers: [AUTOCOMPLETE_VALUE_ACCESSOR, AutoCompleteStyle, { provide: AUTOCOMPLETE_INSTANCE, useExisting: AutoComplete }, { provide: PARENT_INSTANCE, useExisting: AutoComplete }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cn(cx('root'), styleClass())\",\n '[style]': \"sx('root')\",\n '[attr.data-p]': 'containerDataP',\n '(click)': 'onHostClick($event)'\n },\n hostDirectives: [Bind]\n})\nexport class AutoComplete extends BaseInput<AutoCompletePassThrough> {\n overlayService = inject(OverlayService);\n private zone = inject(NgZone);\n\n componentName = 'AutoComplete';\n\n $pcAutoComplete: AutoComplete | undefined = inject(AUTOCOMPLETE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Minimum number of characters to initiate a search.\n * @deprecated since v20.0.0, use `minQueryLength` instead.\n * @group Props\n */\n readonly minLength = input<number, unknown>(1, { transform: numberAttribute });\n /**\n * Minimum number of characters to initiate a search.\n * @group Props\n */\n readonly minQueryLength = input<number, unknown>(undefined, { transform: numberAttribute });\n /**\n * Delay between keystrokes to wait before sending a query.\n * @group Props\n */\n readonly delay = input<number, unknown>(300, { transform: numberAttribute });\n /**\n * Inline style of the overlay panel element.\n * @group Props\n */\n readonly panelStyle = input<{\n [klass: string]: any;\n } | null>();\n /**\n * Style class of the component.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n readonly styleClass = input<string>();\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n readonly panelStyleClass = input<string>();\n /**\n * Inline style of the input field.\n * @group Props\n */\n readonly inputStyle = input<{\n [klass: string]: any;\n } | null>();\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n readonly inputId = input<string>();\n /**\n * Inline style of the input field.\n * @group Props\n */\n readonly inputStyleClass = input<string>();\n /**\n * Hint text for the input field.\n * @group Props\n */\n readonly placeholder = input<string>();\n /**\n * When present, it specifies that the input cannot be typed.\n * @group Props\n */\n readonly readonly = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Maximum height of the suggestions panel.\n * @group Props\n */\n readonly scrollHeight = input<string>('200px');\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 * When enabled, highlights the first item in the list by default.\n * @group Props\n */\n readonly autoHighlight = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * When present, autocomplete clears the manual input if it does not match of the suggestions to force only accepting values from the suggestions.\n * @group Props\n */\n readonly forceSelection = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Type of the input, defaults to \"text\".\n * @group Props\n */\n readonly type = input<string>('text');\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n readonly autoZIndex = input<boolean, unknown>(true, { transform: booleanAttribute });\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n readonly baseZIndex = input<number, unknown>(0, { transform: numberAttribute });\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n readonly ariaLabel = input<string>();\n /**\n * Defines a string that labels the dropdown button for accessibility.\n * @group Props\n */\n readonly dropdownAriaLabel = input<string>();\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n readonly ariaLabelledBy = input<string>();\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n readonly dropdownIcon = input<string>();\n /**\n * Ensures uniqueness of selected items on multiple mode.\n * @group Props\n */\n readonly unique = input<boolean, unknown>(true, { transform: booleanAttribute });\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 * Whether to run a query when input receives focus.\n * @group Props\n */\n readonly completeOnFocus = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n readonly showClear = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Displays a button next to the input field when enabled.\n * @group Props\n */\n readonly dropdown = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Whether to show the empty message or not.\n * @group Props\n */\n readonly showEmptyMessage = input<boolean | undefined, unknown>(true, { transform: booleanAttribute });\n /**\n * Specifies the behavior dropdown button. Default \"blank\" mode sends an empty string and \"current\" mode sends the input value.\n * @group Props\n */\n readonly dropdownMode = input<string>('blank');\n /**\n * Specifies if multiple values can be selected.\n * @group Props\n */\n readonly multiple = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * When enabled, the input value is added to the selected items on tab key press when multiple is true and typeahead is false.\n * @group Props\n */\n readonly addOnTab = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n readonly tabindex = input<number, unknown>(undefined, { transform: numberAttribute });\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n readonly dataKey = 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 * Transition options of the show animation.\n * @group Props\n * @deprecated since v21.0.0, use `motionOptions` instead.\n */\n readonly showTransitionOptions = input<string>('.12s cubic-bezier(0, 0, 0.2, 1)');\n /**\n * Transition options of the hide animation.\n * @group Props\n * @deprecated since v21.0.0, use `motionOptions` instead.\n */\n readonly hideTransitionOptions = input<string>('.1s linear');\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n readonly autofocus = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n readonly autocomplete = input<string>('off');\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 * Options for the overlay element.\n * @group Props\n */\n readonly overlayOptions = input<OverlayOptions>();\n\n /**\n * An array of suggestions to display.\n * @group Props\n */\n readonly suggestions = input<any[]>();\n\n /**\n * Property name or getter function to use as the label of an option.\n * @group Props\n */\n readonly optionLabel = input<string | ((item: any) => string)>();\n /**\n * Property name or getter function to use as the value of an option.\n * @group Props\n */\n readonly optionValue = input<string | ((item: any) => string)>();\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>(false, { transform: booleanAttribute });\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 * Property name or getter function to use as the disabled flag of an option, defaults to false when not defined.\n * @group Props\n */\n readonly optionDisabled = input<string | ((item: any) => string)>();\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 * Whether typeahead is active or not.\n * @defaultValue true\n * @group Props\n */\n readonly typeahead = input<boolean, unknown>(true, { transform: booleanAttribute });\n /**\n * Whether to add an item on blur event if the input has value and typeahead is false with multiple mode.\n * @defaultValue false\n * @group Props\n */\n readonly addOnBlur = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Separator char to add item when typeahead is false and multiple mode is enabled.\n * @group Props\n */\n readonly separator = input<string | RegExp>();\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>(undefined);\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n /**\n * Callback to invoke to search for suggestions.\n * @param {AutoCompleteCompleteEvent} event - Custom complete event.\n * @group Emits\n */\n completeMethod = output<AutoCompleteCompleteEvent>();\n /**\n * Callback to invoke when a suggestion is selected.\n * @param {AutoCompleteSelectEvent} event - custom select event.\n * @group Emits\n */\n onSelect = output<AutoCompleteSelectEvent>();\n /**\n * Callback to invoke when a selected value is removed.\n * @param {AutoCompleteUnselectEvent} event - custom unselect event.\n * @group Emits\n */\n onUnselect = output<AutoCompleteUnselectEvent>();\n /**\n * Callback to invoke when an item is added via addOnBlur or separator features.\n * @param {AutoCompleteAddEvent} event - Custom add event.\n * @group Emits\n */\n onAdd = output<AutoCompleteAddEvent>();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onFocus = output<Event>();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onBlur = output<Event>();\n /**\n * Callback to invoke to when dropdown button is clicked.\n * @param {AutoCompleteDropdownClickEvent} event - custom dropdown click event.\n * @group Emits\n */\n onDropdownClick = output<AutoCompleteDropdownClickEvent>();\n /**\n * Callback to invoke when clear button is clicked.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onClear = output<Event | undefined>();\n /**\n * Callback to invoke on input key down.\n * @param {KeyboardEvent} event - Keyboard event.\n * @group Emits\n */\n onInputKeydown = output<KeyboardEvent>();\n /**\n * Callback to invoke on input key up.\n * @param {KeyboardEvent} event - Keyboard event.\n * @group Emits\n */\n onKeyUp = output<KeyboardEvent>();\n /**\n * Callback to invoke on overlay is shown.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onShow = output<Event | undefined>();\n /**\n * Callback to invoke on overlay is hidden.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onHide = output<Event | undefined>();\n /**\n * Callback to invoke on lazy load data.\n * @param {AutoCompleteLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n onLazyLoad = output<AutoCompleteLazyLoadEvent>();\n\n readonly inputEL = viewChild<Nullable<ElementRef>>('focusInput');\n\n readonly multiInputEl = viewChild<Nullable<ElementRef>>('multiIn');\n\n readonly multiContainerEL = viewChild<Nullable<ElementRef>>('multiContainer');\n\n readonly dropdownButton = viewChild<Nullable<ElementRef>>('ddBtn');\n\n readonly itemsViewChild = viewChild<Nullable<ElementRef>>('items');\n\n readonly scroller = viewChild<Nullable<Scroller>>('scroller');\n\n readonly overlayViewChild = viewChild.required<Overlay>('overlay');\n\n itemsWrapper: Nullable<HTMLDivElement>;\n\n /**\n * Custom item template.\n * @group Templates\n */\n readonly itemTemplate = contentChild<Nullable<TemplateRef<AutoCompleteItemTemplateContext>>>('item');\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n readonly emptyTemplate = contentChild<Nullable<TemplateRef<void>>>('empty');\n\n /**\n * Custom header template.\n * @group Templates\n */\n readonly headerTemplate = contentChild<Nullable<TemplateRef<void>>>('header');\n\n /**\n * Custom footer template.\n * @group Templates\n */\n readonly footerTemplate = contentChild<Nullable<TemplateRef<void>>>('footer');\n\n /**\n * Custom selected item template.\n * @group Templates\n */\n readonly selectedItemTemplate = contentChild<Nullable<TemplateRef<AutoCompleteSelectedItemTemplateContext>>>('selecteditem');\n\n /**\n * Custom group template.\n * @group Templates\n */\n readonly groupTemplate = contentChild<Nullable<TemplateRef<AutoCompleteGroupTemplateContext>>>('group');\n\n /**\n * Custom loader template.\n * @group Templates\n */\n @ContentChild('loader') loaderTemplate: Nullable<TemplateRef<AutoCompleteLoaderTemplateContext>>;\n\n /**\n * Custom remove icon template.\n * @group Templates\n */\n @ContentChild('removeicon') removeIconTemplate: Nullable<TemplateRef<AutoCompleteRemoveIconTemplateContext>>;\n\n /**\n * Custom loading icon template.\n * @group Templates\n */\n @ContentChild('loadingicon') loadingIconTemplate: Nullable<TemplateRef<void>>;\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n @ContentChild('clearicon') clearIconTemplate: Nullable<TemplateRef<void>>;\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n readonly dropdownIconTemplate = contentChild<Nullable<TemplateRef<void>>>('dropdownicon');\n\n onHostClick(event: MouseEvent) {\n this.onContainerClick(event);\n }\n\n value: string | any;\n\n _suggestions = signal<any>(null);\n\n timeout: Nullable<any>;\n\n overlayVisible: boolean | undefined;\n\n suggestionsUpdated: Nullable<boolean>;\n\n highlightOption: any;\n\n highlightOptionChanged: Nullable<boolean>;\n\n focused: boolean = false;\n\n loading: Nullable<boolean>;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n listId: string | undefined;\n\n searchTimeout: any;\n\n dirty: boolean = false;\n\n _itemTemplate: TemplateRef<AutoCompleteItemTemplateContext> | undefined;\n\n _groupTemplate: TemplateRef<AutoCompleteGroupTemplateContext> | undefined;\n\n _selectedItemTemplate: TemplateRef<AutoCompleteSelectedItemTemplateContext> | undefined;\n\n _headerTemplate: TemplateRef<void> | undefined;\n\n _emptyTemplate: TemplateRef<void> | undefined;\n\n _footerTemplate: TemplateRef<void> | undefined;\n\n _loaderTemplate: TemplateRef<AutoCompleteLoaderTemplateContext> | undefined;\n\n _removeIconTemplate: TemplateRef<AutoCompleteRemoveIconTemplateContext> | undefined;\n\n _loadingIconTemplate: TemplateRef<void> | undefined;\n\n _clearIconTemplate: TemplateRef<void> | undefined;\n\n _dropdownIconTemplate: TemplateRef<void> | undefined;\n\n focusedMultipleOptionIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n _componentStyle = inject(AutoCompleteStyle);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n visibleOptions = computed(() => (this.group() ? this.flatOptions(this._suggestions()) : this._suggestions() || []));\n\n inputValue = computed(() => {\n const modelValue = this.modelValue();\n const selectedOption = this.optionValueSelected ? (this._suggestions() || []).find((option: any) => equals(option, modelValue, this.equalityKey())) : modelValue;\n\n if (isNotEmpty(modelValue)) {\n if (typeof modelValue === 'object' || this.optionValueSelected) {\n const label = this.getOptionLabel(selectedOption);\n\n return label != null ? label : modelValue;\n } else {\n return modelValue;\n }\n } else {\n return '';\n }\n });\n\n get focusedMultipleOptionId() {\n return this.focusedMultipleOptionIndex() !== -1 ? `${this.resolvedId}_multiple_option_${this.focusedMultipleOptionIndex()}` : null;\n }\n\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.resolvedId}_${this.focusedOptionIndex()}` : null;\n }\n\n get searchResultMessageText() {\n return isNotEmpty(this.visibleOptions()) && this.overlayVisible ? this.searchMessageText.replaceAll('{0}', this.visibleOptions().length) : this.emptySearchMessageText;\n }\n\n get searchMessageText() {\n return this.searchMessage() || this.config.translation.searchMessage || '';\n }\n\n get emptySearchMessageText() {\n return this.emptyMessage() || this.config.translation.emptySearchMessage || '';\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 listLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];\n }\n\n get virtualScrollerDisabled() {\n return !this.virtualScroll();\n }\n\n get optionValueSelected() {\n return typeof this.modelValue() === 'string' && this.optionValue();\n }\n\n chipItemClass(index) {\n return this._componentStyle.classes.chipItem({ instance: this, i: index });\n }\n\n constructor() {\n super();\n\n effect(() => {\n this._suggestions.set(this.suggestions());\n\n this.handleSuggestionsChange();\n });\n }\n\n onInit() {\n this.cd.detectChanges();\n }\n\n readonly templates = contentChildren(PrimeTemplate);\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 'selecteditem':\n this._selectedItemTemplate = item.template;\n break;\n\n case 'selectedItem':\n this._selectedItemTemplate = item.template;\n break;\n\n case 'header':\n this._headerTemplate = item.template;\n break;\n\n case 'empty':\n this._emptyTemplate = item.template;\n break;\n\n case 'footer':\n this._footerTemplate = item.template;\n break;\n\n case 'loader':\n this._loaderTemplate = item.template;\n break;\n\n case 'removetokenicon':\n this._removeIconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this._loadingIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this._clearIconTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this._dropdownIconTemplate = item.template;\n break;\n\n default:\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n\n //Use timeouts as since Angular 4.2, AfterViewChecked is broken and not called after panel is updated\n if (this.suggestionsUpdated && this.overlayViewChild()) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n const overlayViewChild = this.overlayViewChild();\n\n if (overlayViewChild) {\n overlayViewChild.alignOverlay();\n }\n }, 1);\n this.suggestionsUpdated = false;\n });\n }\n }\n\n handleSuggestionsChange() {\n if (this.loading) {\n this._suggestions()?.length > 0 || this.showEmptyMessage() || !!this.emptyTemplate() ? this.show() : this.hide();\n const focusedOptionIndex = this.overlayVisible && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.suggestionsUpdated = true;\n this.loading = false;\n this.cd.markForCheck();\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 isOptionGroup(option) {\n return this.optionGroupLabel() && option.optionGroup && option.group;\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.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((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 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 isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionDisabled(option) {\n const optionDisabled = this.optionDisabled();\n\n return optionDisabled ? resolveFieldData(option, optionDisabled) : false;\n }\n\n isSelected(option) {\n if (this.multiple()) {\n return this.unique() ? (this.modelValue() as string[])?.some((model) => equals(model, option, this.equalityKey())) : false;\n }\n\n return equals(this.modelValue(), option, this.equalityKey());\n }\n\n isOptionMatched(option, value) {\n return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale()) === value.toLocaleLowerCase(this.searchLocale());\n }\n\n isInputClicked(event) {\n return event.target === this.inputEL()?.nativeElement;\n }\n\n isDropdownClicked(event) {\n const dropdownButton = this.dropdownButton();\n\n return dropdownButton?.nativeElement ? event.target === dropdownButton.nativeElement || dropdownButton.nativeElement.contains(event.target) : false;\n }\n\n equalityKey() {\n return this.optionValue() ? undefined : this.dataKey();\n }\n\n onContainerClick(event) {\n if (this.$disabled() || this.loading || this.isInputClicked(event) || this.isDropdownClicked(event)) {\n return;\n }\n\n const overlayViewChild = this.overlayViewChild();\n\n if (!overlayViewChild || !overlayViewChild.overlayViewChild()?.nativeElement.contains(event.target)) {\n focus(this.inputEL()?.nativeElement);\n }\n }\n\n handleDropdownClick(event) {\n let query: string | undefined = undefined;\n\n if (this.overlayVisible) {\n this.hide(true);\n } else {\n const inputEL = this.inputEL();\n\n focus(inputEL?.nativeElement);\n query = inputEL?.nativeElement?.value as string;\n\n const dropdownMode = this.dropdownMode();\n\n if (dropdownMode === 'blank') this.search(event, '', 'dropdown');\n else if (dropdownMode === 'current') this.search(event, query, 'dropdown');\n }\n\n this.onDropdownClick.emit({ originalEvent: event, query });\n }\n\n onInput(event) {\n if (this.typeahead()) {\n const _minLength = this.minQueryLength() || this.minLength();\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n let query = event.target.value;\n\n if (this.maxlength() !== null) {\n query = query.split('').slice(0, this.maxlength()).join('');\n }\n\n const multiple = this.multiple();\n\n if (!multiple && !this.forceSelection()) {\n this.updateModel(query);\n }\n\n if (query.length === 0 && !multiple) {\n this.onClear.emit(undefined);\n\n setTimeout(() => {\n this.hide();\n }, this.delay() / 2);\n } else {\n if (query.length >= _minLength) {\n this.focusedOptionIndex.set(-1);\n\n this.searchTimeout = setTimeout(() => {\n this.search(event, query, 'input');\n }, this.delay());\n } else {\n this.hide();\n }\n }\n }\n }\n\n onInputChange(event) {\n this.updateInputWithForceSelection(event);\n }\n\n onInputFocus(event) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n if (!this.dirty && this.completeOnFocus()) {\n this.search(event, event.target.value, 'focus');\n }\n\n this.dirty = true;\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.overlayVisible && this.scrollInView(this.focusedOptionIndex());\n this.onFocus.emit(event);\n }\n\n onMultipleContainerFocus() {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n }\n\n onMultipleContainerBlur() {\n this.focusedMultipleOptionIndex.set(-1);\n this.focused = false;\n }\n\n onMultipleContainerKeyDown(event) {\n if (this.$disabled()) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOnMultiple();\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOnMultiple();\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOnMultiple(event);\n break;\n\n default:\n break;\n }\n }\n\n onInputBlur(event) {\n this.dirty = false;\n this.focused = false;\n this.focusedOptionIndex.set(-1);\n\n if (this.addOnBlur() && this.multiple() && !this.typeahead()) {\n const inputValue = (this.multiInputEl()?.nativeElement?.value || event.target.value || '').trim();\n\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n const multiInputEl = this.multiInputEl();\n\n if (multiInputEl?.nativeElement) {\n multiInputEl.nativeElement.value = '';\n } else {\n event.target.value = '';\n }\n }\n }\n\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onInputPaste(event) {\n const separator = this.separator();\n\n if (separator && this.multiple() && !this.typeahead()) {\n const pastedData = (event.clipboardData || (window as any)['clipboardData'])?.getData('Text');\n\n if (pastedData) {\n const values = pastedData.split(separator);\n const newValues = [...(this.modelValue() || [])];\n\n values.forEach((value: string) => {\n const trimmedValue = value.trim();\n\n if (trimmedValue && !this.isSelected(trimmedValue)) {\n newValues.push(trimmedValue);\n }\n });\n\n if (newValues.length > (this.modelValue() || []).length) {\n const addedValues = newValues.slice((this.modelValue() || []).length);\n\n this.updateModel(newValues);\n addedValues.forEach((addedValue) => {\n this.onAdd.emit({ originalEvent: event, value: addedValue });\n });\n const multiInputEl = this.multiInputEl();\n\n if (multiInputEl?.nativeElement) {\n multiInputEl.nativeElement.value = '';\n } else {\n event.target.value = '';\n }\n\n event.preventDefault();\n }\n }\n } else {\n this.onKeyDown(event);\n }\n }\n\n onInputKeyUp(event) {\n this.onKeyUp.emit(event);\n }\n\n onKeyDown(event) {\n if (this.$disabled()) {\n event.preventDefault();\n\n return;\n }\n\n // Emit keydown event for external handling\n this.onInputKeydown.emit(event);\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 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKey(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 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n this.handleSeparatorKey(event);\n break;\n }\n }\n\n handleSeparatorKey(event) {\n const separator = this.separator();\n\n if (separator && this.multiple() && !this.typeahead()) {\n if (separator === event.key || (typeof separator === 'string' && event.key === separator) || (separator instanceof RegExp && event.key.match(separator))) {\n const inputValue = (this.multiInputEl()?.nativeElement?.value || event.target.value || '').trim();\n\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n const multiInputEl = this.multiInputEl();\n\n if (multiInputEl?.nativeElement) {\n multiInputEl.nativeElement.value = '';\n } else {\n event.target.value = '';\n }\n\n event.preventDefault();\n }\n }\n }\n }\n\n onArrowDownKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowUpKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n if (event.altKey) {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n onArrowLeftKey(event) {\n const target = event.currentTarget;\n\n this.focusedOptionIndex.set(-1);\n\n if (this.multiple()) {\n if (isEmpty(target.value) && this.hasSelectedOption()) {\n focus(this.multiContainerEL()?.nativeElement);\n this.focusedMultipleOptionIndex.set(this.modelValue().length);\n } else {\n event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method\n }\n }\n }\n\n onArrowRightKey(event) {\n this.focusedOptionIndex.set(-1);\n\n this.multiple() && event.stopPropagation(); // To prevent onArrowRightKeyOnMultiple method\n }\n\n onHomeKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onEndKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onPageDownKey(event) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onEnterKey(event) {\n if (!this.typeahead() && !this.forceSelection()) {\n if (this.multiple()) {\n const inputValue = event.target.value?.trim();\n\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n const inputEL = this.inputEL();\n\n inputEL?.nativeElement && (inputEL.nativeElement.value = '');\n }\n }\n }\n\n if (!this.overlayVisible) {\n return;\n } else {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.hide();\n }\n\n event.preventDefault();\n }\n\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n }\n\n onTabKey(event) {\n // If there's a focused option in the dropdown, select it\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n\n return;\n }\n\n // Handle tab key behavior for multiple mode without typeahead\n if (this.multiple() && !this.typeahead()) {\n const inputValue = (this.multiInputEl()?.nativeElement?.value || this.inputEL()?.nativeElement?.value || '').trim();\n\n if (this.addOnTab()) {\n if (inputValue && !this.isSelected(inputValue)) {\n // Add the value and keep focus\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n const inputEL = this.inputEL();\n const multiInputEl = this.multiInputEl();\n\n if (multiInputEl?.nativeElement) {\n multiInputEl.nativeElement.value = '';\n } else if (inputEL?.nativeElement) {\n inputEL.nativeElement.value = '';\n }\n\n this.updateInputValue();\n event.preventDefault(); // Keep focus on the component\n this.overlayVisible && this.hide();\n\n return;\n }\n // If no value or already selected, allow normal tab behavior (blur)\n }\n // If addOnTab is false or no value to add, allow normal tab behavior\n // which will trigger blur and potentially addOnBlur\n }\n\n this.overlayVisible && this.hide();\n }\n\n onBackspaceKey(event) {\n if (this.multiple()) {\n if (isNotEmpty(this.modelValue()) && !this.inputEL()?.nativeElement?.value) {\n const removedValue = this.modelValue()[this.modelValue().length - 1];\n const newValue = this.modelValue().slice(0, -1);\n\n this.updateModel(newValue);\n this.onUnselect.emit({ originalEvent: event, value: removedValue });\n }\n\n event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method\n }\n }\n\n onArrowLeftKeyOnMultiple() {\n const optionIndex = this.focusedMultipleOptionIndex() < 1 ? 0 : this.focusedMultipleOptionIndex() - 1;\n\n this.focusedMultipleOptionIndex.set(optionIndex);\n }\n\n onArrowRightKeyOnMultiple() {\n let optionIndex = this.focusedMultipleOptionIndex();\n\n optionIndex++;\n\n this.focusedMultipleOptionIndex.set(optionIndex);\n\n if (optionIndex > this.modelValue().length - 1) {\n this.focusedMultipleOptionIndex.set(-1);\n focus(this.inputEL()?.nativeElement);\n }\n }\n\n onBackspaceKeyOnMultiple(event) {\n if (this.focusedMultipleOptionIndex() !== -1) {\n this.removeOption(event, this.focusedMultipleOptionIndex());\n }\n }\n\n onOptionSelect(event, option, isHide = true) {\n if (this.multiple()) {\n const inputEL = this.inputEL();\n\n inputEL?.nativeElement && (inputEL.nativeElement.value = '');\n\n if (!this.isSelected(option)) {\n this.updateModel([...(this.modelValue() || []), option]);\n }\n } else {\n this.updateModel(option);\n }\n\n this.onSelect.emit({ originalEvent: event, value: option });\n\n isHide && this.hide(true);\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover()) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n search(event, query, source) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n }\n\n //do not search blank values on input change\n if (source === 'input' && query.trim().length === 0) {\n return;\n }\n\n this.loading = true;\n this.completeMethod.emit({ originalEvent: event, query });\n }\n\n removeOption(event, index) {\n event.stopPropagation();\n\n const removedOption = this.modelValue()[index];\n const value = (this.modelValue() as string[]).filter((_, i) => i !== index);\n\n this.updateModel(value);\n this.onUnselect.emit({ originalEvent: event, value: removedOption });\n focus(this.inputEL()?.nativeElement);\n }\n\n updateModel(options) {\n let value = null;\n\n if (options) {\n value = this.multiple() ? options.map((option) => this.getOptionValue(option)) : this.getOptionValue(options);\n }\n\n this.value = value;\n this.writeModelValue(options);\n this.onModelChange(value);\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n updateInputValue() {\n const inputEL = this.inputEL();\n\n if (inputEL && inputEL.nativeElement) {\n if (!this.multiple()) {\n inputEL.nativeElement.value = this.inputValue();\n } else {\n inputEL.nativeElement.value = '';\n }\n }\n }\n\n updateInputWithForceSelection(event: any) {\n const input = this.inputEL()?.nativeElement;\n const inputCleared = !input?.value && isNotEmpty(this.modelValue());\n\n if (!this.forceSelection() || this.overlayVisible || (!input?.value && !inputCleared)) {\n return;\n }\n\n const _minLength = this.minQueryLength() ?? this.minLength();\n\n if (!inputCleared && input.value.length < _minLength) {\n return;\n }\n\n const matchedOption = this.visibleOptions()?.find((option) => this.isOptionMatched(option, input.value));\n\n if (!matchedOption) {\n input.value = '';\n\n if (!this.multiple()) {\n this.clear();\n }\n\n return;\n }\n\n if (matchedOption && !this.isSelected(matchedOption)) {\n this.onOptionSelect(event, matchedOption);\n }\n }\n\n autoUpdateModel() {\n if ((this.selectOnFocus() || this.autoHighlight()) && this.autoOptionFocus() && !this.hasSelectedOption()) {\n const focusedOptionIndex = this.findFirstFocusedOptionIndex();\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);\n }\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.resolvedId}_${index}` : this.focusedOptionId;\n const itemsViewChild = this.itemsViewChild();\n\n if (itemsViewChild && itemsViewChild.nativeElement) {\n const element = findSingle(itemsViewChild.nativeElement, `li[id=\"${id}\"]`);\n\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n setTimeout(() => {\n this.virtualScroll() && this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }, 0);\n }\n }\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus()) {\n this.onOptionSelect(event, this.visibleOptions()[index], false);\n }\n }\n }\n\n show(isFocus = false) {\n this.dirty = true;\n this.overlayVisible = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n isFocus && focus(this.inputEL()?.nativeElement);\n\n if (isFocus) {\n focus(this.inputEL()?.nativeElement);\n }\n\n this.onShow.emit(undefined);\n this.cd.markForCheck();\n }\n\n hide(isFocus = false) {\n const _hide = () => {\n this.dirty = isFocus;\n this.overlayVisible = false;\n this.focusedOptionIndex.set(-1);\n isFocus && focus(this.inputEL()?.nativeElement);\n this.onHide.emit(undefined);\n this.updateInputWithForceSelection(null);\n this.cd.markForCheck();\n };\n\n setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n }\n\n clear() {\n this.updateModel(null);\n const inputEL = this.inputEL();\n\n inputEL?.nativeElement && (inputEL.nativeElement.value = '');\n this.onClear.emit(undefined);\n }\n\n hasSelectedOption() {\n return isNotEmpty(this.modelValue());\n }\n\n getAriaPosInset(index) {\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 getOptionLabel(option: any) {\n const optionLabel = this.optionLabel();\n\n return optionLabel ? resolveFieldData(option, optionLabel) : option && option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option) {\n const optionValue = this.optionValue();\n\n return optionValue ? resolveFieldData(option, optionValue) : option && option.value != undefined ? option.value : option;\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\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 getOptionGroupChildren(optionGroup: any) {\n const optionGroupChildren = this.optionGroupChildren();\n\n return optionGroupChildren ? resolveFieldData(optionGroup, optionGroupChildren) : optionGroup.items;\n }\n\n getPTOptions(option: any, scrollerOptions: any, index: number, key: string) {\n return this.ptm(key, {\n context: {\n option,\n index: this.getOptionIndex(index, scrollerOptions),\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions),\n disabled: this.isOptionDisabled(option)\n }\n });\n }\n\n onOverlayBeforeEnter() {\n this.itemsWrapper = <any>findSingle(this.overlayViewChild().overlayViewChild()?.nativeElement, this.virtualScroll() ? '[data-pc-name=\"virtualscroller\"]' : '[data-pc-name=\"pcoverlay\"]');\n\n const scroller = this.scroller();\n\n const virtualScroll = this.virtualScroll();\n\n if (virtualScroll) {\n scroller?.setContentEl(this.itemsViewChild()?.nativeElement);\n scroller?.viewInit();\n }\n\n if (this.visibleOptions() && this.visibleOptions().length) {\n if (virtualScroll) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n\n if (selectedIndex !== -1) {\n scroller?.scrollToIndex(selectedIndex);\n }\n } else {\n let selectedListItem = findSingle(this.itemsWrapper as HTMLElement, '[data-pc-section=\"option\"][data-p-selected=\"true\"]');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'center' });\n }\n }\n }\n }\n\n get containerDataP() {\n return this.cn({\n fluid: this.hasFluid\n });\n }\n\n get overlayDataP() {\n return this.cn({\n [`overlay-${this.$appendTo()}`]: true\n });\n }\n\n get inputMultipleDataP() {\n return this.cn({\n invalid: this.invalid(),\n disabled: this.$disabled(),\n focus: this.focused,\n fluid: this.hasFluid,\n filled: this.$variant() === 'filled',\n empty: !this.$filled(),\n [this.size() as string]: this.size()\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 if (this.multiple()) {\n const resolved = (value || []).map((val: any) => {\n const match = this.visibleOptions().find((option: any) => equals(val, option, this.equalityKey()));\n\n return match ?? val;\n });\n\n setModelValue(isEmpty(value) ? value : resolved);\n } else {\n const option = this.visibleOptions().find((option: any) => equals(value, option, this.equalityKey()));\n\n setModelValue(isEmpty(option) ? value : option);\n }\n\n this.value = value;\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n onDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n }\n}\n\n@NgModule({\n imports: [AutoComplete, SharedModule],\n exports: [AutoComplete, SharedModule]\n})\nexport class AutoCompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["autocomplete_style"],"mappings":"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"}
|