primeng 22.1.0 → 22.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/primeng-accordion.mjs +998 -578
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +266 -165
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +888 -847
- package/fesm2022/primeng-api.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +2534 -1592
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +114 -77
- package/fesm2022/primeng-autofocus.mjs.map +1 -1
- package/fesm2022/primeng-avatar.mjs +330 -189
- package/fesm2022/primeng-avatar.mjs.map +1 -1
- package/fesm2022/primeng-avatargroup.mjs +178 -95
- package/fesm2022/primeng-avatargroup.mjs.map +1 -1
- package/fesm2022/primeng-badge.mjs +290 -156
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +95 -101
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +528 -489
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-baseeditableholder.mjs +131 -69
- package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
- package/fesm2022/primeng-baseinput.mjs +214 -99
- package/fesm2022/primeng-baseinput.mjs.map +1 -1
- package/fesm2022/primeng-basemodelholder.mjs +39 -26
- package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
- package/fesm2022/primeng-bind.mjs +156 -96
- package/fesm2022/primeng-bind.mjs.map +1 -1
- package/fesm2022/primeng-blockui.mjs +360 -228
- package/fesm2022/primeng-blockui.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs +458 -220
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +1568 -703
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +125 -73
- package/fesm2022/primeng-buttongroup.mjs.map +1 -1
- package/fesm2022/primeng-card.mjs +389 -178
- package/fesm2022/primeng-card.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +2393 -1773
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +2373 -1364
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +402 -231
- package/fesm2022/primeng-chart.mjs.map +1 -1
- package/fesm2022/primeng-checkbox.mjs +650 -353
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +411 -224
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-classnames.mjs +95 -48
- package/fesm2022/primeng-classnames.mjs.map +1 -1
- package/fesm2022/primeng-colorpicker.mjs +890 -635
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-commandmenu.mjs +568 -315
- package/fesm2022/primeng-commandmenu.mjs.map +1 -1
- package/fesm2022/primeng-compare.mjs +843 -480
- package/fesm2022/primeng-compare.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +415 -321
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +1188 -540
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +810 -531
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +1862 -1051
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +1130 -549
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +3750 -3354
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +1635 -968
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +272 -148
- package/fesm2022/primeng-divider.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +609 -385
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dom.mjs +599 -761
- package/fesm2022/primeng-dom.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +323 -311
- package/fesm2022/primeng-dragdrop.mjs.map +1 -1
- package/fesm2022/primeng-drawer.mjs +913 -482
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +828 -928
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +547 -390
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +559 -274
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +1836 -1047
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +187 -102
- package/fesm2022/primeng-floatlabel.mjs.map +1 -1
- package/fesm2022/primeng-fluid.mjs +156 -85
- package/fesm2022/primeng-fluid.mjs.map +1 -1
- package/fesm2022/primeng-focustrap.mjs +150 -112
- package/fesm2022/primeng-focustrap.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +2589 -1406
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-gallery.mjs +2768 -1798
- package/fesm2022/primeng-gallery.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +192 -93
- package/fesm2022/primeng-iconfield.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubledown.mjs +41 -23
- package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleleft.mjs +41 -23
- package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleright.mjs +41 -23
- package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleup.mjs +41 -23
- package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledown.mjs +41 -23
- package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleleft.mjs +41 -23
- package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleright.mjs +41 -23
- package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleup.mjs +41 -23
- package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdown.mjs +46 -28
- package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownleft.mjs +41 -23
- package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownright.mjs +41 -23
- package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowleft.mjs +46 -28
- package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowright.mjs +41 -23
- package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowup.mjs +46 -28
- package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
- package/fesm2022/primeng-icons-ban.mjs +46 -28
- package/fesm2022/primeng-icons-ban.mjs.map +1 -1
- package/fesm2022/primeng-icons-bars.mjs +41 -23
- package/fesm2022/primeng-icons-bars.mjs.map +1 -1
- package/fesm2022/primeng-icons-baseicon.mjs +111 -67
- package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
- package/fesm2022/primeng-icons-blank.mjs +40 -22
- package/fesm2022/primeng-icons-blank.mjs.map +1 -1
- package/fesm2022/primeng-icons-calendar.mjs +41 -23
- package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretleft.mjs +41 -23
- package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretright.mjs +41 -23
- package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
- package/fesm2022/primeng-icons-check.mjs +41 -23
- package/fesm2022/primeng-icons-check.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevrondown.mjs +41 -23
- package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronleft.mjs +41 -23
- package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronright.mjs +41 -23
- package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronup.mjs +41 -23
- package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +46 -28
- package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
- package/fesm2022/primeng-icons-eye.mjs +41 -23
- package/fesm2022/primeng-icons-eye.mjs.map +1 -1
- package/fesm2022/primeng-icons-eyeslash.mjs +46 -28
- package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-filter.mjs +46 -28
- package/fesm2022/primeng-icons-filter.mjs.map +1 -1
- package/fesm2022/primeng-icons-filterfill.mjs +41 -23
- package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
- package/fesm2022/primeng-icons-filterslash.mjs +46 -28
- package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-home.mjs +46 -28
- package/fesm2022/primeng-icons-home.mjs.map +1 -1
- package/fesm2022/primeng-icons-infocircle.mjs +46 -28
- package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-minus.mjs +41 -23
- package/fesm2022/primeng-icons-minus.mjs.map +1 -1
- package/fesm2022/primeng-icons-pencil.mjs +46 -28
- package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
- package/fesm2022/primeng-icons-plus.mjs +46 -28
- package/fesm2022/primeng-icons-plus.mjs.map +1 -1
- package/fesm2022/primeng-icons-refresh.mjs +46 -28
- package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
- package/fesm2022/primeng-icons-search.mjs +46 -28
- package/fesm2022/primeng-icons-search.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchminus.mjs +46 -28
- package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchplus.mjs +46 -28
- package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortalt.mjs +46 -28
- package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountdown.mjs +46 -28
- package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountupalt.mjs +46 -28
- package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-spinner.mjs +46 -28
- package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
- package/fesm2022/primeng-icons-star.mjs +46 -28
- package/fesm2022/primeng-icons-star.mjs.map +1 -1
- package/fesm2022/primeng-icons-starfill.mjs +46 -28
- package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
- package/fesm2022/primeng-icons-thlarge.mjs +46 -28
- package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
- package/fesm2022/primeng-icons-times.mjs +41 -23
- package/fesm2022/primeng-icons-times.mjs.map +1 -1
- package/fesm2022/primeng-icons-timescircle.mjs +46 -28
- package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-trash.mjs +46 -28
- package/fesm2022/primeng-icons-trash.mjs.map +1 -1
- package/fesm2022/primeng-icons-undo.mjs +46 -28
- package/fesm2022/primeng-icons-undo.mjs.map +1 -1
- package/fesm2022/primeng-icons-upload.mjs +46 -28
- package/fesm2022/primeng-icons-upload.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowmaximize.mjs +46 -28
- package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowminimize.mjs +46 -28
- package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
- package/fesm2022/primeng-icons.mjs +53 -63
- package/fesm2022/primeng-iftalabel.mjs +153 -86
- package/fesm2022/primeng-iftalabel.mjs.map +1 -1
- package/fesm2022/primeng-image.mjs +1006 -534
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +325 -165
- package/fesm2022/primeng-imagecompare.mjs.map +1 -1
- package/fesm2022/primeng-inplace.mjs +401 -199
- package/fesm2022/primeng-inplace.mjs.map +1 -1
- package/fesm2022/primeng-inputcolor.mjs +2631 -2180
- package/fesm2022/primeng-inputcolor.mjs.map +1 -1
- package/fesm2022/primeng-inputgroup.mjs +159 -91
- package/fesm2022/primeng-inputgroup.mjs.map +1 -1
- package/fesm2022/primeng-inputgroupaddon.mjs +153 -68
- package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/primeng-inputicon.mjs +173 -72
- package/fesm2022/primeng-inputicon.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +1607 -1379
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +1646 -1305
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +571 -375
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputpassword.mjs +179 -98
- package/fesm2022/primeng-inputpassword.mjs.map +1 -1
- package/fesm2022/primeng-inputtags.mjs +1212 -588
- package/fesm2022/primeng-inputtags.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +325 -170
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-keyfilter.mjs +268 -243
- package/fesm2022/primeng-keyfilter.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs +627 -403
- package/fesm2022/primeng-knob.mjs.map +1 -1
- package/fesm2022/primeng-label.mjs +143 -81
- package/fesm2022/primeng-label.mjs.map +1 -1
- package/fesm2022/primeng-license.mjs +10 -36
- package/fesm2022/primeng-license.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +2409 -1593
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +2006 -1117
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +1437 -845
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +1832 -972
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +474 -243
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +663 -331
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-motion.mjs +1179 -690
- package/fesm2022/primeng-motion.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +3406 -1898
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +1308 -678
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +912 -597
- package/fesm2022/primeng-organizationchart.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +929 -610
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +291 -107
- package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +961 -505
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +668 -347
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +1842 -966
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-passthrough.mjs +10 -20
- package/fesm2022/primeng-passthrough.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +1518 -858
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +2270 -1253
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +656 -434
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +346 -168
- package/fesm2022/primeng-progressbar.mjs.map +1 -1
- package/fesm2022/primeng-progressspinner.mjs +338 -188
- package/fesm2022/primeng-progressspinner.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +499 -294
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +583 -352
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +194 -170
- package/fesm2022/primeng-ripple.mjs.map +1 -1
- package/fesm2022/primeng-scrollarea.mjs +1018 -721
- package/fesm2022/primeng-scrollarea.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +1386 -1047
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +568 -454
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +509 -261
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +2948 -1714
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +629 -339
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-sidebar.mjs +2561 -1413
- package/fesm2022/primeng-sidebar.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +300 -157
- package/fesm2022/primeng-skeleton.mjs.map +1 -1
- package/fesm2022/primeng-slider.mjs +841 -604
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +1115 -704
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +889 -340
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +997 -762
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +1355 -645
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +523 -407
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-styleclass.mjs +446 -330
- package/fesm2022/primeng-styleclass.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +9765 -5849
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +1357 -815
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +305 -151
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +368 -216
- package/fesm2022/primeng-terminal.mjs.map +1 -1
- package/fesm2022/primeng-textarea.mjs +345 -204
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +1917 -1094
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +304 -165
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs +1369 -928
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +563 -309
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +464 -237
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
- package/fesm2022/primeng-toolbar.mjs +299 -129
- package/fesm2022/primeng-toolbar.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +1018 -765
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +2681 -1888
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +1678 -927
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +5849 -3742
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-ts-helpers.mjs +0 -4
- package/fesm2022/primeng-types-accordion.mjs +0 -4
- package/fesm2022/primeng-types-autocomplete.mjs +0 -4
- package/fesm2022/primeng-types-avatar.mjs +0 -4
- package/fesm2022/primeng-types-avatargroup.mjs +0 -4
- package/fesm2022/primeng-types-badge.mjs +0 -4
- package/fesm2022/primeng-types-blockui.mjs +0 -4
- package/fesm2022/primeng-types-breadcrumb.mjs +0 -4
- package/fesm2022/primeng-types-button.mjs +0 -4
- package/fesm2022/primeng-types-card.mjs +0 -4
- package/fesm2022/primeng-types-carousel.mjs +0 -4
- package/fesm2022/primeng-types-cascadeselect.mjs +0 -4
- package/fesm2022/primeng-types-chart.mjs +0 -4
- package/fesm2022/primeng-types-checkbox.mjs +0 -4
- package/fesm2022/primeng-types-chip.mjs +0 -4
- package/fesm2022/primeng-types-colorpicker.mjs +0 -4
- package/fesm2022/primeng-types-commandmenu.mjs +0 -4
- package/fesm2022/primeng-types-compare.mjs +0 -4
- package/fesm2022/primeng-types-confirmdialog.mjs +0 -4
- package/fesm2022/primeng-types-confirmpopup.mjs +0 -4
- package/fesm2022/primeng-types-contextmenu.mjs +0 -4
- package/fesm2022/primeng-types-dataview.mjs +0 -4
- package/fesm2022/primeng-types-datepicker.mjs +0 -4
- package/fesm2022/primeng-types-dialog.mjs +0 -4
- package/fesm2022/primeng-types-divider.mjs +0 -4
- package/fesm2022/primeng-types-dock.mjs +0 -4
- package/fesm2022/primeng-types-drawer.mjs +0 -4
- package/fesm2022/primeng-types-editor.mjs +0 -4
- package/fesm2022/primeng-types-fieldset.mjs +0 -4
- package/fesm2022/primeng-types-fileupload.mjs +0 -4
- package/fesm2022/primeng-types-floatlabel.mjs +0 -4
- package/fesm2022/primeng-types-fluid.mjs +0 -4
- package/fesm2022/primeng-types-galleria.mjs +0 -4
- package/fesm2022/primeng-types-gallery.mjs +0 -4
- package/fesm2022/primeng-types-iconfield.mjs +0 -4
- package/fesm2022/primeng-types-iftalabel.mjs +0 -4
- package/fesm2022/primeng-types-image.mjs +0 -4
- package/fesm2022/primeng-types-imagecompare.mjs +0 -4
- package/fesm2022/primeng-types-inplace.mjs +0 -4
- package/fesm2022/primeng-types-inputcolor.mjs +0 -4
- package/fesm2022/primeng-types-inputgroup.mjs +0 -4
- package/fesm2022/primeng-types-inputgroupaddon.mjs +0 -4
- package/fesm2022/primeng-types-inputicon.mjs +0 -4
- package/fesm2022/primeng-types-inputmask.mjs +0 -4
- package/fesm2022/primeng-types-inputnumber.mjs +0 -4
- package/fesm2022/primeng-types-inputotp.mjs +0 -4
- package/fesm2022/primeng-types-inputpassword.mjs +0 -4
- package/fesm2022/primeng-types-inputtags.mjs +0 -4
- package/fesm2022/primeng-types-inputtext.mjs +0 -4
- package/fesm2022/primeng-types-knob.mjs +0 -4
- package/fesm2022/primeng-types-label.mjs +0 -4
- package/fesm2022/primeng-types-listbox.mjs +0 -4
- package/fesm2022/primeng-types-megamenu.mjs +0 -4
- package/fesm2022/primeng-types-menu.mjs +0 -4
- package/fesm2022/primeng-types-menubar.mjs +0 -4
- package/fesm2022/primeng-types-message.mjs +0 -4
- package/fesm2022/primeng-types-metergroup.mjs +0 -4
- package/fesm2022/primeng-types-motion.mjs +0 -4
- package/fesm2022/primeng-types-multiselect.mjs +0 -4
- package/fesm2022/primeng-types-orderlist.mjs +0 -4
- package/fesm2022/primeng-types-organizationchart.mjs +0 -4
- package/fesm2022/primeng-types-overlay.mjs +0 -4
- package/fesm2022/primeng-types-overlaybadge.mjs +0 -4
- package/fesm2022/primeng-types-paginator.mjs +0 -4
- package/fesm2022/primeng-types-panel.mjs +0 -4
- package/fesm2022/primeng-types-panelmenu.mjs +0 -4
- package/fesm2022/primeng-types-password.mjs +0 -4
- package/fesm2022/primeng-types-picklist.mjs +0 -4
- package/fesm2022/primeng-types-popover.mjs +0 -4
- package/fesm2022/primeng-types-progressbar.mjs +0 -4
- package/fesm2022/primeng-types-progressspinner.mjs +0 -4
- package/fesm2022/primeng-types-radiobutton.mjs +0 -4
- package/fesm2022/primeng-types-rating.mjs +0 -4
- package/fesm2022/primeng-types-scrollarea.mjs +0 -4
- package/fesm2022/primeng-types-scroller.mjs +0 -4
- package/fesm2022/primeng-types-scrollpanel.mjs +0 -4
- package/fesm2022/primeng-types-scrolltop.mjs +0 -4
- package/fesm2022/primeng-types-select.mjs +0 -4
- package/fesm2022/primeng-types-selectbutton.mjs +0 -4
- package/fesm2022/primeng-types-shared.mjs +0 -4
- package/fesm2022/primeng-types-sidebar.mjs +0 -4
- package/fesm2022/primeng-types-skeleton.mjs +0 -4
- package/fesm2022/primeng-types-slider.mjs +0 -4
- package/fesm2022/primeng-types-speeddial.mjs +0 -4
- package/fesm2022/primeng-types-splitbutton.mjs +0 -4
- package/fesm2022/primeng-types-splitter.mjs +0 -4
- package/fesm2022/primeng-types-stepper.mjs +0 -4
- package/fesm2022/primeng-types-table.mjs +0 -4
- package/fesm2022/primeng-types-tabs.mjs +0 -4
- package/fesm2022/primeng-types-tag.mjs +0 -4
- package/fesm2022/primeng-types-terminal.mjs +0 -4
- package/fesm2022/primeng-types-textarea.mjs +0 -4
- package/fesm2022/primeng-types-tieredmenu.mjs +0 -4
- package/fesm2022/primeng-types-timeline.mjs +0 -4
- package/fesm2022/primeng-types-toast.mjs +0 -4
- package/fesm2022/primeng-types-togglebutton.mjs +0 -4
- package/fesm2022/primeng-types-toggleswitch.mjs +0 -4
- package/fesm2022/primeng-types-toolbar.mjs +0 -4
- package/fesm2022/primeng-types-tooltip.mjs +0 -4
- package/fesm2022/primeng-types-tree.mjs +0 -4
- package/fesm2022/primeng-types-treeselect.mjs +0 -4
- package/fesm2022/primeng-types-treetable.mjs +0 -4
- package/fesm2022/primeng-usestyle.mjs +105 -109
- package/fesm2022/primeng-usestyle.mjs.map +1 -1
- package/fesm2022/primeng-utils.mjs +238 -328
- package/fesm2022/primeng-utils.mjs.map +1 -1
- package/fesm2022/primeng.mjs +1 -5
- package/fesm2022/primeng.mjs.map +1 -1
- package/package.json +7 -2
- package/types/primeng-accordion.d.ts +289 -221
- package/types/primeng-animateonscroll.d.ts +89 -61
- package/types/primeng-api.d.ts +1760 -1790
- package/types/primeng-autocomplete.d.ts +1054 -757
- package/types/primeng-autofocus.d.ts +27 -24
- package/types/primeng-avatar.d.ts +153 -117
- package/types/primeng-avatargroup.d.ts +46 -43
- package/types/primeng-badge.d.ts +105 -81
- package/types/primeng-base.d.ts +49 -52
- package/types/primeng-basecomponent.d.ts +191 -174
- package/types/primeng-baseeditableholder.d.ts +63 -45
- package/types/primeng-baseinput.d.ts +122 -74
- package/types/primeng-basemodelholder.d.ts +9 -12
- package/types/primeng-bind.d.ts +36 -32
- package/types/primeng-blockui.d.ts +99 -80
- package/types/primeng-breadcrumb.d.ts +159 -133
- package/types/primeng-button.d.ts +690 -427
- package/types/primeng-buttongroup.d.ts +27 -33
- package/types/primeng-card.d.ts +131 -122
- package/types/primeng-carousel.d.ts +800 -632
- package/types/primeng-cascadeselect.d.ts +754 -565
- package/types/primeng-chart.d.ts +160 -116
- package/types/primeng-checkbox.d.ts +299 -211
- package/types/primeng-chip.d.ts +189 -147
- package/types/primeng-classnames.d.ts +23 -21
- package/types/primeng-colorpicker.d.ts +325 -272
- package/types/primeng-commandmenu.d.ts +213 -165
- package/types/primeng-compare.d.ts +267 -191
- package/types/primeng-config.d.ts +294 -304
- package/types/primeng-confirmdialog.d.ts +505 -328
- package/types/primeng-confirmpopup.d.ts +254 -214
- package/types/primeng-contextmenu.d.ts +522 -368
- package/types/primeng-dataview.d.ts +498 -345
- package/types/primeng-datepicker.d.ts +1269 -972
- package/types/primeng-dialog.d.ts +668 -465
- package/types/primeng-divider.d.ts +114 -100
- package/types/primeng-dock.d.ts +207 -175
- package/types/primeng-dom.d.ts +97 -100
- package/types/primeng-dragdrop.d.ts +142 -107
- package/types/primeng-drawer.d.ts +355 -257
- package/types/primeng-dynamicdialog.d.ts +528 -540
- package/types/primeng-editor.d.ts +211 -165
- package/types/primeng-fieldset.d.ts +199 -166
- package/types/primeng-fileupload.d.ts +727 -526
- package/types/primeng-floatlabel.d.ts +55 -51
- package/types/primeng-fluid.d.ts +37 -39
- package/types/primeng-focustrap.d.ts +30 -27
- package/types/primeng-galleria.d.ts +570 -433
- package/types/primeng-gallery.d.ts +754 -552
- package/types/primeng-iconfield.d.ts +54 -45
- package/types/primeng-icons-angledoubledown.d.ts +6 -9
- package/types/primeng-icons-angledoubleleft.d.ts +6 -9
- package/types/primeng-icons-angledoubleright.d.ts +6 -9
- package/types/primeng-icons-angledoubleup.d.ts +6 -9
- package/types/primeng-icons-angledown.d.ts +6 -9
- package/types/primeng-icons-angleleft.d.ts +6 -9
- package/types/primeng-icons-angleright.d.ts +6 -9
- package/types/primeng-icons-angleup.d.ts +6 -9
- package/types/primeng-icons-arrowdown.d.ts +8 -11
- package/types/primeng-icons-arrowdownleft.d.ts +6 -9
- package/types/primeng-icons-arrowdownright.d.ts +6 -9
- package/types/primeng-icons-arrowleft.d.ts +8 -11
- package/types/primeng-icons-arrowright.d.ts +6 -9
- package/types/primeng-icons-arrowup.d.ts +8 -11
- package/types/primeng-icons-ban.d.ts +8 -11
- package/types/primeng-icons-bars.d.ts +6 -9
- package/types/primeng-icons-baseicon.d.ts +24 -25
- package/types/primeng-icons-blank.d.ts +6 -9
- package/types/primeng-icons-calendar.d.ts +6 -9
- package/types/primeng-icons-caretleft.d.ts +6 -9
- package/types/primeng-icons-caretright.d.ts +6 -9
- package/types/primeng-icons-check.d.ts +6 -9
- package/types/primeng-icons-chevrondown.d.ts +6 -9
- package/types/primeng-icons-chevronleft.d.ts +6 -9
- package/types/primeng-icons-chevronright.d.ts +6 -9
- package/types/primeng-icons-chevronup.d.ts +6 -9
- package/types/primeng-icons-exclamationtriangle.d.ts +8 -11
- package/types/primeng-icons-eye.d.ts +6 -9
- package/types/primeng-icons-eyeslash.d.ts +8 -11
- package/types/primeng-icons-filter.d.ts +8 -11
- package/types/primeng-icons-filterfill.d.ts +6 -9
- package/types/primeng-icons-filterslash.d.ts +8 -11
- package/types/primeng-icons-home.d.ts +8 -11
- package/types/primeng-icons-infocircle.d.ts +8 -11
- package/types/primeng-icons-minus.d.ts +6 -9
- package/types/primeng-icons-pencil.d.ts +8 -11
- package/types/primeng-icons-plus.d.ts +8 -11
- package/types/primeng-icons-refresh.d.ts +8 -11
- package/types/primeng-icons-search.d.ts +8 -11
- package/types/primeng-icons-searchminus.d.ts +8 -11
- package/types/primeng-icons-searchplus.d.ts +8 -11
- package/types/primeng-icons-sortalt.d.ts +8 -11
- package/types/primeng-icons-sortamountdown.d.ts +8 -11
- package/types/primeng-icons-sortamountupalt.d.ts +8 -11
- package/types/primeng-icons-spinner.d.ts +8 -11
- package/types/primeng-icons-star.d.ts +8 -11
- package/types/primeng-icons-starfill.d.ts +8 -11
- package/types/primeng-icons-thlarge.d.ts +8 -11
- package/types/primeng-icons-times.d.ts +6 -9
- package/types/primeng-icons-timescircle.d.ts +8 -11
- package/types/primeng-icons-trash.d.ts +8 -11
- package/types/primeng-icons-undo.d.ts +8 -11
- package/types/primeng-icons-upload.d.ts +8 -11
- package/types/primeng-icons-windowmaximize.d.ts +8 -11
- package/types/primeng-icons-windowminimize.d.ts +8 -11
- package/types/primeng-icons.d.ts +53 -53
- package/types/primeng-iftalabel.d.ts +38 -40
- package/types/primeng-image.d.ts +404 -311
- package/types/primeng-imagecompare.d.ts +94 -80
- package/types/primeng-inplace.d.ts +126 -114
- package/types/primeng-inputcolor.d.ts +645 -508
- package/types/primeng-inputgroup.d.ts +42 -44
- package/types/primeng-inputgroupaddon.d.ts +31 -31
- package/types/primeng-inputicon.d.ts +38 -32
- package/types/primeng-inputmask.d.ts +520 -365
- package/types/primeng-inputnumber.d.ts +573 -408
- package/types/primeng-inputotp.d.ts +206 -159
- package/types/primeng-inputpassword.d.ts +60 -47
- package/types/primeng-inputtags.d.ts +453 -301
- package/types/primeng-inputtext.d.ts +130 -96
- package/types/primeng-keyfilter.d.ts +62 -53
- package/types/primeng-knob.d.ts +257 -186
- package/types/primeng-label.d.ts +37 -39
- package/types/primeng-license.d.ts +1 -3
- package/types/primeng-listbox.d.ts +1040 -786
- package/types/primeng-megamenu.d.ts +536 -386
- package/types/primeng-menu.d.ts +478 -363
- package/types/primeng-menubar.d.ts +495 -354
- package/types/primeng-message.d.ts +192 -151
- package/types/primeng-metergroup.d.ts +249 -189
- package/types/primeng-motion.d.ts +601 -385
- package/types/primeng-multiselect.d.ts +1193 -861
- package/types/primeng-orderlist.d.ts +539 -393
- package/types/primeng-organizationchart.d.ts +236 -195
- package/types/primeng-overlay.d.ts +394 -294
- package/types/primeng-overlaybadge.d.ts +95 -64
- package/types/primeng-paginator.d.ts +410 -314
- package/types/primeng-panel.d.ts +267 -217
- package/types/primeng-panelmenu.d.ts +255 -231
- package/types/primeng-passthrough.d.ts +5 -7
- package/types/primeng-password.d.ts +606 -433
- package/types/primeng-picklist.d.ts +1042 -759
- package/types/primeng-popover.d.ts +235 -176
- package/types/primeng-progressbar.d.ts +131 -102
- package/types/primeng-progressspinner.d.ts +145 -111
- package/types/primeng-radiobutton.d.ts +219 -171
- package/types/primeng-rating.d.ts +240 -192
- package/types/primeng-ripple.d.ts +39 -45
- package/types/primeng-scrollarea.d.ts +292 -243
- package/types/primeng-scroller.d.ts +523 -390
- package/types/primeng-scrollpanel.d.ts +135 -131
- package/types/primeng-scrolltop.d.ts +170 -126
- package/types/primeng-select.d.ts +1014 -741
- package/types/primeng-selectbutton.d.ts +239 -167
- package/types/primeng-sidebar.d.ts +793 -562
- package/types/primeng-skeleton.d.ts +116 -87
- package/types/primeng-slider.d.ts +378 -311
- package/types/primeng-speeddial.d.ts +495 -375
- package/types/primeng-splitbutton.d.ts +382 -243
- package/types/primeng-splitter.d.ts +392 -301
- package/types/primeng-stepper.d.ts +417 -257
- package/types/primeng-steps.d.ts +158 -137
- package/types/primeng-styleclass.d.ts +163 -105
- package/types/primeng-table.d.ts +2898 -1912
- package/types/primeng-tabs.d.ts +463 -307
- package/types/primeng-tag.d.ts +107 -88
- package/types/primeng-terminal.d.ts +132 -120
- package/types/primeng-textarea.d.ts +146 -110
- package/types/primeng-tieredmenu.d.ts +573 -401
- package/types/primeng-timeline.d.ts +126 -112
- package/types/primeng-toast.d.ts +313 -252
- package/types/primeng-togglebutton.d.ts +255 -185
- package/types/primeng-toggleswitch.d.ts +190 -144
- package/types/primeng-toolbar.d.ts +83 -79
- package/types/primeng-tooltip.d.ts +335 -235
- package/types/primeng-tree.d.ts +763 -562
- package/types/primeng-treeselect.d.ts +750 -544
- package/types/primeng-treetable.d.ts +1839 -1315
- package/types/primeng-ts-helpers.d.ts +4 -6
- package/types/primeng-types-accordion.d.ts +58 -62
- package/types/primeng-types-autocomplete.d.ts +230 -233
- package/types/primeng-types-avatar.d.ts +25 -28
- package/types/primeng-types-avatargroup.d.ts +11 -14
- package/types/primeng-types-badge.d.ts +13 -16
- package/types/primeng-types-blockui.d.ts +18 -21
- package/types/primeng-types-breadcrumb.d.ts +65 -68
- package/types/primeng-types-button.d.ts +106 -109
- package/types/primeng-types-card.d.ts +54 -57
- package/types/primeng-types-carousel.d.ts +143 -146
- package/types/primeng-types-cascadeselect.d.ts +186 -192
- package/types/primeng-types-chart.d.ts +34 -39
- package/types/primeng-types-checkbox.d.ts +52 -55
- package/types/primeng-types-chip.d.ts +48 -51
- package/types/primeng-types-colorpicker.d.ts +59 -62
- package/types/primeng-types-commandmenu.d.ts +98 -101
- package/types/primeng-types-compare.d.ts +33 -36
- package/types/primeng-types-confirmdialog.d.ts +124 -127
- package/types/primeng-types-confirmpopup.d.ts +75 -78
- package/types/primeng-types-contextmenu.d.ts +100 -103
- package/types/primeng-types-dataview.d.ts +180 -183
- package/types/primeng-types-datepicker.d.ts +442 -445
- package/types/primeng-types-dialog.d.ts +93 -96
- package/types/primeng-types-divider.d.ts +14 -17
- package/types/primeng-types-dock.d.ts +45 -48
- package/types/primeng-types-drawer.d.ts +62 -65
- package/types/primeng-types-editor.d.ts +143 -146
- package/types/primeng-types-fieldset.d.ts +83 -87
- package/types/primeng-types-fileupload.d.ts +296 -301
- package/types/primeng-types-floatlabel.d.ts +12 -15
- package/types/primeng-types-fluid.d.ts +11 -14
- package/types/primeng-types-galleria.d.ts +209 -212
- package/types/primeng-types-gallery.d.ts +195 -198
- package/types/primeng-types-iconfield.d.ts +12 -15
- package/types/primeng-types-iftalabel.d.ts +11 -14
- package/types/primeng-types-image.d.ts +118 -121
- package/types/primeng-types-imagecompare.d.ts +22 -25
- package/types/primeng-types-inplace.d.ts +46 -49
- package/types/primeng-types-inputcolor.d.ts +86 -89
- package/types/primeng-types-inputgroup.d.ts +11 -14
- package/types/primeng-types-inputgroupaddon.d.ts +11 -14
- package/types/primeng-types-inputicon.d.ts +11 -14
- package/types/primeng-types-inputmask.d.ts +30 -33
- package/types/primeng-types-inputnumber.d.ts +72 -75
- package/types/primeng-types-inputotp.d.ts +67 -70
- package/types/primeng-types-inputpassword.d.ts +7 -10
- package/types/primeng-types-inputtags.d.ts +122 -125
- package/types/primeng-types-inputtext.d.ts +7 -10
- package/types/primeng-types-knob.d.ts +23 -26
- package/types/primeng-types-label.d.ts +7 -10
- package/types/primeng-types-listbox.d.ts +262 -266
- package/types/primeng-types-megamenu.d.ts +135 -138
- package/types/primeng-types-menu.d.ts +98 -101
- package/types/primeng-types-menubar.d.ts +122 -125
- package/types/primeng-types-message.d.ts +69 -72
- package/types/primeng-types-metergroup.d.ts +137 -140
- package/types/primeng-types-motion.d.ts +11 -14
- package/types/primeng-types-multiselect.d.ts +329 -333
- package/types/primeng-types-orderlist.d.ts +126 -129
- package/types/primeng-types-organizationchart.d.ts +147 -153
- package/types/primeng-types-overlay.d.ts +31 -34
- package/types/primeng-types-overlaybadge.d.ts +17 -20
- package/types/primeng-types-paginator.d.ts +131 -134
- package/types/primeng-types-panel.d.ts +91 -95
- package/types/primeng-types-panelmenu.d.ts +150 -153
- package/types/primeng-types-password.d.ts +94 -97
- package/types/primeng-types-picklist.d.ts +250 -260
- package/types/primeng-types-popover.d.ts +33 -36
- package/types/primeng-types-progressbar.d.ts +33 -36
- package/types/primeng-types-progressspinner.d.ts +27 -30
- package/types/primeng-types-radiobutton.d.ts +29 -32
- package/types/primeng-types-rating.d.ts +62 -65
- package/types/primeng-types-scrollarea.d.ts +35 -38
- package/types/primeng-types-scroller.d.ts +142 -146
- package/types/primeng-types-scrollpanel.d.ts +31 -34
- package/types/primeng-types-scrolltop.d.ts +37 -40
- package/types/primeng-types-select.d.ts +251 -254
- package/types/primeng-types-selectbutton.d.ts +56 -59
- package/types/primeng-types-shared.d.ts +6 -9
- package/types/primeng-types-sidebar.d.ts +105 -108
- package/types/primeng-types-skeleton.d.ts +11 -14
- package/types/primeng-types-slider.d.ts +59 -62
- package/types/primeng-types-speeddial.d.ts +71 -74
- package/types/primeng-types-splitbutton.d.ts +35 -38
- package/types/primeng-types-splitter.d.ts +58 -63
- package/types/primeng-types-stepper.d.ts +77 -80
- package/types/primeng-types-table.d.ts +743 -749
- package/types/primeng-types-tabs.d.ts +48 -51
- package/types/primeng-types-tag.d.ts +27 -30
- package/types/primeng-types-terminal.d.ts +43 -46
- package/types/primeng-types-textarea.d.ts +11 -14
- package/types/primeng-types-tieredmenu.d.ts +154 -157
- package/types/primeng-types-timeline.d.ts +60 -63
- package/types/primeng-types-toast.d.ts +92 -95
- package/types/primeng-types-togglebutton.d.ts +52 -55
- package/types/primeng-types-toggleswitch.d.ts +41 -44
- package/types/primeng-types-toolbar.d.ts +34 -37
- package/types/primeng-types-tooltip.d.ts +17 -20
- package/types/primeng-types-tree.d.ts +237 -246
- package/types/primeng-types-treeselect.d.ts +198 -202
- package/types/primeng-types-treetable.d.ts +492 -497
- package/types/primeng-usestyle.d.ts +28 -31
- package/types/primeng-utils.d.ts +37 -40
- package/types/primeng.d.ts +2 -2
- package/fesm2022/primeng-icons.mjs.map +0 -1
- package/fesm2022/primeng-ts-helpers.mjs.map +0 -1
- package/fesm2022/primeng-types-accordion.mjs.map +0 -1
- package/fesm2022/primeng-types-autocomplete.mjs.map +0 -1
- package/fesm2022/primeng-types-avatar.mjs.map +0 -1
- package/fesm2022/primeng-types-avatargroup.mjs.map +0 -1
- package/fesm2022/primeng-types-badge.mjs.map +0 -1
- package/fesm2022/primeng-types-blockui.mjs.map +0 -1
- package/fesm2022/primeng-types-breadcrumb.mjs.map +0 -1
- package/fesm2022/primeng-types-button.mjs.map +0 -1
- package/fesm2022/primeng-types-card.mjs.map +0 -1
- package/fesm2022/primeng-types-carousel.mjs.map +0 -1
- package/fesm2022/primeng-types-cascadeselect.mjs.map +0 -1
- package/fesm2022/primeng-types-chart.mjs.map +0 -1
- package/fesm2022/primeng-types-checkbox.mjs.map +0 -1
- package/fesm2022/primeng-types-chip.mjs.map +0 -1
- package/fesm2022/primeng-types-colorpicker.mjs.map +0 -1
- package/fesm2022/primeng-types-commandmenu.mjs.map +0 -1
- package/fesm2022/primeng-types-compare.mjs.map +0 -1
- package/fesm2022/primeng-types-confirmdialog.mjs.map +0 -1
- package/fesm2022/primeng-types-confirmpopup.mjs.map +0 -1
- package/fesm2022/primeng-types-contextmenu.mjs.map +0 -1
- package/fesm2022/primeng-types-dataview.mjs.map +0 -1
- package/fesm2022/primeng-types-datepicker.mjs.map +0 -1
- package/fesm2022/primeng-types-dialog.mjs.map +0 -1
- package/fesm2022/primeng-types-divider.mjs.map +0 -1
- package/fesm2022/primeng-types-dock.mjs.map +0 -1
- package/fesm2022/primeng-types-drawer.mjs.map +0 -1
- package/fesm2022/primeng-types-editor.mjs.map +0 -1
- package/fesm2022/primeng-types-fieldset.mjs.map +0 -1
- package/fesm2022/primeng-types-fileupload.mjs.map +0 -1
- package/fesm2022/primeng-types-floatlabel.mjs.map +0 -1
- package/fesm2022/primeng-types-fluid.mjs.map +0 -1
- package/fesm2022/primeng-types-galleria.mjs.map +0 -1
- package/fesm2022/primeng-types-gallery.mjs.map +0 -1
- package/fesm2022/primeng-types-iconfield.mjs.map +0 -1
- package/fesm2022/primeng-types-iftalabel.mjs.map +0 -1
- package/fesm2022/primeng-types-image.mjs.map +0 -1
- package/fesm2022/primeng-types-imagecompare.mjs.map +0 -1
- package/fesm2022/primeng-types-inplace.mjs.map +0 -1
- package/fesm2022/primeng-types-inputcolor.mjs.map +0 -1
- package/fesm2022/primeng-types-inputgroup.mjs.map +0 -1
- package/fesm2022/primeng-types-inputgroupaddon.mjs.map +0 -1
- package/fesm2022/primeng-types-inputicon.mjs.map +0 -1
- package/fesm2022/primeng-types-inputmask.mjs.map +0 -1
- package/fesm2022/primeng-types-inputnumber.mjs.map +0 -1
- package/fesm2022/primeng-types-inputotp.mjs.map +0 -1
- package/fesm2022/primeng-types-inputpassword.mjs.map +0 -1
- package/fesm2022/primeng-types-inputtags.mjs.map +0 -1
- package/fesm2022/primeng-types-inputtext.mjs.map +0 -1
- package/fesm2022/primeng-types-knob.mjs.map +0 -1
- package/fesm2022/primeng-types-label.mjs.map +0 -1
- package/fesm2022/primeng-types-listbox.mjs.map +0 -1
- package/fesm2022/primeng-types-megamenu.mjs.map +0 -1
- package/fesm2022/primeng-types-menu.mjs.map +0 -1
- package/fesm2022/primeng-types-menubar.mjs.map +0 -1
- package/fesm2022/primeng-types-message.mjs.map +0 -1
- package/fesm2022/primeng-types-metergroup.mjs.map +0 -1
- package/fesm2022/primeng-types-motion.mjs.map +0 -1
- package/fesm2022/primeng-types-multiselect.mjs.map +0 -1
- package/fesm2022/primeng-types-orderlist.mjs.map +0 -1
- package/fesm2022/primeng-types-organizationchart.mjs.map +0 -1
- package/fesm2022/primeng-types-overlay.mjs.map +0 -1
- package/fesm2022/primeng-types-overlaybadge.mjs.map +0 -1
- package/fesm2022/primeng-types-paginator.mjs.map +0 -1
- package/fesm2022/primeng-types-panel.mjs.map +0 -1
- package/fesm2022/primeng-types-panelmenu.mjs.map +0 -1
- package/fesm2022/primeng-types-password.mjs.map +0 -1
- package/fesm2022/primeng-types-picklist.mjs.map +0 -1
- package/fesm2022/primeng-types-popover.mjs.map +0 -1
- package/fesm2022/primeng-types-progressbar.mjs.map +0 -1
- package/fesm2022/primeng-types-progressspinner.mjs.map +0 -1
- package/fesm2022/primeng-types-radiobutton.mjs.map +0 -1
- package/fesm2022/primeng-types-rating.mjs.map +0 -1
- package/fesm2022/primeng-types-scrollarea.mjs.map +0 -1
- package/fesm2022/primeng-types-scroller.mjs.map +0 -1
- package/fesm2022/primeng-types-scrollpanel.mjs.map +0 -1
- package/fesm2022/primeng-types-scrolltop.mjs.map +0 -1
- package/fesm2022/primeng-types-select.mjs.map +0 -1
- package/fesm2022/primeng-types-selectbutton.mjs.map +0 -1
- package/fesm2022/primeng-types-shared.mjs.map +0 -1
- package/fesm2022/primeng-types-sidebar.mjs.map +0 -1
- package/fesm2022/primeng-types-skeleton.mjs.map +0 -1
- package/fesm2022/primeng-types-slider.mjs.map +0 -1
- package/fesm2022/primeng-types-speeddial.mjs.map +0 -1
- package/fesm2022/primeng-types-splitbutton.mjs.map +0 -1
- package/fesm2022/primeng-types-splitter.mjs.map +0 -1
- package/fesm2022/primeng-types-stepper.mjs.map +0 -1
- package/fesm2022/primeng-types-table.mjs.map +0 -1
- package/fesm2022/primeng-types-tabs.mjs.map +0 -1
- package/fesm2022/primeng-types-tag.mjs.map +0 -1
- package/fesm2022/primeng-types-terminal.mjs.map +0 -1
- package/fesm2022/primeng-types-textarea.mjs.map +0 -1
- package/fesm2022/primeng-types-tieredmenu.mjs.map +0 -1
- package/fesm2022/primeng-types-timeline.mjs.map +0 -1
- package/fesm2022/primeng-types-toast.mjs.map +0 -1
- package/fesm2022/primeng-types-togglebutton.mjs.map +0 -1
- package/fesm2022/primeng-types-toggleswitch.mjs.map +0 -1
- package/fesm2022/primeng-types-toolbar.mjs.map +0 -1
- package/fesm2022/primeng-types-tooltip.mjs.map +0 -1
- package/fesm2022/primeng-types-tree.mjs.map +0 -1
- package/fesm2022/primeng-types-treeselect.mjs.map +0 -1
- package/fesm2022/primeng-types-treetable.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primeng-autocomplete.mjs","sources":["../../src/autocomplete/style/autocompletestyle.ts","../../src/autocomplete/autocomplete.ts","../../src/autocomplete/primeng-autocomplete.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/autocomplete';\nimport { BaseStyle } from 'primeng/base';\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-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 clearIcon: 'p-autocomplete-clear-icon',\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};\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.primeng.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\nexport interface AutoCompleteStyle extends BaseStyle {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n forwardRef,\n HostListener,\n inject,\n InjectionToken,\n input,\n NgModule,\n numberAttribute,\n output,\n signal,\n TemplateRef,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { Spinner as SpinnerIcon } from '@primeicons/angular/spinner';\nimport { Times as TimesIcon } from '@primeicons/angular/times';\nimport { TimesCircle as TimesCircleIcon } from '@primeicons/angular/times-circle';\nimport { MotionOptions } from '@primeuix/motion';\nimport { equals, findLastIndex, findSingle, focus, isEmpty, isNotEmpty, resolveFieldData, uuid } from '@primeuix/utils';\nimport { OverlayOptions, OverlayService, ScrollerOptions, SharedModule, TranslationKeys } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseInput } from 'primeng/baseinput';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { Chip } from 'primeng/chip';\nimport { ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { InputText } from 'primeng/inputtext';\nimport { Overlay } from 'primeng/overlay';\nimport { Ripple } from 'primeng/ripple';\nimport { Scroller } from 'primeng/scroller';\nimport { Nullable } from 'primeng/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 'primeng/types/autocomplete';\nimport type { AppendTo, CSSProperties } from 'primeng/types/shared';\nimport { AutoCompleteStyle } from './style/autocompletestyle';\n\nconst AUTOCOMPLETE_INSTANCE = new InjectionToken<AutoComplete>('AUTOCOMPLETE_INSTANCE');\n\nexport const AUTOCOMPLETE_VALUE_ACCESSOR = {\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-auto-complete',\n standalone: true,\n imports: [NgTemplateOutlet, 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 [style]=\"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]=\"$tabindex()\"\n [attr.required]=\"requiredAttr()\"\n [attr.readonly]=\"readonlyAttr()\"\n [attr.disabled]=\"disabledAttr()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-expanded]=\"overlayVisible()\"\n [attr.aria-controls]=\"getAriaControls()\"\n [attr.aria-activedescendant]=\"getAriaActiveDescendant()\"\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 ($showClear()) {\n @if (!clearIconTemplate()) {\n <svg data-p-icon=\"times\" [pBind]=\"ptm('clearIcon')\" [class]=\"cx('clearIcon')\" (click)=\"clear()\" [attr.aria-hidden]=\"true\" />\n } @else {\n <span [pBind]=\"ptm('clearIcon')\" [class]=\"cx('clearIcon')\" (click)=\"clear()\">\n <ng-container [ngTemplateOutlet]=\"clearIconTemplate()!\"></ng-container>\n </span>\n }\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]=\"getMultipleAriaActiveDescendant()\"\n (focus)=\"onMultipleContainerFocus($event)\"\n (blur)=\"onMultipleContainerBlur($event)\"\n (keydown)=\"onMultipleContainerKeyDown($event)\"\n >\n @for (option of modelValue(); track getChipTrackKey(option); let i = $index) {\n <li\n #token\n [pBind]=\"ptm('chipItem')\"\n [class]=\"cx('chipItem', { i })\"\n [attr.id]=\"getMultipleOptionId(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 [pt]=\"ptm('pcChip')\" [class]=\"cx('pcChip')\" [label]=\"getChipLabel(option)\" [disabled]=\"$disabled()\" [removable]=\"true\" (onRemove)=\"!readonly() ? removeOption($event, i) : ''\" [unstyled]=\"unstyled()\">\n @if (selectedItemTemplate()) {\n <ng-container [ngTemplateOutlet]=\"selectedItemTemplate()!\" [ngTemplateOutletContext]=\"getSelectedItemContext(option)\"></ng-container>\n }\n <ng-template #removeicon>\n @if (!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 } @else {\n <span [pBind]=\"ptm('chipIcon')\" [attr.aria-hidden]=\"true\">\n <ng-container [ngTemplateOutlet]=\"removeIconTemplate()!\" [ngTemplateOutletContext]=\"getRemoveIconContext(i)\"></ng-container>\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 [style]=\"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]=\"getMultiplePlaceholder()\"\n aria-autocomplete=\"list\"\n [attr.tabindex]=\"$tabindex()\"\n [attr.required]=\"requiredAttr()\"\n [attr.readonly]=\"readonlyAttr()\"\n [attr.disabled]=\"disabledAttr()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-expanded]=\"overlayVisible()\"\n [attr.aria-controls]=\"getAriaControls()\"\n [attr.aria-activedescendant]=\"getAriaActiveDescendant()\"\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 @if (!loadingIconTemplate()) {\n <svg data-p-icon=\"spinner\" [pBind]=\"ptm('loader')\" [class]=\"cn(cx('loader'))\" [attr.aria-hidden]=\"true\" />\n } @else {\n <span [pBind]=\"ptm('loader')\" [class]=\"cx('loader')\" [attr.aria-hidden]=\"true\">\n <ng-container [ngTemplateOutlet]=\"loadingIconTemplate()!\"></ng-container>\n </span>\n }\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 [class]=\"dropdownIcon()\" [attr.aria-hidden]=\"true\"></span>\n } @else {\n @if (!dropdownIconTemplate()) {\n <svg data-p-icon=\"chevron-down\" [pBind]=\"ptm('dropdown')\" />\n } @else {\n <ng-container [ngTemplateOutlet]=\"dropdownIconTemplate()!\"></ng-container>\n }\n }\n </button>\n }\n <p-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [visible]=\"overlayVisible()\"\n (visibleChange)=\"overlayVisible.set($event)\"\n [options]=\"overlayOptions()\"\n [target]=\"$overlayTarget\"\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())\" [style]=\"panelStyle()\">\n @if (headerTemplate()) {\n <ng-container [ngTemplateOutlet]=\"headerTemplate()!\"></ng-container>\n }\n <div [pBind]=\"ptm('listContainer')\" [class]=\"cx('listContainer')\" [style.max-height]=\"getListContainerMaxHeight()\" [tabindex]=\"-1\">\n @if (virtualScroll()) {\n <p-scroller\n #scroller\n [tabindex]=\"-1\"\n [pt]=\"ptm('virtualScroller')\"\n [items]=\"visibleOptions()\"\n [style]=\"scrollerStyle()\"\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\" [ngTemplateOutletContext]=\"getBuildInItemsContext(items, scrollerOptions)\"></ng-container>\n </ng-template>\n @if (loaderTemplate()) {\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container [ngTemplateOutlet]=\"loaderTemplate()!\" [ngTemplateOutletContext]=\"getLoaderContext(scrollerOptions)\"></ng-container>\n </ng-template>\n }\n </p-scroller>\n } @else {\n <ng-container [ngTemplateOutlet]=\"buildInItems\" [ngTemplateOutletContext]=\"getBuildInItemsContext(visibleOptions(), {})\"></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]=\"$listId()\" [attr.aria-label]=\"listLabel\">\n @for (option of items; track getOptionValue(option); let i = $index) {\n @if (isOptionGroup(option)) {\n <li [pBind]=\"ptm('optionGroup')\" [attr.id]=\"getOptionElementId(i, scrollerOptions)\" [class]=\"cx('optionGroup')\" [style]=\"getItemStyle(scrollerOptions)\" role=\"option\">\n @if (!groupTemplate()) {\n <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n @if (groupTemplate()) {\n <ng-container [ngTemplateOutlet]=\"groupTemplate()!\" [ngTemplateOutletContext]=\"getGroupContext(option.optionGroup)\"></ng-container>\n }\n </li>\n } @else {\n <li\n pRipple\n [pBind]=\"getPTOptions(option, scrollerOptions, i, 'option')\"\n [style]=\"getItemStyle(scrollerOptions)\"\n [class]=\"cx('option', { option, i, scrollerOptions })\"\n [attr.id]=\"getOptionElementId(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]=\"isOptionFocused(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()) {\n <span>{{ getOptionLabel(option) }}</span>\n } @else {\n <ng-container [ngTemplateOutlet]=\"itemTemplate()!\" [ngTemplateOutletContext]=\"getItemContext(option, i, scrollerOptions)\"></ng-container>\n }\n </li>\n }\n }\n @if (shouldShowEmptyMessage(items)) {\n <li [pBind]=\"ptm('emptyMessage')\" [class]=\"cx('emptyMessage')\" [style]=\"getItemStyle(scrollerOptions)\" role=\"option\">\n @if (!emptyTemplate()) {\n {{ searchResultMessageText }}\n } @else {\n <ng-container [ngTemplateOutlet]=\"emptyTemplate()!\"></ng-container>\n }\n </li>\n }\n </ul>\n </ng-template>\n @if (footerTemplate()) {\n <ng-container [ngTemplateOutlet]=\"footerTemplate()!\"></ng-container>\n }\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]': \"cx('root')\",\n '[style]': \"sx('root')\",\n '[attr.data-p]': 'containerDataP'\n },\n hostDirectives: [Bind]\n})\nexport class AutoComplete extends BaseInput<AutoCompletePassThrough, any> {\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 * @group Props\n */\n minQueryLength = input<number>();\n /**\n * Delay between keystrokes to wait before sending a query.\n * @group Props\n */\n delay = input(300, { transform: numberAttribute });\n /**\n * Inline style of the overlay panel element.\n * @group Props\n */\n panelStyle = input<CSSProperties>();\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n panelStyleClass = input<string>();\n /**\n * Inline style of the input field.\n * @group Props\n */\n inputStyle = input<CSSProperties>();\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n inputId = input<string>();\n /**\n * Inline style of the input field.\n * @group Props\n */\n inputStyleClass = input<string>();\n /**\n * Hint text for the input field.\n * @group Props\n */\n placeholder = input<string>();\n /**\n * When present, it specifies that the input cannot be typed.\n * @group Props\n */\n readonly = input(false, { transform: booleanAttribute });\n /**\n * Maximum height of the suggestions panel.\n * @group Props\n */\n scrollHeight = input('200px');\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n lazy = input(false, { transform: booleanAttribute });\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n virtualScroll = input(false, { transform: booleanAttribute });\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n virtualScrollItemSize = input<number>();\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n virtualScrollOptions = input<ScrollerOptions>();\n /**\n * When enabled, highlights the first item in the list by default.\n * @group Props\n */\n autoHighlight = input(false, { 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 forceSelection = input(false, { transform: booleanAttribute });\n /**\n * Type of the input, defaults to \"text\".\n * @group Props\n */\n type = input('text');\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n autoZIndex = input(true, { transform: booleanAttribute });\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n baseZIndex = input(0, { transform: numberAttribute });\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n ariaLabel = input<string>();\n /**\n * Defines a string that labels the dropdown button for accessibility.\n * @group Props\n */\n dropdownAriaLabel = input<string>();\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n dropdownIcon = input<string>();\n /**\n * Ensures uniqueness of selected items on multiple mode.\n * @group Props\n */\n unique = input(true, { transform: booleanAttribute });\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n group = input(false, { transform: booleanAttribute });\n /**\n * Whether to run a query when input receives focus.\n * @group Props\n */\n completeOnFocus = input(false, { transform: booleanAttribute });\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n showClear = input(false, { transform: booleanAttribute });\n /**\n * Displays a button next to the input field when enabled.\n * @group Props\n */\n dropdown = input(false, { transform: booleanAttribute });\n /**\n * Whether to show the empty message or not.\n * @group Props\n */\n showEmptyMessage = input(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 dropdownMode = input('blank');\n /**\n * Specifies if multiple values can be selected.\n * @deprecated Use InputTags component instead for chips/tags input functionality.\n * @group Props\n */\n multiple = input(false, { 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 * @deprecated Use InputTags component instead for chips/tags input functionality.\n * @group Props\n */\n addOnTab = input(false, { transform: booleanAttribute });\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input<number>();\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n 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 emptyMessage = input<string>();\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus = input(false, { transform: booleanAttribute });\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n autocomplete = input('off');\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n optionGroupChildren = input<string>('items');\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n optionGroupLabel = input<string>('label');\n /**\n * Options for the overlay element.\n * @group Props\n */\n overlayOptions = input<OverlayOptions>();\n /**\n * An array of suggestions to display.\n * @group Props\n */\n suggestions = input<any[]>([]);\n /**\n * Property name or getter function to use as the label of an option.\n * @group Props\n */\n 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 optionValue = input<string | ((item: any) => string)>();\n /**\n * Unique identifier of the component.\n * @group Props\n */\n id = input<string>();\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 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 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 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 autoOptionFocus = input(false, { transform: booleanAttribute });\n /**\n * When enabled, the focused option is selected.\n * @group Props\n */\n selectOnFocus = input(false, { transform: booleanAttribute });\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n searchLocale = input<string | string[]>();\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 optionDisabled = input<string | ((item: any) => boolean)>();\n /**\n * When enabled, the hovered option will be focused.\n * @group Props\n */\n focusOnHover = input(true, { transform: booleanAttribute });\n /**\n * Whether typeahead is active or not.\n * @defaultValue true\n * @group Props\n */\n typeahead = input(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 * @deprecated Use InputTags component instead for chips/tags input functionality.\n * @defaultValue false\n * @group Props\n */\n addOnBlur = input(false, { transform: booleanAttribute });\n /**\n * Separator char to add item when typeahead is false and multiple mode is enabled.\n * @deprecated Use InputTags component instead for chips/tags input functionality.\n * @group Props\n */\n 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<AppendTo>(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 * @group Emits\n */\n onClear = output<void>();\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 * @group Emits\n */\n onShow = output<void>();\n /**\n * Callback to invoke on overlay is hidden.\n * @group Emits\n */\n onHide = output<void>();\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 inputEL = viewChild<ElementRef>('focusInput');\n\n multiInputEl = viewChild<ElementRef>('multiIn');\n\n multiContainerEL = viewChild<ElementRef>('multiContainer');\n\n dropdownButton = viewChild<ElementRef>('ddBtn');\n\n itemsViewChild = viewChild<ElementRef>('items');\n\n scroller = viewChild<Scroller>('scroller');\n\n overlayViewChild = viewChild<Overlay>('overlay');\n\n itemsWrapper: Nullable<HTMLDivElement>;\n\n /**\n * Custom item template.\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<AutoCompleteItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n emptyTemplate = contentChild<TemplateRef<void>>('empty', { descendants: false });\n\n /**\n * Custom header template.\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n\n /**\n * Custom footer template.\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n\n /**\n * Custom selected item template.\n * @group Templates\n */\n selectedItemTemplate = contentChild<TemplateRef<AutoCompleteSelectedItemTemplateContext>>('selecteditem', { descendants: false });\n\n /**\n * Custom group template.\n * @group Templates\n */\n groupTemplate = contentChild<TemplateRef<AutoCompleteGroupTemplateContext>>('group', { descendants: false });\n\n /**\n * Custom loader template.\n * @group Templates\n */\n loaderTemplate = contentChild<TemplateRef<AutoCompleteLoaderTemplateContext>>('loader', { descendants: false });\n\n /**\n * Custom remove icon template.\n * @group Templates\n */\n removeIconTemplate = contentChild<TemplateRef<AutoCompleteRemoveIconTemplateContext>>('removeicon', { descendants: false });\n\n /**\n * Custom loading icon template.\n * @group Templates\n */\n loadingIconTemplate = contentChild<TemplateRef<void>>('loadingicon', { descendants: false });\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n clearIconTemplate = contentChild<TemplateRef<void>>('clearicon', { descendants: false });\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n dropdownIconTemplate = contentChild<TemplateRef<void>>('dropdownicon', { descendants: false });\n\n @HostListener('click', ['$event'])\n onHostClick(event: MouseEvent) {\n this.onContainerClick(event);\n }\n\n value: any;\n\n timeout: ReturnType<typeof setTimeout> | null = null;\n\n overlayVisible = signal<boolean>(false);\n\n suggestionsUpdated: Nullable<boolean>;\n\n highlightOption: unknown;\n\n highlightOptionChanged: Nullable<boolean>;\n\n focused = signal<boolean>(false);\n\n loading = signal<boolean>(false);\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n listId: string | undefined;\n\n searchTimeout: ReturnType<typeof setTimeout> | null = null;\n\n dirty: boolean = false;\n\n focusedMultipleOptionIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n _componentStyle = inject(AutoCompleteStyle);\n\n overlayService = inject(OverlayService);\n\n private _internalId = uuid('pn_id_');\n\n $id = computed(() => this.id() || this._internalId);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n get $overlayTarget() {\n return this.el?.nativeElement?.closest('[data-pc-name=\"inputtags\"]') ? '@grandparent' : '@parent';\n }\n\n visibleOptions = computed(() => {\n return this.group() ? this.flatOptions(this.suggestions()) : this.suggestions() || [];\n });\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 $showClear = computed(() => this.$filled() && !this.$disabled() && this.showClear() && !this.loading());\n\n scrollerStyle = computed(() => ({ height: this.scrollHeight() }));\n\n $tabindex = computed(() => (!this.$disabled() ? this.tabindex() : -1));\n\n requiredAttr = computed(() => (this.required() ? '' : undefined));\n\n readonlyAttr = computed(() => (this.readonly() ? '' : undefined));\n\n disabledAttr = computed(() => (this.$disabled() ? '' : undefined));\n\n $listId = computed(() => this.$id() + '_list');\n\n get focusedMultipleOptionId() {\n return this.focusedMultipleOptionIndex() !== -1 ? `${this.$id()}_multiple_option_${this.focusedMultipleOptionIndex()}` : null;\n }\n\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.$id()}_${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.translate(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: number) {\n return this._componentStyle.classes.chipItem({ instance: this, i: index });\n }\n\n constructor() {\n super();\n effect(() => {\n const value = this.suggestions();\n if (value) {\n this.handleSuggestionsChange();\n }\n });\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\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 setTimeout(() => {\n if (this.overlayViewChild()) {\n this.overlayViewChild()!.alignOverlay();\n }\n }, 1);\n this.suggestionsUpdated = false;\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 this.focusedOptionIndex.set(focusedOptionIndex);\n this.suggestionsUpdated = true;\n this.loading.set(false);\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: any): boolean {\n return this.optionGroupLabel() && option.optionGroup && option.group;\n }\n\n findFirstOptionIndex(): number {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findLastOptionIndex(): number {\n return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findFirstFocusedOptionIndex(): number {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex(): number {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findSelectedOptionIndex(): number {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextOptionIndex(index: number): number {\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: number): number {\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: any): boolean {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isValidOption(option: any): boolean {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionDisabled(option: any): boolean {\n return this.optionDisabled() ? resolveFieldData(option, this.optionDisabled()) : false;\n }\n\n isSelected(option: any): boolean {\n if (this.multiple()) {\n return this.unique() ? (this.modelValue() as string[])?.some((model) => equals(model, option, this.equalityKey())) : false;\n }\n return equals(this.modelValue(), option, this.equalityKey());\n }\n\n isOptionMatched(option: any, value: string): boolean {\n return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale()) === value.toLocaleLowerCase(this.searchLocale());\n }\n\n isInputClicked(event: MouseEvent): boolean {\n return event.target === this.inputEL()?.nativeElement;\n }\n\n isDropdownClicked(event: MouseEvent): boolean {\n return this.dropdownButton()?.nativeElement ? event.target === this.dropdownButton()!.nativeElement || this.dropdownButton()!.nativeElement.contains(event.target) : false;\n }\n\n equalityKey(): string | undefined {\n return this.optionValue() ? undefined : this.dataKey();\n }\n\n onContainerClick(event: MouseEvent) {\n if (this.$disabled() || this.loading() || this.isInputClicked(event) || this.isDropdownClicked(event)) {\n return;\n }\n\n if (!this.overlayViewChild() || !this.overlayViewChild()!.overlayViewChild()?.nativeElement.contains(event.target)) {\n focus(this.inputEL()?.nativeElement);\n }\n }\n\n handleDropdownClick(event: MouseEvent) {\n let query: string | undefined = undefined;\n\n if (this.overlayVisible()) {\n this.hide(true);\n } else {\n focus(this.inputEL()?.nativeElement);\n query = this.inputEL()?.nativeElement?.value as string;\n\n if (this.dropdownMode() === 'blank') this.search(event, '', 'dropdown');\n else if (this.dropdownMode() === 'current') this.search(event, query, 'dropdown');\n }\n\n this.onDropdownClick.emit({ originalEvent: event, query });\n }\n\n onInput(event: Event) {\n if (this.typeahead()) {\n const _minLength = this.minQueryLength() || 1;\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n let query = (event.target as HTMLInputElement).value;\n const maxLen = this.maxlength();\n if (maxLen != null) {\n query = query.split('').slice(0, maxLen).join('');\n }\n\n if (!this.multiple() && !this.forceSelection()) {\n this.updateModel(query);\n }\n\n if (query.length === 0 && !this.multiple()) {\n this.onClear.emit();\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: Event) {\n this.updateInputWithForceSelection(event);\n }\n\n onInputFocus(event: FocusEvent) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n if (!this.dirty && this.completeOnFocus()) {\n this.search(event, (event.target as HTMLInputElement).value, 'focus');\n }\n this.dirty = true;\n this.focused.set(true);\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible() && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.overlayVisible() && this.scrollInView(this.focusedOptionIndex());\n this.onFocus.emit(event);\n }\n\n onMultipleContainerFocus(event: FocusEvent) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n this.focused.set(true);\n }\n\n onMultipleContainerBlur(event: FocusEvent) {\n this.focusedMultipleOptionIndex.set(-1);\n this.focused.set(false);\n }\n\n onMultipleContainerKeyDown(event: KeyboardEvent) {\n if (this.$disabled()) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOnMultiple(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOnMultiple(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOnMultiple(event);\n break;\n\n default:\n break;\n }\n }\n\n onInputBlur(event: FocusEvent) {\n this.dirty = false;\n this.focused.set(false);\n this.focusedOptionIndex.set(-1);\n\n if (this.addOnBlur() && this.multiple() && !this.typeahead()) {\n const inputValue = (this.multiInputEl()?.nativeElement?.value || (event.target as HTMLInputElement).value || '').trim();\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n if (this.multiInputEl()?.nativeElement) {\n this.multiInputEl()!.nativeElement.value = '';\n } else {\n (event.target as HTMLInputElement).value = '';\n }\n }\n }\n\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onInputPaste(event: ClipboardEvent) {\n if (this.separator() && this.multiple() && !this.typeahead()) {\n const pastedData = event.clipboardData?.getData('Text');\n if (pastedData) {\n const values = pastedData.split(this.separator()!);\n const newValues = [...(this.modelValue() || [])];\n\n values.forEach((value: string) => {\n const trimmedValue = value.trim();\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 this.updateModel(newValues);\n addedValues.forEach((addedValue) => {\n this.onAdd.emit({ originalEvent: event, value: addedValue });\n });\n if (this.multiInputEl()?.nativeElement) {\n this.multiInputEl()!.nativeElement.value = '';\n } else {\n (event.target as HTMLInputElement).value = '';\n }\n event.preventDefault();\n }\n }\n } else {\n this.onKeyDown(event as any);\n }\n }\n\n onInputKeyUp(event: KeyboardEvent) {\n this.onKeyUp.emit(event);\n }\n\n onKeyDown(event: KeyboardEvent) {\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 if (this.overlayVisible()) {\n event.stopPropagation();\n }\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: KeyboardEvent) {\n const separator = this.separator();\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 as HTMLInputElement).value || '').trim();\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n if (this.multiInputEl()?.nativeElement) {\n this.multiInputEl()!.nativeElement.value = '';\n } else {\n (event.target as HTMLInputElement).value = '';\n }\n event.preventDefault();\n }\n }\n }\n }\n\n onArrowDownKey(event: KeyboardEvent) {\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: KeyboardEvent) {\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: KeyboardEvent) {\n const target = event.currentTarget as HTMLInputElement;\n this.focusedOptionIndex.set(-1);\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: KeyboardEvent) {\n this.focusedOptionIndex.set(-1);\n\n this.multiple() && event.stopPropagation(); // To prevent onArrowRightKeyOnMultiple method\n }\n\n onHomeKey(event: KeyboardEvent) {\n const currentTarget = event.currentTarget as HTMLInputElement;\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: KeyboardEvent) {\n const currentTarget = event.currentTarget as HTMLInputElement;\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: KeyboardEvent) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event: KeyboardEvent) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onEnterKey(event: KeyboardEvent) {\n if (!this.typeahead() && !this.forceSelection()) {\n if (this.multiple()) {\n const inputValue = (event.target as HTMLInputElement).value?.trim();\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n this.inputEL()?.nativeElement && (this.inputEL()!.nativeElement.value = '');\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: KeyboardEvent) {\n this.overlayVisible() && this.hide(true);\n event.preventDefault();\n }\n\n onTabKey(event: KeyboardEvent) {\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 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 if (this.multiInputEl()?.nativeElement) {\n this.multiInputEl()!.nativeElement.value = '';\n } else if (this.inputEL()?.nativeElement) {\n this.inputEL()!.nativeElement.value = '';\n }\n\n this.updateInputValue();\n event.preventDefault(); // Keep focus on the component\n this.overlayVisible() && this.hide();\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: KeyboardEvent) {\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 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(event: KeyboardEvent) {\n const optionIndex = this.focusedMultipleOptionIndex() < 1 ? 0 : this.focusedMultipleOptionIndex() - 1;\n this.focusedMultipleOptionIndex.set(optionIndex);\n }\n\n onArrowRightKeyOnMultiple(event: KeyboardEvent) {\n let optionIndex = this.focusedMultipleOptionIndex();\n optionIndex++;\n\n this.focusedMultipleOptionIndex.set(optionIndex);\n if (optionIndex > this.modelValue().length - 1) {\n this.focusedMultipleOptionIndex.set(-1);\n focus(this.inputEL()?.nativeElement);\n }\n }\n\n onBackspaceKeyOnMultiple(event: KeyboardEvent) {\n if (this.focusedMultipleOptionIndex() !== -1) {\n this.removeOption(event, this.focusedMultipleOptionIndex());\n }\n }\n\n onOptionSelect(event: Event | null, option: any, isHide = true) {\n if (this.multiple()) {\n this.inputEL()?.nativeElement && (this.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 if (event) {\n this.onSelect.emit({ originalEvent: event, value: option });\n }\n\n isHide && this.hide(true);\n }\n\n onOptionMouseEnter(event: MouseEvent, index: number) {\n if (this.focusOnHover()) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n search(event: Event, query: string, source: string) {\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 this.loading.set(true);\n this.completeMethod.emit({ originalEvent: event, query });\n }\n\n removeOption(event: Event, index: number) {\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 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 }\n\n updateInputValue() {\n const inputEl = this.inputEL();\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: Event | null) {\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();\n\n if (!inputCleared && _minLength != null && 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 if (!this.multiple()) {\n this.clear();\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 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.$id()}_${index}` : this.focusedOptionId;\n const itemsViewChild = this.itemsViewChild();\n if (itemsViewChild && itemsViewChild.nativeElement) {\n const element = findSingle(itemsViewChild.nativeElement, `li[id=\"${id}\"]`);\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: Event, index: number) {\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.set(true);\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n isFocus && focus(this.inputEL()?.nativeElement);\n if (isFocus) {\n focus(this.inputEL()?.nativeElement);\n }\n this.onShow.emit();\n }\n\n hide(isFocus = false) {\n const _hide = () => {\n this.dirty = isFocus;\n this.overlayVisible.set(false);\n this.focusedOptionIndex.set(-1);\n isFocus && focus(this.inputEL()?.nativeElement);\n this.onHide.emit();\n this.updateInputWithForceSelection(null);\n };\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.timeout = setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n }\n\n clear() {\n this.updateModel(null);\n this.inputEL()?.nativeElement && (this.inputEL()!.nativeElement.value = '');\n this.onClear.emit();\n this.overlayVisible() && this.hide();\n }\n\n hasSelectedOption(): boolean {\n return isNotEmpty(this.modelValue());\n }\n\n getAriaPosInset(index: number): number {\n return (\n (this.optionGroupLabel()\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n getOptionLabel(option: any) {\n const optionLabel = this.optionLabel();\n return optionLabel ? resolveFieldData(option, optionLabel) : option && option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option) {\n const optionValue = this.optionValue();\n return optionValue ? resolveFieldData(option, optionValue) : option && option.value != undefined ? option.value : option;\n }\n\n getChipTrackKey(option: any): any {\n return option != null && typeof option === 'object' ? this.getOptionValue(option) : option;\n }\n\n getOptionIndex(index: number, scrollerOptions: any): number {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionGroupLabel(optionGroup: any) {\n const optionGroupLabel = this.optionGroupLabel();\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 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 getSelectedItemContext(option: any) {\n return { $implicit: option };\n }\n\n getRemoveIconContext(index: number) {\n return { removeCallback: this.removeOption.bind(this), index, class: this.cx('chipIcon') };\n }\n\n getGroupContext(optionGroup: any) {\n return { $implicit: optionGroup };\n }\n\n getItemContext(option: any, index: number, scrollerOptions: any) {\n return {\n $implicit: option,\n index: scrollerOptions.getOptions ? scrollerOptions.getOptions(index) : index\n };\n }\n\n getLoaderContext(scrollerOptions: any) {\n return { options: scrollerOptions };\n }\n\n getBuildInItemsContext(items: any[], scrollerOptions: any) {\n return { $implicit: items, options: scrollerOptions };\n }\n\n shouldShowEmptyMessage(items: any[]): boolean {\n return !items || (items.length === 0 && this.showEmptyMessage());\n }\n\n getItemStyle(scrollerOptions: any): CSSProperties {\n return { height: scrollerOptions.itemSize + 'px' };\n }\n\n getChipLabel(option: any) {\n return !this.selectedItemTemplate() && this.getOptionLabel(option);\n }\n\n getMultipleOptionId(index: number): string {\n return this.$id() + '_multiple_option_' + index;\n }\n\n getOptionElementId(index: number, scrollerOptions: any): string {\n return this.$id() + '_' + this.getOptionIndex(index, scrollerOptions);\n }\n\n isOptionFocused(index: number, scrollerOptions: any): boolean {\n return this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions);\n }\n\n getAriaControls(): string | null {\n return this.overlayVisible() ? this.$listId() : null;\n }\n\n getAriaActiveDescendant(): string | null | undefined {\n return this.focused() ? this.focusedOptionId : undefined;\n }\n\n getMultipleAriaActiveDescendant(): string | null | undefined {\n return this.focused() ? this.focusedMultipleOptionId : undefined;\n }\n\n getMultiplePlaceholder(): string | null | undefined {\n return !this.$filled() ? this.placeholder() : null;\n }\n\n getListContainerMaxHeight(): string {\n return this.virtualScroll() ? 'auto' : this.scrollHeight();\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 if (this.virtualScroll()) {\n this.scroller()?.setContentEl(this.itemsViewChild()?.nativeElement);\n this.scroller()?.viewInit();\n }\n if (this.visibleOptions() && this.visibleOptions().length) {\n if (this.virtualScroll()) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n\n if (selectedIndex !== -1) {\n this.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 return match ?? val;\n });\n setModelValue(isEmpty(value) ? value : resolved);\n } else {\n const option = this.visibleOptions().find((option: any) => equals(value, option, this.equalityKey()));\n setModelValue(isEmpty(option) ? value : option);\n }\n\n this.value = value;\n this.updateInputValue();\n }\n\n onDestroy() {\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\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":["TimesCircleIcon","SpinnerIcon","ChevronDownIcon","TimesIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"primeng-autocomplete.mjs","names":["TimesCircleIcon","SpinnerIcon","ChevronDownIcon","TimesIcon"],"sources":["../../src/autocomplete/style/autocompletestyle.ts","../../src/autocomplete/autocomplete.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/autocomplete';\nimport { BaseStyle } from 'primeng/base';\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-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 clearIcon: 'p-autocomplete-clear-icon',\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};\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.primeng.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 { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n forwardRef,\n HostListener,\n inject,\n InjectionToken,\n input,\n NgModule,\n numberAttribute,\n output,\n signal,\n TemplateRef,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { Spinner as SpinnerIcon } from '@primeicons/angular/spinner';\nimport { Times as TimesIcon } from '@primeicons/angular/times';\nimport { TimesCircle as TimesCircleIcon } from '@primeicons/angular/times-circle';\nimport { MotionOptions } from '@primeuix/motion';\nimport { equals, findLastIndex, findSingle, focus, isEmpty, isNotEmpty, resolveFieldData, uuid } from '@primeuix/utils';\nimport { OverlayOptions, OverlayService, ScrollerOptions, SharedModule, TranslationKeys } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseInput } from 'primeng/baseinput';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { Chip } from 'primeng/chip';\nimport { ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { InputText } from 'primeng/inputtext';\nimport { Overlay } from 'primeng/overlay';\nimport { Ripple } from 'primeng/ripple';\nimport { Scroller } from 'primeng/scroller';\nimport { Nullable } from 'primeng/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 'primeng/types/autocomplete';\nimport type { AppendTo, CSSProperties } from 'primeng/types/shared';\nimport { AutoCompleteStyle } from './style/autocompletestyle';\n\nconst AUTOCOMPLETE_INSTANCE = new InjectionToken<AutoComplete>('AUTOCOMPLETE_INSTANCE');\n\nexport const AUTOCOMPLETE_VALUE_ACCESSOR = {\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-auto-complete',\n standalone: true,\n imports: [NgTemplateOutlet, 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 [style]=\"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]=\"$tabindex()\"\n [attr.required]=\"requiredAttr()\"\n [attr.readonly]=\"readonlyAttr()\"\n [attr.disabled]=\"disabledAttr()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-expanded]=\"overlayVisible()\"\n [attr.aria-controls]=\"getAriaControls()\"\n [attr.aria-activedescendant]=\"getAriaActiveDescendant()\"\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 ($showClear()) {\n @if (!clearIconTemplate()) {\n <svg data-p-icon=\"times\" [pBind]=\"ptm('clearIcon')\" [class]=\"cx('clearIcon')\" (click)=\"clear()\" [attr.aria-hidden]=\"true\" />\n } @else {\n <span [pBind]=\"ptm('clearIcon')\" [class]=\"cx('clearIcon')\" (click)=\"clear()\">\n <ng-container [ngTemplateOutlet]=\"clearIconTemplate()!\"></ng-container>\n </span>\n }\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]=\"getMultipleAriaActiveDescendant()\"\n (focus)=\"onMultipleContainerFocus($event)\"\n (blur)=\"onMultipleContainerBlur($event)\"\n (keydown)=\"onMultipleContainerKeyDown($event)\"\n >\n @for (option of modelValue(); track getChipTrackKey(option); let i = $index) {\n <li\n #token\n [pBind]=\"ptm('chipItem')\"\n [class]=\"cx('chipItem', { i })\"\n [attr.id]=\"getMultipleOptionId(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 [pt]=\"ptm('pcChip')\" [class]=\"cx('pcChip')\" [label]=\"getChipLabel(option)\" [disabled]=\"$disabled()\" [removable]=\"true\" (onRemove)=\"!readonly() ? removeOption($event, i) : ''\" [unstyled]=\"unstyled()\">\n @if (selectedItemTemplate()) {\n <ng-container [ngTemplateOutlet]=\"selectedItemTemplate()!\" [ngTemplateOutletContext]=\"getSelectedItemContext(option)\"></ng-container>\n }\n <ng-template #removeicon>\n @if (!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 } @else {\n <span [pBind]=\"ptm('chipIcon')\" [attr.aria-hidden]=\"true\">\n <ng-container [ngTemplateOutlet]=\"removeIconTemplate()!\" [ngTemplateOutletContext]=\"getRemoveIconContext(i)\"></ng-container>\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 [style]=\"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]=\"getMultiplePlaceholder()\"\n aria-autocomplete=\"list\"\n [attr.tabindex]=\"$tabindex()\"\n [attr.required]=\"requiredAttr()\"\n [attr.readonly]=\"readonlyAttr()\"\n [attr.disabled]=\"disabledAttr()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-expanded]=\"overlayVisible()\"\n [attr.aria-controls]=\"getAriaControls()\"\n [attr.aria-activedescendant]=\"getAriaActiveDescendant()\"\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 @if (!loadingIconTemplate()) {\n <svg data-p-icon=\"spinner\" [pBind]=\"ptm('loader')\" [class]=\"cn(cx('loader'))\" [attr.aria-hidden]=\"true\" />\n } @else {\n <span [pBind]=\"ptm('loader')\" [class]=\"cx('loader')\" [attr.aria-hidden]=\"true\">\n <ng-container [ngTemplateOutlet]=\"loadingIconTemplate()!\"></ng-container>\n </span>\n }\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 [class]=\"dropdownIcon()\" [attr.aria-hidden]=\"true\"></span>\n } @else {\n @if (!dropdownIconTemplate()) {\n <svg data-p-icon=\"chevron-down\" [pBind]=\"ptm('dropdown')\" />\n } @else {\n <ng-container [ngTemplateOutlet]=\"dropdownIconTemplate()!\"></ng-container>\n }\n }\n </button>\n }\n <p-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [visible]=\"overlayVisible()\"\n (visibleChange)=\"overlayVisible.set($event)\"\n [options]=\"overlayOptions()\"\n [target]=\"$overlayTarget\"\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())\" [style]=\"panelStyle()\">\n @if (headerTemplate()) {\n <ng-container [ngTemplateOutlet]=\"headerTemplate()!\"></ng-container>\n }\n <div [pBind]=\"ptm('listContainer')\" [class]=\"cx('listContainer')\" [style.max-height]=\"getListContainerMaxHeight()\" [tabindex]=\"-1\">\n @if (virtualScroll()) {\n <p-scroller\n #scroller\n [tabindex]=\"-1\"\n [pt]=\"ptm('virtualScroller')\"\n [items]=\"visibleOptions()\"\n [style]=\"scrollerStyle()\"\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\" [ngTemplateOutletContext]=\"getBuildInItemsContext(items, scrollerOptions)\"></ng-container>\n </ng-template>\n @if (loaderTemplate()) {\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container [ngTemplateOutlet]=\"loaderTemplate()!\" [ngTemplateOutletContext]=\"getLoaderContext(scrollerOptions)\"></ng-container>\n </ng-template>\n }\n </p-scroller>\n } @else {\n <ng-container [ngTemplateOutlet]=\"buildInItems\" [ngTemplateOutletContext]=\"getBuildInItemsContext(visibleOptions(), {})\"></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]=\"$listId()\" [attr.aria-label]=\"listLabel\">\n @for (option of items; track getOptionValue(option); let i = $index) {\n @if (isOptionGroup(option)) {\n <li [pBind]=\"ptm('optionGroup')\" [attr.id]=\"getOptionElementId(i, scrollerOptions)\" [class]=\"cx('optionGroup')\" [style]=\"getItemStyle(scrollerOptions)\" role=\"option\">\n @if (!groupTemplate()) {\n <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n @if (groupTemplate()) {\n <ng-container [ngTemplateOutlet]=\"groupTemplate()!\" [ngTemplateOutletContext]=\"getGroupContext(option.optionGroup)\"></ng-container>\n }\n </li>\n } @else {\n <li\n pRipple\n [pBind]=\"getPTOptions(option, scrollerOptions, i, 'option')\"\n [style]=\"getItemStyle(scrollerOptions)\"\n [class]=\"cx('option', { option, i, scrollerOptions })\"\n [attr.id]=\"getOptionElementId(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]=\"isOptionFocused(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()) {\n <span>{{ getOptionLabel(option) }}</span>\n } @else {\n <ng-container [ngTemplateOutlet]=\"itemTemplate()!\" [ngTemplateOutletContext]=\"getItemContext(option, i, scrollerOptions)\"></ng-container>\n }\n </li>\n }\n }\n @if (shouldShowEmptyMessage(items)) {\n <li [pBind]=\"ptm('emptyMessage')\" [class]=\"cx('emptyMessage')\" [style]=\"getItemStyle(scrollerOptions)\" role=\"option\">\n @if (!emptyTemplate()) {\n {{ searchResultMessageText }}\n } @else {\n <ng-container [ngTemplateOutlet]=\"emptyTemplate()!\"></ng-container>\n }\n </li>\n }\n </ul>\n </ng-template>\n @if (footerTemplate()) {\n <ng-container [ngTemplateOutlet]=\"footerTemplate()!\"></ng-container>\n }\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]': \"cx('root')\",\n '[style]': \"sx('root')\",\n '[attr.data-p]': 'containerDataP'\n },\n hostDirectives: [Bind]\n})\nexport class AutoComplete extends BaseInput<AutoCompletePassThrough, any> {\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 * @group Props\n */\n minQueryLength = input<number>();\n /**\n * Delay between keystrokes to wait before sending a query.\n * @group Props\n */\n delay = input(300, { transform: numberAttribute });\n /**\n * Inline style of the overlay panel element.\n * @group Props\n */\n panelStyle = input<CSSProperties>();\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n panelStyleClass = input<string>();\n /**\n * Inline style of the input field.\n * @group Props\n */\n inputStyle = input<CSSProperties>();\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n inputId = input<string>();\n /**\n * Inline style of the input field.\n * @group Props\n */\n inputStyleClass = input<string>();\n /**\n * Hint text for the input field.\n * @group Props\n */\n placeholder = input<string>();\n /**\n * When present, it specifies that the input cannot be typed.\n * @group Props\n */\n readonly = input(false, { transform: booleanAttribute });\n /**\n * Maximum height of the suggestions panel.\n * @group Props\n */\n scrollHeight = input('200px');\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n lazy = input(false, { transform: booleanAttribute });\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n virtualScroll = input(false, { transform: booleanAttribute });\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n virtualScrollItemSize = input<number>();\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n virtualScrollOptions = input<ScrollerOptions>();\n /**\n * When enabled, highlights the first item in the list by default.\n * @group Props\n */\n autoHighlight = input(false, { 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 forceSelection = input(false, { transform: booleanAttribute });\n /**\n * Type of the input, defaults to \"text\".\n * @group Props\n */\n type = input('text');\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n autoZIndex = input(true, { transform: booleanAttribute });\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n baseZIndex = input(0, { transform: numberAttribute });\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n ariaLabel = input<string>();\n /**\n * Defines a string that labels the dropdown button for accessibility.\n * @group Props\n */\n dropdownAriaLabel = input<string>();\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n dropdownIcon = input<string>();\n /**\n * Ensures uniqueness of selected items on multiple mode.\n * @group Props\n */\n unique = input(true, { transform: booleanAttribute });\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n group = input(false, { transform: booleanAttribute });\n /**\n * Whether to run a query when input receives focus.\n * @group Props\n */\n completeOnFocus = input(false, { transform: booleanAttribute });\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n showClear = input(false, { transform: booleanAttribute });\n /**\n * Displays a button next to the input field when enabled.\n * @group Props\n */\n dropdown = input(false, { transform: booleanAttribute });\n /**\n * Whether to show the empty message or not.\n * @group Props\n */\n showEmptyMessage = input(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 dropdownMode = input('blank');\n /**\n * Specifies if multiple values can be selected.\n * @deprecated Use InputTags component instead for chips/tags input functionality.\n * @group Props\n */\n multiple = input(false, { 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 * @deprecated Use InputTags component instead for chips/tags input functionality.\n * @group Props\n */\n addOnTab = input(false, { transform: booleanAttribute });\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input<number>();\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n 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 emptyMessage = input<string>();\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus = input(false, { transform: booleanAttribute });\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n autocomplete = input('off');\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n optionGroupChildren = input<string>('items');\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n optionGroupLabel = input<string>('label');\n /**\n * Options for the overlay element.\n * @group Props\n */\n overlayOptions = input<OverlayOptions>();\n /**\n * An array of suggestions to display.\n * @group Props\n */\n suggestions = input<any[]>([]);\n /**\n * Property name or getter function to use as the label of an option.\n * @group Props\n */\n 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 optionValue = input<string | ((item: any) => string)>();\n /**\n * Unique identifier of the component.\n * @group Props\n */\n id = input<string>();\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 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 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 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 autoOptionFocus = input(false, { transform: booleanAttribute });\n /**\n * When enabled, the focused option is selected.\n * @group Props\n */\n selectOnFocus = input(false, { transform: booleanAttribute });\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n searchLocale = input<string | string[]>();\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 optionDisabled = input<string | ((item: any) => boolean)>();\n /**\n * When enabled, the hovered option will be focused.\n * @group Props\n */\n focusOnHover = input(true, { transform: booleanAttribute });\n /**\n * Whether typeahead is active or not.\n * @defaultValue true\n * @group Props\n */\n typeahead = input(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 * @deprecated Use InputTags component instead for chips/tags input functionality.\n * @defaultValue false\n * @group Props\n */\n addOnBlur = input(false, { transform: booleanAttribute });\n /**\n * Separator char to add item when typeahead is false and multiple mode is enabled.\n * @deprecated Use InputTags component instead for chips/tags input functionality.\n * @group Props\n */\n 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<AppendTo>(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 * @group Emits\n */\n onClear = output<void>();\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 * @group Emits\n */\n onShow = output<void>();\n /**\n * Callback to invoke on overlay is hidden.\n * @group Emits\n */\n onHide = output<void>();\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 inputEL = viewChild<ElementRef>('focusInput');\n\n multiInputEl = viewChild<ElementRef>('multiIn');\n\n multiContainerEL = viewChild<ElementRef>('multiContainer');\n\n dropdownButton = viewChild<ElementRef>('ddBtn');\n\n itemsViewChild = viewChild<ElementRef>('items');\n\n scroller = viewChild<Scroller>('scroller');\n\n overlayViewChild = viewChild<Overlay>('overlay');\n\n itemsWrapper: Nullable<HTMLDivElement>;\n\n /**\n * Custom item template.\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<AutoCompleteItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n emptyTemplate = contentChild<TemplateRef<void>>('empty', { descendants: false });\n\n /**\n * Custom header template.\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n\n /**\n * Custom footer template.\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n\n /**\n * Custom selected item template.\n * @group Templates\n */\n selectedItemTemplate = contentChild<TemplateRef<AutoCompleteSelectedItemTemplateContext>>('selecteditem', { descendants: false });\n\n /**\n * Custom group template.\n * @group Templates\n */\n groupTemplate = contentChild<TemplateRef<AutoCompleteGroupTemplateContext>>('group', { descendants: false });\n\n /**\n * Custom loader template.\n * @group Templates\n */\n loaderTemplate = contentChild<TemplateRef<AutoCompleteLoaderTemplateContext>>('loader', { descendants: false });\n\n /**\n * Custom remove icon template.\n * @group Templates\n */\n removeIconTemplate = contentChild<TemplateRef<AutoCompleteRemoveIconTemplateContext>>('removeicon', { descendants: false });\n\n /**\n * Custom loading icon template.\n * @group Templates\n */\n loadingIconTemplate = contentChild<TemplateRef<void>>('loadingicon', { descendants: false });\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n clearIconTemplate = contentChild<TemplateRef<void>>('clearicon', { descendants: false });\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n dropdownIconTemplate = contentChild<TemplateRef<void>>('dropdownicon', { descendants: false });\n\n value: any;\n\n timeout: ReturnType<typeof setTimeout> | null = null;\n\n overlayVisible = signal<boolean>(false);\n\n suggestionsUpdated: Nullable<boolean>;\n\n highlightOption: unknown;\n\n highlightOptionChanged: Nullable<boolean>;\n\n focused = signal<boolean>(false);\n\n loading = signal<boolean>(false);\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n listId: string | undefined;\n\n searchTimeout: ReturnType<typeof setTimeout> | null = null;\n\n dirty: boolean = false;\n\n focusedMultipleOptionIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n _componentStyle = inject(AutoCompleteStyle);\n\n overlayService = inject(OverlayService);\n\n private _internalId = uuid('pn_id_');\n\n $id = computed(() => this.id() || this._internalId);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n get $overlayTarget() {\n return this.el?.nativeElement?.closest('[data-pc-name=\"inputtags\"]') ? '@grandparent' : '@parent';\n }\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 $showClear = computed(() => this.$filled() && !this.$disabled() && this.showClear() && !this.loading());\n\n scrollerStyle = computed(() => ({ height: this.scrollHeight() }));\n\n $tabindex = computed(() => (!this.$disabled() ? this.tabindex() : -1));\n\n requiredAttr = computed(() => (this.required() ? '' : undefined));\n\n readonlyAttr = computed(() => (this.readonly() ? '' : undefined));\n\n disabledAttr = computed(() => (this.$disabled() ? '' : undefined));\n\n $listId = computed(() => this.$id() + '_list');\n\n get focusedMultipleOptionId() {\n return this.focusedMultipleOptionIndex() !== -1 ? `${this.$id()}_multiple_option_${this.focusedMultipleOptionIndex()}` : null;\n }\n\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.$id()}_${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.translate(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 @HostListener('click', ['$event'])\n onHostClick(event: MouseEvent) {\n this.onContainerClick(event);\n }\n\n chipItemClass(index: number) {\n return this._componentStyle.classes.chipItem({ instance: this, i: index });\n }\n\n constructor() {\n super();\n effect(() => {\n const value = this.suggestions();\n\n if (value) {\n this.handleSuggestionsChange();\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 setTimeout(() => {\n if (this.overlayViewChild()) {\n this.overlayViewChild()!.alignOverlay();\n }\n }, 1);\n this.suggestionsUpdated = false;\n }\n }\n\n handleSuggestionsChange() {\n if (this.loading()) {\n if (this.suggestions()?.length > 0 || this.showEmptyMessage() || !!this.emptyTemplate()) {\n this.show();\n } else {\n this.hide();\n }\n\n const focusedOptionIndex = this.overlayVisible() && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.suggestionsUpdated = true;\n this.loading.set(false);\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 if (optionGroupChildren) {\n optionGroupChildren.forEach((o) => result.push(o));\n }\n\n return result;\n }, []);\n }\n\n isOptionGroup(option: any): boolean {\n return this.optionGroupLabel() && option.optionGroup && option.group;\n }\n\n findFirstOptionIndex(): number {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findLastOptionIndex(): number {\n return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findFirstFocusedOptionIndex(): number {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex(): number {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findSelectedOptionIndex(): number {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextOptionIndex(index: number): number {\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: number): number {\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: any): boolean {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isValidOption(option: any): boolean {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionDisabled(option: any): boolean {\n return this.optionDisabled() ? resolveFieldData(option, this.optionDisabled()) : false;\n }\n\n isSelected(option: any): boolean {\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: any, value: string): boolean {\n return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale()) === value.toLocaleLowerCase(this.searchLocale());\n }\n\n isInputClicked(event: MouseEvent): boolean {\n return event.target === this.inputEL()?.nativeElement;\n }\n\n isDropdownClicked(event: MouseEvent): boolean {\n return this.dropdownButton()?.nativeElement ? event.target === this.dropdownButton()!.nativeElement || this.dropdownButton()!.nativeElement.contains(event.target) : false;\n }\n\n equalityKey(): string | undefined {\n return this.optionValue() ? undefined : this.dataKey();\n }\n\n onContainerClick(event: MouseEvent) {\n if (this.$disabled() || this.loading() || this.isInputClicked(event) || this.isDropdownClicked(event)) {\n return;\n }\n\n if (!this.overlayViewChild() || !this.overlayViewChild()!.overlayViewChild()?.nativeElement.contains(event.target)) {\n focus(this.inputEL()?.nativeElement);\n }\n }\n\n handleDropdownClick(event: MouseEvent) {\n let query: string | undefined = undefined;\n\n if (this.overlayVisible()) {\n this.hide(true);\n } else {\n focus(this.inputEL()?.nativeElement);\n query = this.inputEL()?.nativeElement?.value as string;\n\n if (this.dropdownMode() === 'blank') this.search(event, '', 'dropdown');\n else if (this.dropdownMode() === 'current') this.search(event, query, 'dropdown');\n }\n\n this.onDropdownClick.emit({ originalEvent: event, query });\n }\n\n onInput(event: Event) {\n if (this.typeahead()) {\n const _minLength = this.minQueryLength() || 1;\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n let query = (event.target as HTMLInputElement).value;\n const maxLen = this.maxlength();\n\n if (maxLen != null) {\n query = query.split('').slice(0, maxLen).join('');\n }\n\n if (!this.multiple() && !this.forceSelection()) {\n this.updateModel(query);\n }\n\n if (query.length === 0 && !this.multiple()) {\n this.onClear.emit();\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: Event) {\n this.updateInputWithForceSelection(event);\n }\n\n onInputFocus(event: FocusEvent) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n if (!this.dirty && this.completeOnFocus()) {\n this.search(event, (event.target as HTMLInputElement).value, 'focus');\n }\n\n this.dirty = true;\n this.focused.set(true);\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible() && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n\n if (this.overlayVisible()) {\n this.scrollInView(this.focusedOptionIndex());\n }\n\n this.onFocus.emit(event);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onMultipleContainerFocus(event: FocusEvent) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n this.focused.set(true);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onMultipleContainerBlur(event: FocusEvent) {\n this.focusedMultipleOptionIndex.set(-1);\n this.focused.set(false);\n }\n\n onMultipleContainerKeyDown(event: KeyboardEvent) {\n if (this.$disabled()) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOnMultiple(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOnMultiple(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOnMultiple(event);\n break;\n\n default:\n break;\n }\n }\n\n onInputBlur(event: FocusEvent) {\n this.dirty = false;\n this.focused.set(false);\n this.focusedOptionIndex.set(-1);\n\n if (this.addOnBlur() && this.multiple() && !this.typeahead()) {\n const inputValue = (this.multiInputEl()?.nativeElement?.value || (event.target as HTMLInputElement).value || '').trim();\n\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n\n if (this.multiInputEl()?.nativeElement) {\n this.multiInputEl()!.nativeElement.value = '';\n } else {\n (event.target as HTMLInputElement).value = '';\n }\n }\n }\n\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onInputPaste(event: ClipboardEvent) {\n if (this.separator() && this.multiple() && !this.typeahead()) {\n const pastedData = event.clipboardData?.getData('Text');\n\n if (pastedData) {\n const values = pastedData.split(this.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\n if (this.multiInputEl()?.nativeElement) {\n this.multiInputEl()!.nativeElement.value = '';\n } else {\n (event.target as HTMLInputElement).value = '';\n }\n\n event.preventDefault();\n }\n }\n } else {\n this.onKeyDown(event as any);\n }\n }\n\n onInputKeyUp(event: KeyboardEvent) {\n this.onKeyUp.emit(event);\n }\n\n onKeyDown(event: KeyboardEvent) {\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\n if (this.overlayVisible()) {\n event.stopPropagation();\n }\n\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: KeyboardEvent) {\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 as HTMLInputElement).value || '').trim();\n\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n\n if (this.multiInputEl()?.nativeElement) {\n this.multiInputEl()!.nativeElement.value = '';\n } else {\n (event.target as HTMLInputElement).value = '';\n }\n\n event.preventDefault();\n }\n }\n }\n }\n\n onArrowDownKey(event: KeyboardEvent) {\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: KeyboardEvent) {\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 if (this.overlayVisible()) {\n this.hide();\n }\n\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: KeyboardEvent) {\n const target = event.currentTarget as HTMLInputElement;\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: KeyboardEvent) {\n this.focusedOptionIndex.set(-1);\n\n if (this.multiple()) {\n event.stopPropagation();\n } // To prevent onArrowRightKeyOnMultiple method\n }\n\n onHomeKey(event: KeyboardEvent) {\n const currentTarget = event.currentTarget as HTMLInputElement;\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: KeyboardEvent) {\n const currentTarget = event.currentTarget as HTMLInputElement;\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: KeyboardEvent) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event: KeyboardEvent) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onEnterKey(event: KeyboardEvent) {\n if (!this.typeahead() && !this.forceSelection()) {\n if (this.multiple()) {\n const inputValue = (event.target as HTMLInputElement).value?.trim();\n\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n\n if (this.inputEL()?.nativeElement) {\n this.inputEL()!.nativeElement.value = '';\n }\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: KeyboardEvent) {\n if (this.overlayVisible()) {\n this.hide(true);\n }\n\n event.preventDefault();\n }\n\n onTabKey(event: KeyboardEvent) {\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\n if (this.multiInputEl()?.nativeElement) {\n this.multiInputEl()!.nativeElement.value = '';\n } else if (this.inputEL()?.nativeElement) {\n this.inputEL()!.nativeElement.value = '';\n }\n\n this.updateInputValue();\n event.preventDefault(); // Keep focus on the component\n\n if (this.overlayVisible()) {\n this.hide();\n }\n\n return;\n }\n // If no value or already selected, allow normal tab behavior (blur)\n }\n }\n\n if (this.overlayVisible()) {\n this.hide();\n }\n }\n\n onBackspaceKey(event: KeyboardEvent) {\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 // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onArrowLeftKeyOnMultiple(event: KeyboardEvent) {\n const optionIndex = this.focusedMultipleOptionIndex() < 1 ? 0 : this.focusedMultipleOptionIndex() - 1;\n\n this.focusedMultipleOptionIndex.set(optionIndex);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onArrowRightKeyOnMultiple(event: KeyboardEvent) {\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: KeyboardEvent) {\n if (this.focusedMultipleOptionIndex() !== -1) {\n this.removeOption(event, this.focusedMultipleOptionIndex());\n }\n }\n\n onOptionSelect(event: Event | null, option: any, isHide = true) {\n if (this.multiple()) {\n if (this.inputEL()?.nativeElement) {\n this.inputEL()!.nativeElement.value = '';\n }\n\n if (!this.isSelected(option)) {\n this.updateModel([...(this.modelValue() || []), option]);\n }\n } else {\n this.updateModel(option);\n }\n\n if (event) {\n this.onSelect.emit({ originalEvent: event, value: option });\n }\n\n if (isHide) {\n this.hide(true);\n }\n }\n\n onOptionMouseEnter(event: MouseEvent, index: number) {\n if (this.focusOnHover()) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n search(event: Event, query: string, source: string) {\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.set(true);\n this.completeMethod.emit({ originalEvent: event, query });\n }\n\n removeOption(event: Event, index: number) {\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 }\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: Event | null) {\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();\n\n if (!inputCleared && _minLength != null && 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.$id()}_${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 if (element.scrollIntoView) {\n element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n } else if (!this.virtualScrollerDisabled) {\n setTimeout(() => {\n if (this.virtualScroll()) {\n this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }\n }, 0);\n }\n }\n }\n\n changeFocusedOptionIndex(event: Event, index: number) {\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.set(true);\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n\n if (isFocus) {\n focus(this.inputEL()?.nativeElement);\n }\n\n if (isFocus) {\n focus(this.inputEL()?.nativeElement);\n }\n\n this.onShow.emit();\n }\n\n hide(isFocus = false) {\n const _hide = () => {\n this.dirty = isFocus;\n this.overlayVisible.set(false);\n this.focusedOptionIndex.set(-1);\n\n if (isFocus) {\n focus(this.inputEL()?.nativeElement);\n }\n\n this.onHide.emit();\n this.updateInputWithForceSelection(null);\n };\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\n this.timeout = setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n }\n\n clear() {\n this.updateModel(null);\n\n if (this.inputEL()?.nativeElement) {\n this.inputEL()!.nativeElement.value = '';\n }\n\n this.onClear.emit();\n\n if (this.overlayVisible()) {\n this.hide();\n }\n }\n\n hasSelectedOption(): boolean {\n return isNotEmpty(this.modelValue());\n }\n\n getAriaPosInset(index: number): number {\n return (\n (this.optionGroupLabel()\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n 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 getChipTrackKey(option: any): any {\n return option != null && typeof option === 'object' ? this.getOptionValue(option) : option;\n }\n\n getOptionIndex(index: number, scrollerOptions: any): number {\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 getSelectedItemContext(option: any) {\n return { $implicit: option };\n }\n\n getRemoveIconContext(index: number) {\n return { removeCallback: this.removeOption.bind(this), index, class: this.cx('chipIcon') };\n }\n\n getGroupContext(optionGroup: any) {\n return { $implicit: optionGroup };\n }\n\n getItemContext(option: any, index: number, scrollerOptions: any) {\n return {\n $implicit: option,\n index: scrollerOptions.getOptions ? scrollerOptions.getOptions(index) : index\n };\n }\n\n getLoaderContext(scrollerOptions: any) {\n return { options: scrollerOptions };\n }\n\n getBuildInItemsContext(items: any[], scrollerOptions: any) {\n return { $implicit: items, options: scrollerOptions };\n }\n\n shouldShowEmptyMessage(items: any[]): boolean {\n return !items || (items.length === 0 && this.showEmptyMessage());\n }\n\n getItemStyle(scrollerOptions: any): CSSProperties {\n return { height: scrollerOptions.itemSize + 'px' };\n }\n\n getChipLabel(option: any) {\n return !this.selectedItemTemplate() && this.getOptionLabel(option);\n }\n\n getMultipleOptionId(index: number): string {\n return this.$id() + '_multiple_option_' + index;\n }\n\n getOptionElementId(index: number, scrollerOptions: any): string {\n return this.$id() + '_' + this.getOptionIndex(index, scrollerOptions);\n }\n\n isOptionFocused(index: number, scrollerOptions: any): boolean {\n return this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions);\n }\n\n getAriaControls(): string | null {\n return this.overlayVisible() ? this.$listId() : null;\n }\n\n getAriaActiveDescendant(): string | null | undefined {\n return this.focused() ? this.focusedOptionId : undefined;\n }\n\n getMultipleAriaActiveDescendant(): string | null | undefined {\n return this.focused() ? this.focusedMultipleOptionId : undefined;\n }\n\n getMultiplePlaceholder(): string | null | undefined {\n return !this.$filled() ? this.placeholder() : null;\n }\n\n getListContainerMaxHeight(): string {\n return this.virtualScroll() ? 'auto' : this.scrollHeight();\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 if (this.virtualScroll()) {\n this.scroller()?.setContentEl(this.itemsViewChild()?.nativeElement);\n this.scroller()?.viewInit();\n }\n\n if (this.visibleOptions() && this.visibleOptions().length) {\n if (this.virtualScroll()) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n\n if (selectedIndex !== -1) {\n this.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 }\n\n onDestroy() {\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\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"],"mappings":"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"}
|