primeng 20.1.2 → 20.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/index.d.ts +2 -2
- package/animateonscroll/index.d.ts +2 -2
- package/api/index.d.ts +4 -3
- package/autocomplete/index.d.ts +59 -13
- package/avatargroup/index.d.ts +2 -2
- package/badge/index.d.ts +5 -5
- package/base/index.d.ts +6 -6
- package/basecomponent/index.d.ts +1 -1
- package/baseeditableholder/index.d.ts +4 -4
- package/baseinput/index.d.ts +12 -12
- package/breadcrumb/index.d.ts +1 -2
- package/button/index.d.ts +10 -10
- package/card/index.d.ts +1 -1
- package/carousel/index.d.ts +6 -6
- package/cascadeselect/index.d.ts +9 -9
- package/checkbox/index.d.ts +3 -3
- package/chip/index.d.ts +14 -4
- package/classnames/index.d.ts +38 -0
- package/config/index.d.ts +2 -2
- package/confirmdialog/index.d.ts +3 -3
- package/contextmenu/index.d.ts +4 -4
- package/dataview/index.d.ts +1 -1
- package/datepicker/index.d.ts +1 -1
- package/dialog/index.d.ts +4 -3
- package/divider/index.d.ts +2 -2
- package/dock/index.d.ts +2 -2
- package/dom/index.d.ts +4 -4
- package/dynamicdialog/index.d.ts +14 -14
- package/fesm2022/primeng-accordion.mjs +33 -21
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +8 -8
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +31 -31
- package/fesm2022/primeng-autocomplete.mjs +180 -50
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +7 -7
- package/fesm2022/primeng-avatar.mjs +10 -10
- package/fesm2022/primeng-avatargroup.mjs +10 -10
- package/fesm2022/primeng-badge.mjs +15 -15
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +3 -3
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +6 -6
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-baseeditableholder.mjs +3 -3
- package/fesm2022/primeng-baseinput.mjs +3 -3
- package/fesm2022/primeng-baseinput.mjs.map +1 -1
- package/fesm2022/primeng-basemodelholder.mjs +3 -3
- package/fesm2022/primeng-blockui.mjs +10 -10
- package/fesm2022/primeng-breadcrumb.mjs +21 -21
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +24 -23
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +10 -10
- package/fesm2022/primeng-card.mjs +10 -10
- package/fesm2022/primeng-carousel.mjs +23 -23
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +31 -25
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +10 -10
- package/fesm2022/primeng-checkbox.mjs +15 -14
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +48 -17
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-classnames.mjs +73 -0
- package/fesm2022/primeng-classnames.mjs.map +1 -0
- package/fesm2022/primeng-colorpicker.mjs +11 -11
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +8 -7
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +16 -10
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +24 -22
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +24 -22
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +11 -11
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +23 -23
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +34 -15
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +10 -10
- package/fesm2022/primeng-dock.mjs +27 -25
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dom.mjs +13 -10
- package/fesm2022/primeng-dom.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +10 -10
- package/fesm2022/primeng-drawer.mjs +28 -19
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +48 -39
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +11 -11
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +12 -11
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +15 -15
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +10 -10
- package/fesm2022/primeng-fluid.mjs +10 -12
- package/fesm2022/primeng-fluid.mjs.map +1 -1
- package/fesm2022/primeng-focustrap.mjs +7 -7
- package/fesm2022/primeng-focustrap.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +42 -38
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +10 -10
- package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
- package/fesm2022/primeng-icons-angledown.mjs +3 -3
- package/fesm2022/primeng-icons-angleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angleright.mjs +3 -3
- package/fesm2022/primeng-icons-angleup.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowup.mjs +3 -3
- package/fesm2022/primeng-icons-ban.mjs +3 -3
- package/fesm2022/primeng-icons-bars.mjs +3 -3
- package/fesm2022/primeng-icons-baseicon.mjs +6 -6
- package/fesm2022/primeng-icons-blank.mjs +3 -3
- package/fesm2022/primeng-icons-calendar.mjs +3 -3
- package/fesm2022/primeng-icons-caretleft.mjs +3 -3
- package/fesm2022/primeng-icons-caretright.mjs +3 -3
- package/fesm2022/primeng-icons-check.mjs +3 -3
- package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
- package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
- package/fesm2022/primeng-icons-chevronright.mjs +3 -3
- package/fesm2022/primeng-icons-chevronup.mjs +3 -3
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/primeng-icons-eye.mjs +3 -3
- package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
- package/fesm2022/primeng-icons-filter.mjs +3 -3
- package/fesm2022/primeng-icons-filterfill.mjs +3 -3
- package/fesm2022/primeng-icons-filterslash.mjs +3 -3
- package/fesm2022/primeng-icons-home.mjs +3 -3
- package/fesm2022/primeng-icons-infocircle.mjs +3 -3
- package/fesm2022/primeng-icons-minus.mjs +3 -3
- package/fesm2022/primeng-icons-pencil.mjs +3 -3
- package/fesm2022/primeng-icons-plus.mjs +3 -3
- package/fesm2022/primeng-icons-refresh.mjs +3 -3
- package/fesm2022/primeng-icons-search.mjs +3 -3
- package/fesm2022/primeng-icons-searchminus.mjs +3 -3
- package/fesm2022/primeng-icons-searchplus.mjs +3 -3
- package/fesm2022/primeng-icons-sortalt.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/primeng-icons-spinner.mjs +3 -3
- package/fesm2022/primeng-icons-star.mjs +3 -3
- package/fesm2022/primeng-icons-starfill.mjs +3 -3
- package/fesm2022/primeng-icons-thlarge.mjs +3 -3
- package/fesm2022/primeng-icons-times.mjs +3 -3
- package/fesm2022/primeng-icons-timescircle.mjs +3 -3
- package/fesm2022/primeng-icons-trash.mjs +3 -3
- package/fesm2022/primeng-icons-undo.mjs +3 -3
- package/fesm2022/primeng-icons-upload.mjs +3 -3
- package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
- package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
- package/fesm2022/primeng-iftalabel.mjs +10 -10
- package/fesm2022/primeng-image.mjs +19 -16
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +10 -10
- package/fesm2022/primeng-inplace.mjs +16 -16
- package/fesm2022/primeng-inputgroup.mjs +10 -10
- package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
- package/fesm2022/primeng-inputicon.mjs +10 -10
- package/fesm2022/primeng-inputmask.mjs +22 -13
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +52 -31
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +11 -11
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +10 -10
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-keyfilter.mjs +19 -10
- package/fesm2022/primeng-keyfilter.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs +10 -10
- package/fesm2022/primeng-listbox.mjs +124 -43
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +22 -20
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +35 -44
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +28 -27
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +33 -30
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +27 -18
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +58 -48
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +149 -43
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +13 -13
- package/fesm2022/primeng-overlay.mjs +15 -11
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +10 -10
- package/fesm2022/primeng-paginator.mjs +11 -11
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +11 -11
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +27 -26
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +25 -21
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +129 -48
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +11 -11
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +10 -10
- package/fesm2022/primeng-progressspinner.mjs +10 -10
- package/fesm2022/primeng-radiobutton.mjs +15 -15
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +11 -11
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +10 -10
- package/fesm2022/primeng-scroller.mjs +10 -10
- package/fesm2022/primeng-scrollpanel.mjs +19 -19
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +10 -10
- package/fesm2022/primeng-select.mjs +56 -38
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +12 -12
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +10 -10
- package/fesm2022/primeng-slider.mjs +14 -14
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +32 -24
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +15 -15
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +21 -21
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +43 -43
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +15 -15
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-styleclass.mjs +8 -8
- package/fesm2022/primeng-styleclass.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +178 -158
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +99 -55
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +10 -10
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +13 -13
- package/fesm2022/primeng-textarea.mjs +11 -11
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +26 -25
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +10 -10
- package/fesm2022/primeng-toast.mjs +14 -13
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +20 -13
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +10 -10
- package/fesm2022/primeng-toolbar.mjs +10 -10
- package/fesm2022/primeng-tooltip.mjs +16 -15
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +170 -221
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +17 -17
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +84 -77
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-usestyle.mjs +20 -18
- package/fesm2022/primeng-usestyle.mjs.map +1 -1
- package/fesm2022/primeng-utils.mjs.map +1 -1
- package/fieldset/index.d.ts +3 -2
- package/fileupload/index.d.ts +6 -6
- package/fluid/index.d.ts +0 -2
- package/galleria/index.d.ts +10 -10
- package/icons/baseicon/index.d.ts +1 -1
- package/image/index.d.ts +7 -7
- package/inputnumber/index.d.ts +7 -7
- package/inputotp/index.d.ts +3 -3
- package/inputtext/index.d.ts +6 -6
- package/keyfilter/index.d.ts +2 -2
- package/listbox/index.d.ts +31 -19
- package/megamenu/index.d.ts +1 -1
- package/menu/index.d.ts +1 -2
- package/message/index.d.ts +3 -2
- package/metergroup/index.d.ts +6 -6
- package/multiselect/index.d.ts +18 -17
- package/orderlist/index.d.ts +13 -7
- package/organizationchart/index.d.ts +2 -2
- package/overlay/index.d.ts +5 -5
- package/package.json +198 -194
- package/paginator/index.d.ts +1 -1
- package/panel/index.d.ts +2 -2
- package/panelmenu/index.d.ts +8 -8
- package/password/index.d.ts +6 -6
- package/picklist/index.d.ts +17 -12
- package/radiobutton/index.d.ts +3 -3
- package/rating/index.d.ts +1 -1
- package/scroller/index.d.ts +3 -3
- package/select/index.d.ts +11 -11
- package/selectbutton/index.d.ts +3 -3
- package/slider/index.d.ts +2 -2
- package/speeddial/index.d.ts +9 -9
- package/splitter/index.d.ts +3 -3
- package/stepper/index.d.ts +4 -4
- package/steps/index.d.ts +3 -3
- package/table/index.d.ts +39 -31
- package/tabs/index.d.ts +23 -8
- package/tag/index.d.ts +1 -1
- package/textarea/index.d.ts +6 -6
- package/tieredmenu/index.d.ts +1 -1
- package/toast/index.d.ts +5 -5
- package/togglebutton/index.d.ts +4 -3
- package/toggleswitch/index.d.ts +1 -1
- package/tooltip/index.d.ts +11 -11
- package/tree/index.d.ts +31 -46
- package/treeselect/index.d.ts +6 -6
- package/treetable/index.d.ts +10 -10
- package/usestyle/index.d.ts +2 -2
- package/utils/index.d.ts +2 -2
@@ -3,7 +3,7 @@ import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
4
4
|
import { Injectable, forwardRef, input, EventEmitter, inject, signal, computed, booleanAttribute, numberAttribute, ContentChildren, HostListener, ContentChild, ViewChild, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
5
5
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
6
|
-
import {
|
6
|
+
import { equals, isNotEmpty, uuid, findLastIndex, resolveFieldData, focus, isEmpty, findSingle } from '@primeuix/utils';
|
7
7
|
import * as i1 from 'primeng/api';
|
8
8
|
import { TranslationKeys, SharedModule, PrimeTemplate } from 'primeng/api';
|
9
9
|
import { AutoFocus } from 'primeng/autofocus';
|
@@ -104,10 +104,10 @@ class AutoCompleteStyle extends BaseStyle {
|
|
104
104
|
theme = theme;
|
105
105
|
classes = classes;
|
106
106
|
inlineStyles = inlineStyles;
|
107
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
108
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
107
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AutoCompleteStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
108
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AutoCompleteStyle });
|
109
109
|
}
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AutoCompleteStyle, decorators: [{
|
111
111
|
type: Injectable
|
112
112
|
}] });
|
113
113
|
/**
|
@@ -362,6 +362,11 @@ class AutoComplete extends BaseInput {
|
|
362
362
|
* @group Props
|
363
363
|
*/
|
364
364
|
multiple;
|
365
|
+
/**
|
366
|
+
* When enabled, the input value is added to the selected items on tab key press when multiple is true and typeahead is false.
|
367
|
+
* @group Props
|
368
|
+
*/
|
369
|
+
addOnTab = false;
|
365
370
|
/**
|
366
371
|
* Index of the element in tabbing order.
|
367
372
|
* @group Props
|
@@ -487,6 +492,17 @@ class AutoComplete extends BaseInput {
|
|
487
492
|
* @group Props
|
488
493
|
*/
|
489
494
|
typeahead = true;
|
495
|
+
/**
|
496
|
+
* Whether to add an item on blur event if the input has value and typeahead is false with multiple mode.
|
497
|
+
* @defaultValue false
|
498
|
+
* @group Props
|
499
|
+
*/
|
500
|
+
addOnBlur = false;
|
501
|
+
/**
|
502
|
+
* Separator char to add item when typeahead is false and multiple mode is enabled.
|
503
|
+
* @group Props
|
504
|
+
*/
|
505
|
+
separator;
|
490
506
|
/**
|
491
507
|
* 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).
|
492
508
|
* @defaultValue 'self'
|
@@ -511,6 +527,12 @@ class AutoComplete extends BaseInput {
|
|
511
527
|
* @group Emits
|
512
528
|
*/
|
513
529
|
onUnselect = new EventEmitter();
|
530
|
+
/**
|
531
|
+
* Callback to invoke when an item is added via addOnBlur or separator features.
|
532
|
+
* @param {AutoCompleteAddEvent} event - Custom add event.
|
533
|
+
* @group Emits
|
534
|
+
*/
|
535
|
+
onAdd = new EventEmitter();
|
514
536
|
/**
|
515
537
|
* Callback to invoke when the component receives focus.
|
516
538
|
* @param {Event} event - Browser event.
|
@@ -535,6 +557,12 @@ class AutoComplete extends BaseInput {
|
|
535
557
|
* @group Emits
|
536
558
|
*/
|
537
559
|
onClear = new EventEmitter();
|
560
|
+
/**
|
561
|
+
* Callback to invoke on input key down.
|
562
|
+
* @param {KeyboardEvent} event - Keyboard event.
|
563
|
+
* @group Emits
|
564
|
+
*/
|
565
|
+
onInputKeydown = new EventEmitter();
|
538
566
|
/**
|
539
567
|
* Callback to invoke on input key up.
|
540
568
|
* @param {KeyboardEvent} event - Keyboard event.
|
@@ -659,7 +687,7 @@ class AutoComplete extends BaseInput {
|
|
659
687
|
}, ...(ngDevMode ? [{ debugName: "visibleOptions" }] : []));
|
660
688
|
inputValue = computed(() => {
|
661
689
|
const modelValue = this.modelValue();
|
662
|
-
const selectedOption = this.optionValueSelected ? (this.suggestions || []).find((
|
690
|
+
const selectedOption = this.optionValueSelected ? (this.suggestions || []).find((option) => equals(option, modelValue, this.equalityKey())) : modelValue;
|
663
691
|
if (isNotEmpty(modelValue)) {
|
664
692
|
if (typeof modelValue === 'object' || this.optionValueSelected) {
|
665
693
|
const label = this.getOptionLabel(selectedOption);
|
@@ -842,28 +870,28 @@ class AutoComplete extends BaseInput {
|
|
842
870
|
}
|
843
871
|
isSelected(option) {
|
844
872
|
if (this.multiple) {
|
845
|
-
return this.unique ? this.modelValue()?.
|
873
|
+
return this.unique ? this.modelValue()?.some((model) => equals(model, option, this.equalityKey())) : false;
|
846
874
|
}
|
847
|
-
return equals(this.modelValue(),
|
875
|
+
return equals(this.modelValue(), option, this.equalityKey());
|
848
876
|
}
|
849
877
|
isOptionMatched(option, value) {
|
850
878
|
return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale) === value.toLocaleLowerCase(this.searchLocale);
|
851
879
|
}
|
852
880
|
isInputClicked(event) {
|
853
|
-
return event.target === this.inputEL
|
881
|
+
return event.target === this.inputEL?.nativeElement;
|
854
882
|
}
|
855
883
|
isDropdownClicked(event) {
|
856
884
|
return this.dropdownButton?.nativeElement ? event.target === this.dropdownButton.nativeElement || this.dropdownButton.nativeElement.contains(event.target) : false;
|
857
885
|
}
|
858
886
|
equalityKey() {
|
859
|
-
return this.
|
887
|
+
return this.optionValue ? undefined : this.dataKey;
|
860
888
|
}
|
861
889
|
onContainerClick(event) {
|
862
890
|
if (this.$disabled() || this.loading || this.isInputClicked(event) || this.isDropdownClicked(event)) {
|
863
891
|
return;
|
864
892
|
}
|
865
893
|
if (!this.overlayViewChild || !this.overlayViewChild.overlayViewChild?.nativeElement.contains(event.target)) {
|
866
|
-
focus(this.inputEL
|
894
|
+
focus(this.inputEL?.nativeElement);
|
867
895
|
}
|
868
896
|
}
|
869
897
|
handleDropdownClick(event) {
|
@@ -872,8 +900,8 @@ class AutoComplete extends BaseInput {
|
|
872
900
|
this.hide(true);
|
873
901
|
}
|
874
902
|
else {
|
875
|
-
focus(this.inputEL
|
876
|
-
query = this.inputEL
|
903
|
+
focus(this.inputEL?.nativeElement);
|
904
|
+
query = this.inputEL?.nativeElement?.value;
|
877
905
|
if (this.dropdownMode === 'blank')
|
878
906
|
this.search(event, '', 'dropdown');
|
879
907
|
else if (this.dropdownMode === 'current')
|
@@ -917,14 +945,14 @@ class AutoComplete extends BaseInput {
|
|
917
945
|
if (this.forceSelection) {
|
918
946
|
let valid = false;
|
919
947
|
if (this.visibleOptions()) {
|
920
|
-
const matchedValue = this.visibleOptions().find((option) => this.isOptionMatched(option, this.inputEL
|
948
|
+
const matchedValue = this.visibleOptions().find((option) => this.isOptionMatched(option, this.inputEL?.nativeElement?.value || ''));
|
921
949
|
if (matchedValue !== undefined) {
|
922
950
|
valid = true;
|
923
951
|
!this.isSelected(matchedValue) && this.onOptionSelect(event, matchedValue);
|
924
952
|
}
|
925
953
|
}
|
926
954
|
if (!valid) {
|
927
|
-
this.inputEL.nativeElement.value = '';
|
955
|
+
this.inputEL?.nativeElement && (this.inputEL.nativeElement.value = '');
|
928
956
|
!this.multiple && this.updateModel(null);
|
929
957
|
}
|
930
958
|
}
|
@@ -978,11 +1006,53 @@ class AutoComplete extends BaseInput {
|
|
978
1006
|
this.dirty = false;
|
979
1007
|
this.focused = false;
|
980
1008
|
this.focusedOptionIndex.set(-1);
|
1009
|
+
if (this.addOnBlur && this.multiple && !this.typeahead) {
|
1010
|
+
const inputValue = (this.multiInputEl?.nativeElement?.value || event.target.value || '').trim();
|
1011
|
+
if (inputValue && !this.isSelected(inputValue)) {
|
1012
|
+
this.updateModel([...(this.modelValue() || []), inputValue]);
|
1013
|
+
this.onAdd.emit({ originalEvent: event, value: inputValue });
|
1014
|
+
if (this.multiInputEl?.nativeElement) {
|
1015
|
+
this.multiInputEl.nativeElement.value = '';
|
1016
|
+
}
|
1017
|
+
else {
|
1018
|
+
event.target.value = '';
|
1019
|
+
}
|
1020
|
+
}
|
1021
|
+
}
|
981
1022
|
this.onModelTouched();
|
982
1023
|
this.onBlur.emit(event);
|
983
1024
|
}
|
984
1025
|
onInputPaste(event) {
|
985
|
-
this.
|
1026
|
+
if (this.separator && this.multiple && !this.typeahead) {
|
1027
|
+
const pastedData = (event.clipboardData || window['clipboardData'])?.getData('Text');
|
1028
|
+
if (pastedData) {
|
1029
|
+
const values = pastedData.split(this.separator);
|
1030
|
+
const newValues = [...(this.modelValue() || [])];
|
1031
|
+
values.forEach((value) => {
|
1032
|
+
const trimmedValue = value.trim();
|
1033
|
+
if (trimmedValue && !this.isSelected(trimmedValue)) {
|
1034
|
+
newValues.push(trimmedValue);
|
1035
|
+
}
|
1036
|
+
});
|
1037
|
+
if (newValues.length > (this.modelValue() || []).length) {
|
1038
|
+
const addedValues = newValues.slice((this.modelValue() || []).length);
|
1039
|
+
this.updateModel(newValues);
|
1040
|
+
addedValues.forEach((addedValue) => {
|
1041
|
+
this.onAdd.emit({ originalEvent: event, value: addedValue });
|
1042
|
+
});
|
1043
|
+
if (this.multiInputEl?.nativeElement) {
|
1044
|
+
this.multiInputEl.nativeElement.value = '';
|
1045
|
+
}
|
1046
|
+
else {
|
1047
|
+
event.target.value = '';
|
1048
|
+
}
|
1049
|
+
event.preventDefault();
|
1050
|
+
}
|
1051
|
+
}
|
1052
|
+
}
|
1053
|
+
else {
|
1054
|
+
this.onKeyDown(event);
|
1055
|
+
}
|
986
1056
|
}
|
987
1057
|
onInputKeyUp(event) {
|
988
1058
|
this.onKeyUp.emit(event);
|
@@ -992,6 +1062,8 @@ class AutoComplete extends BaseInput {
|
|
992
1062
|
event.preventDefault();
|
993
1063
|
return;
|
994
1064
|
}
|
1065
|
+
// Emit keydown event for external handling
|
1066
|
+
this.onInputKeydown.emit(event);
|
995
1067
|
switch (event.code) {
|
996
1068
|
case 'ArrowDown':
|
997
1069
|
this.onArrowDownKey(event);
|
@@ -1035,9 +1107,28 @@ class AutoComplete extends BaseInput {
|
|
1035
1107
|
//NOOP
|
1036
1108
|
break;
|
1037
1109
|
default:
|
1110
|
+
this.handleSeparatorKey(event);
|
1038
1111
|
break;
|
1039
1112
|
}
|
1040
1113
|
}
|
1114
|
+
handleSeparatorKey(event) {
|
1115
|
+
if (this.separator && this.multiple && !this.typeahead) {
|
1116
|
+
if (this.separator === event.key || (typeof this.separator === 'string' && event.key === this.separator) || (this.separator instanceof RegExp && event.key.match(this.separator))) {
|
1117
|
+
const inputValue = (this.multiInputEl?.nativeElement?.value || event.target.value || '').trim();
|
1118
|
+
if (inputValue && !this.isSelected(inputValue)) {
|
1119
|
+
this.updateModel([...(this.modelValue() || []), inputValue]);
|
1120
|
+
this.onAdd.emit({ originalEvent: event, value: inputValue });
|
1121
|
+
if (this.multiInputEl?.nativeElement) {
|
1122
|
+
this.multiInputEl.nativeElement.value = '';
|
1123
|
+
}
|
1124
|
+
else {
|
1125
|
+
event.target.value = '';
|
1126
|
+
}
|
1127
|
+
event.preventDefault();
|
1128
|
+
}
|
1129
|
+
}
|
1130
|
+
}
|
1131
|
+
}
|
1041
1132
|
onArrowDownKey(event) {
|
1042
1133
|
if (!this.overlayVisible) {
|
1043
1134
|
return;
|
@@ -1070,7 +1161,7 @@ class AutoComplete extends BaseInput {
|
|
1070
1161
|
this.focusedOptionIndex.set(-1);
|
1071
1162
|
if (this.multiple) {
|
1072
1163
|
if (isEmpty(target.value) && this.hasSelectedOption()) {
|
1073
|
-
focus(this.multiContainerEL
|
1164
|
+
focus(this.multiContainerEL?.nativeElement);
|
1074
1165
|
this.focusedMultipleOptionIndex.set(this.modelValue().length);
|
1075
1166
|
}
|
1076
1167
|
else {
|
@@ -1105,11 +1196,12 @@ class AutoComplete extends BaseInput {
|
|
1105
1196
|
event.preventDefault();
|
1106
1197
|
}
|
1107
1198
|
onEnterKey(event) {
|
1108
|
-
if (!this.typeahead) {
|
1199
|
+
if (!this.typeahead && !this.forceSelection) {
|
1109
1200
|
if (this.multiple) {
|
1110
|
-
|
1111
|
-
|
1112
|
-
this.
|
1201
|
+
const inputValue = event.target.value?.trim();
|
1202
|
+
if (inputValue && !this.isSelected(inputValue)) {
|
1203
|
+
this.updateModel([...(this.modelValue() || []), inputValue]);
|
1204
|
+
this.inputEL?.nativeElement && (this.inputEL.nativeElement.value = '');
|
1113
1205
|
}
|
1114
1206
|
}
|
1115
1207
|
}
|
@@ -1129,14 +1221,40 @@ class AutoComplete extends BaseInput {
|
|
1129
1221
|
event.preventDefault();
|
1130
1222
|
}
|
1131
1223
|
onTabKey(event) {
|
1224
|
+
// If there's a focused option in the dropdown, select it
|
1132
1225
|
if (this.focusedOptionIndex() !== -1) {
|
1133
1226
|
this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);
|
1227
|
+
return;
|
1228
|
+
}
|
1229
|
+
// Handle tab key behavior for multiple mode without typeahead
|
1230
|
+
if (this.multiple && !this.typeahead) {
|
1231
|
+
const inputValue = (this.multiInputEl?.nativeElement?.value || this.inputEL?.nativeElement?.value || '').trim();
|
1232
|
+
if (this.addOnTab) {
|
1233
|
+
if (inputValue && !this.isSelected(inputValue)) {
|
1234
|
+
// Add the value and keep focus
|
1235
|
+
this.updateModel([...(this.modelValue() || []), inputValue]);
|
1236
|
+
this.onAdd.emit({ originalEvent: event, value: inputValue });
|
1237
|
+
if (this.multiInputEl?.nativeElement) {
|
1238
|
+
this.multiInputEl.nativeElement.value = '';
|
1239
|
+
}
|
1240
|
+
else if (this.inputEL?.nativeElement) {
|
1241
|
+
this.inputEL.nativeElement.value = '';
|
1242
|
+
}
|
1243
|
+
this.updateInputValue();
|
1244
|
+
event.preventDefault(); // Keep focus on the component
|
1245
|
+
this.overlayVisible && this.hide();
|
1246
|
+
return;
|
1247
|
+
}
|
1248
|
+
// If no value or already selected, allow normal tab behavior (blur)
|
1249
|
+
}
|
1250
|
+
// If addOnTab is false or no value to add, allow normal tab behavior
|
1251
|
+
// which will trigger blur and potentially addOnBlur
|
1134
1252
|
}
|
1135
1253
|
this.overlayVisible && this.hide();
|
1136
1254
|
}
|
1137
1255
|
onBackspaceKey(event) {
|
1138
1256
|
if (this.multiple) {
|
1139
|
-
if (isNotEmpty(this.modelValue()) && !this.inputEL
|
1257
|
+
if (isNotEmpty(this.modelValue()) && !this.inputEL?.nativeElement?.value) {
|
1140
1258
|
const removedValue = this.modelValue()[this.modelValue().length - 1];
|
1141
1259
|
const newValue = this.modelValue().slice(0, -1);
|
1142
1260
|
this.updateModel(newValue);
|
@@ -1144,9 +1262,6 @@ class AutoComplete extends BaseInput {
|
|
1144
1262
|
}
|
1145
1263
|
event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method
|
1146
1264
|
}
|
1147
|
-
if (!this.multiple && this.showClear && this.findSelectedOptionIndex() != -1) {
|
1148
|
-
this.clear();
|
1149
|
-
}
|
1150
1265
|
}
|
1151
1266
|
onArrowLeftKeyOnMultiple(event) {
|
1152
1267
|
const optionIndex = this.focusedMultipleOptionIndex() < 1 ? 0 : this.focusedMultipleOptionIndex() - 1;
|
@@ -1158,7 +1273,7 @@ class AutoComplete extends BaseInput {
|
|
1158
1273
|
this.focusedMultipleOptionIndex.set(optionIndex);
|
1159
1274
|
if (optionIndex > this.modelValue().length - 1) {
|
1160
1275
|
this.focusedMultipleOptionIndex.set(-1);
|
1161
|
-
focus(this.inputEL
|
1276
|
+
focus(this.inputEL?.nativeElement);
|
1162
1277
|
}
|
1163
1278
|
}
|
1164
1279
|
onBackspaceKeyOnMultiple(event) {
|
@@ -1167,15 +1282,14 @@ class AutoComplete extends BaseInput {
|
|
1167
1282
|
}
|
1168
1283
|
}
|
1169
1284
|
onOptionSelect(event, option, isHide = true) {
|
1170
|
-
const value = this.getOptionValue(option);
|
1171
1285
|
if (this.multiple) {
|
1172
|
-
this.inputEL.nativeElement.value = '';
|
1286
|
+
this.inputEL?.nativeElement && (this.inputEL.nativeElement.value = '');
|
1173
1287
|
if (!this.isSelected(option)) {
|
1174
|
-
this.updateModel([...(this.modelValue() || []),
|
1288
|
+
this.updateModel([...(this.modelValue() || []), option]);
|
1175
1289
|
}
|
1176
1290
|
}
|
1177
1291
|
else {
|
1178
|
-
this.updateModel(
|
1292
|
+
this.updateModel(option);
|
1179
1293
|
}
|
1180
1294
|
this.onSelect.emit({ originalEvent: event, value: option });
|
1181
1295
|
isHide && this.hide(true);
|
@@ -1203,11 +1317,12 @@ class AutoComplete extends BaseInput {
|
|
1203
1317
|
const value = this.modelValue().filter((_, i) => i !== index);
|
1204
1318
|
this.updateModel(value);
|
1205
1319
|
this.onUnselect.emit({ originalEvent: event, value: removedOption });
|
1206
|
-
focus(this.inputEL
|
1320
|
+
focus(this.inputEL?.nativeElement);
|
1207
1321
|
}
|
1208
|
-
updateModel(
|
1322
|
+
updateModel(options) {
|
1323
|
+
const value = this.multiple ? options.map((option) => this.getOptionValue(option)) : this.getOptionValue(options);
|
1209
1324
|
this.value = value;
|
1210
|
-
this.writeModelValue(
|
1325
|
+
this.writeModelValue(options);
|
1211
1326
|
this.onModelChange(value);
|
1212
1327
|
this.updateInputValue();
|
1213
1328
|
this.cd.markForCheck();
|
@@ -1257,9 +1372,9 @@ class AutoComplete extends BaseInput {
|
|
1257
1372
|
this.overlayVisible = true;
|
1258
1373
|
const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
|
1259
1374
|
this.focusedOptionIndex.set(focusedOptionIndex);
|
1260
|
-
isFocus && focus(this.inputEL
|
1375
|
+
isFocus && focus(this.inputEL?.nativeElement);
|
1261
1376
|
if (isFocus) {
|
1262
|
-
focus(this.inputEL
|
1377
|
+
focus(this.inputEL?.nativeElement);
|
1263
1378
|
}
|
1264
1379
|
this.onShow.emit();
|
1265
1380
|
this.cd.markForCheck();
|
@@ -1269,7 +1384,7 @@ class AutoComplete extends BaseInput {
|
|
1269
1384
|
this.dirty = isFocus;
|
1270
1385
|
this.overlayVisible = false;
|
1271
1386
|
this.focusedOptionIndex.set(-1);
|
1272
|
-
isFocus && focus(this.inputEL
|
1387
|
+
isFocus && focus(this.inputEL?.nativeElement);
|
1273
1388
|
this.onHide.emit();
|
1274
1389
|
this.cd.markForCheck();
|
1275
1390
|
};
|
@@ -1279,7 +1394,7 @@ class AutoComplete extends BaseInput {
|
|
1279
1394
|
}
|
1280
1395
|
clear() {
|
1281
1396
|
this.updateModel(null);
|
1282
|
-
this.inputEL.nativeElement.value = '';
|
1397
|
+
this.inputEL?.nativeElement && (this.inputEL.nativeElement.value = '');
|
1283
1398
|
this.onClear.emit();
|
1284
1399
|
}
|
1285
1400
|
hasSelectedOption() {
|
@@ -1313,7 +1428,7 @@ class AutoComplete extends BaseInput {
|
|
1313
1428
|
this.itemsWrapper = findSingle(this.overlayViewChild.overlayViewChild?.nativeElement, this.virtualScroll ? '.p-scroller' : '.p-autocomplete-panel');
|
1314
1429
|
if (this.virtualScroll) {
|
1315
1430
|
this.scroller?.setContentEl(this.itemsViewChild?.nativeElement);
|
1316
|
-
this.scroller
|
1431
|
+
this.scroller?.viewInit();
|
1317
1432
|
}
|
1318
1433
|
if (this.visibleOptions() && this.visibleOptions().length) {
|
1319
1434
|
if (this.virtualScroll) {
|
@@ -1338,8 +1453,9 @@ class AutoComplete extends BaseInput {
|
|
1338
1453
|
* Writes the value to the control.
|
1339
1454
|
*/
|
1340
1455
|
writeControlValue(value, setModelValue) {
|
1456
|
+
const options = this.multiple ? this.visibleOptions().filter((option) => value?.some((val) => equals(val, option, this.equalityKey()))) : this.visibleOptions().find((option) => equals(value, option, this.equalityKey()));
|
1341
1457
|
this.value = value;
|
1342
|
-
setModelValue(value);
|
1458
|
+
setModelValue(isEmpty(options) ? value : options);
|
1343
1459
|
this.updateInputValue();
|
1344
1460
|
this.cd.markForCheck();
|
1345
1461
|
}
|
@@ -1350,8 +1466,8 @@ class AutoComplete extends BaseInput {
|
|
1350
1466
|
}
|
1351
1467
|
super.ngOnDestroy();
|
1352
1468
|
}
|
1353
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
1354
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.0", type: AutoComplete, isStandalone: true, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: { minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: false, isRequired: false, transformFunction: numberAttribute }, minQueryLength: { classPropertyName: "minQueryLength", publicName: "minQueryLength", isSignal: false, isRequired: false, transformFunction: numberAttribute }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: false, isRequired: false, transformFunction: null }, inputStyle: { classPropertyName: "inputStyle", publicName: "inputStyle", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, inputStyleClass: { classPropertyName: "inputStyleClass", publicName: "inputStyleClass", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: false, isRequired: false, transformFunction: null }, autoHighlight: { classPropertyName: "autoHighlight", publicName: "autoHighlight", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, dropdownAriaLabel: { classPropertyName: "dropdownAriaLabel", publicName: "dropdownAriaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: false, isRequired: false, transformFunction: null }, unique: { classPropertyName: "unique", publicName: "unique", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, completeOnFocus: { classPropertyName: "completeOnFocus", publicName: "completeOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdown: { classPropertyName: "dropdown", publicName: "dropdown", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showEmptyMessage: { classPropertyName: "showEmptyMessage", publicName: "showEmptyMessage", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdownMode: { classPropertyName: "dropdownMode", publicName: "dropdownMode", isSignal: false, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, showTransitionOptions: { classPropertyName: "showTransitionOptions", publicName: "showTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, hideTransitionOptions: { classPropertyName: "hideTransitionOptions", publicName: "hideTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: false, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: false, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: false, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: false, isRequired: false, transformFunction: null }, suggestions: { classPropertyName: "suggestions", publicName: "suggestions", isSignal: false, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: false, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, searchMessage: { classPropertyName: "searchMessage", publicName: "searchMessage", isSignal: false, isRequired: false, transformFunction: null }, emptySelectionMessage: { classPropertyName: "emptySelectionMessage", publicName: "emptySelectionMessage", isSignal: false, isRequired: false, transformFunction: null }, selectionMessage: { classPropertyName: "selectionMessage", publicName: "selectionMessage", isSignal: false, isRequired: false, transformFunction: null }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, searchLocale: { classPropertyName: "searchLocale", publicName: "searchLocale", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: false, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, typeahead: { classPropertyName: "typeahead", publicName: "typeahead", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { completeMethod: "completeMethod", onSelect: "onSelect", onUnselect: "onUnselect", onFocus: "onFocus", onBlur: "onBlur", onDropdownClick: "onDropdownClick", onClear: "onClear", onKeyUp: "onKeyUp", onShow: "onShow", onHide: "onHide", onLazyLoad: "onLazyLoad" }, host: { listeners: { "click": "onHostClick($event)" }, properties: { "class": "cn(cx('root'), styleClass)", "style": "sx('root')" } }, providers: [AUTOCOMPLETE_VALUE_ACCESSOR, AutoCompleteStyle], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"], descendants: true }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"], descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ["footer"], descendants: true }, { propertyName: "selectedItemTemplate", first: true, predicate: ["selecteditem"], descendants: true }, { propertyName: "groupTemplate", first: true, predicate: ["group"], descendants: true }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"], descendants: true }, { propertyName: "removeIconTemplate", first: true, predicate: ["removeicon"], descendants: true }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"], descendants: true }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"], descendants: true }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"], descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "inputEL", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "multiInputEl", first: true, predicate: ["multiIn"], descendants: true }, { propertyName: "multiContainerEL", first: true, predicate: ["multiContainer"], descendants: true }, { propertyName: "dropdownButton", first: true, predicate: ["ddBtn"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
1469
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AutoComplete, deps: [{ token: i1.OverlayService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
1470
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.2", type: AutoComplete, isStandalone: true, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: { minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: false, isRequired: false, transformFunction: numberAttribute }, minQueryLength: { classPropertyName: "minQueryLength", publicName: "minQueryLength", isSignal: false, isRequired: false, transformFunction: numberAttribute }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: false, isRequired: false, transformFunction: null }, inputStyle: { classPropertyName: "inputStyle", publicName: "inputStyle", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, inputStyleClass: { classPropertyName: "inputStyleClass", publicName: "inputStyleClass", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: false, isRequired: false, transformFunction: null }, autoHighlight: { classPropertyName: "autoHighlight", publicName: "autoHighlight", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, dropdownAriaLabel: { classPropertyName: "dropdownAriaLabel", publicName: "dropdownAriaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: false, isRequired: false, transformFunction: null }, unique: { classPropertyName: "unique", publicName: "unique", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, completeOnFocus: { classPropertyName: "completeOnFocus", publicName: "completeOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdown: { classPropertyName: "dropdown", publicName: "dropdown", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showEmptyMessage: { classPropertyName: "showEmptyMessage", publicName: "showEmptyMessage", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdownMode: { classPropertyName: "dropdownMode", publicName: "dropdownMode", isSignal: false, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, addOnTab: { classPropertyName: "addOnTab", publicName: "addOnTab", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, showTransitionOptions: { classPropertyName: "showTransitionOptions", publicName: "showTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, hideTransitionOptions: { classPropertyName: "hideTransitionOptions", publicName: "hideTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: false, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: false, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: false, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: false, isRequired: false, transformFunction: null }, suggestions: { classPropertyName: "suggestions", publicName: "suggestions", isSignal: false, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: false, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, searchMessage: { classPropertyName: "searchMessage", publicName: "searchMessage", isSignal: false, isRequired: false, transformFunction: null }, emptySelectionMessage: { classPropertyName: "emptySelectionMessage", publicName: "emptySelectionMessage", isSignal: false, isRequired: false, transformFunction: null }, selectionMessage: { classPropertyName: "selectionMessage", publicName: "selectionMessage", isSignal: false, isRequired: false, transformFunction: null }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, searchLocale: { classPropertyName: "searchLocale", publicName: "searchLocale", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: false, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, typeahead: { classPropertyName: "typeahead", publicName: "typeahead", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, addOnBlur: { classPropertyName: "addOnBlur", publicName: "addOnBlur", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, separator: { classPropertyName: "separator", publicName: "separator", isSignal: false, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { completeMethod: "completeMethod", onSelect: "onSelect", onUnselect: "onUnselect", onAdd: "onAdd", onFocus: "onFocus", onBlur: "onBlur", onDropdownClick: "onDropdownClick", onClear: "onClear", onInputKeydown: "onInputKeydown", onKeyUp: "onKeyUp", onShow: "onShow", onHide: "onHide", onLazyLoad: "onLazyLoad" }, host: { listeners: { "click": "onHostClick($event)" }, properties: { "class": "cn(cx('root'), styleClass)", "style": "sx('root')" } }, providers: [AUTOCOMPLETE_VALUE_ACCESSOR, AutoCompleteStyle], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"], descendants: true }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"], descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ["footer"], descendants: true }, { propertyName: "selectedItemTemplate", first: true, predicate: ["selecteditem"], descendants: true }, { propertyName: "groupTemplate", first: true, predicate: ["group"], descendants: true }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"], descendants: true }, { propertyName: "removeIconTemplate", first: true, predicate: ["removeicon"], descendants: true }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"], descendants: true }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"], descendants: true }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"], descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "inputEL", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "multiInputEl", first: true, predicate: ["multiIn"], descendants: true }, { propertyName: "multiContainerEL", first: true, predicate: ["multiContainer"], descendants: true }, { propertyName: "dropdownButton", first: true, predicate: ["ddBtn"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
1355
1471
|
<input
|
1356
1472
|
*ngIf="!multiple"
|
1357
1473
|
#focusInput
|
@@ -1425,10 +1541,10 @@ class AutoComplete extends BaseInput {
|
|
1425
1541
|
[attr.aria-posinset]="i + 1"
|
1426
1542
|
[attr.aria-selected]="true"
|
1427
1543
|
>
|
1428
|
-
<p-chip [class]="cx('pcChip')" [label]="!selectedItemTemplate && !_selectedItemTemplate && getOptionLabel(option)" [removable]="true" (onRemove)="!readonly ? removeOption($event, i) : ''">
|
1544
|
+
<p-chip [class]="cx('pcChip')" [label]="!selectedItemTemplate && !_selectedItemTemplate && getOptionLabel(option)" [disabled]="$disabled()" [removable]="true" (onRemove)="!readonly ? removeOption($event, i) : ''">
|
1429
1545
|
<ng-container *ngTemplateOutlet="selectedItemTemplate || _selectedItemTemplate; context: { $implicit: option }"></ng-container>
|
1430
1546
|
<ng-template #removeicon>
|
1431
|
-
<span *ngIf="!removeIconTemplate && !_removeIconTemplate" [class]="cx('chipIcon')" (click)="!readonly ? removeOption($event, i) : ''">
|
1547
|
+
<span *ngIf="!removeIconTemplate && !_removeIconTemplate" [class]="cx('chipIcon')" (click)="!readonly && !$disabled() ? removeOption($event, i) : ''">
|
1432
1548
|
<svg data-p-icon="times-circle" [class]="cx('chipIcon')" [attr.aria-hidden]="true" />
|
1433
1549
|
</span>
|
1434
1550
|
<span *ngIf="removeIconTemplate || _removeIconTemplate" [attr.aria-hidden]="true">
|
@@ -1440,6 +1556,7 @@ class AutoComplete extends BaseInput {
|
|
1440
1556
|
<li [class]="cx('inputChip')" role="option">
|
1441
1557
|
<input
|
1442
1558
|
#focusInput
|
1559
|
+
#multiIn
|
1443
1560
|
[pAutoFocus]="autofocus"
|
1444
1561
|
[class]="cx('pcInputText')"
|
1445
1562
|
[ngStyle]="inputStyle"
|
@@ -1583,9 +1700,9 @@ class AutoComplete extends BaseInput {
|
|
1583
1700
|
</span>
|
1584
1701
|
</ng-template>
|
1585
1702
|
</p-overlay>
|
1586
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: Overlay, selector: "p-overlay", inputs: ["visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options", "appendTo", "hostAttrSelector"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: TimesCircleIcon, selector: "[data-p-icon=\"times-circle\"]" }, { kind: "component", type: SpinnerIcon, selector: "[data-p-icon=\"spinner\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
1703
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: Overlay, selector: "p-overlay", inputs: ["visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options", "appendTo", "hostAttrSelector"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: TimesCircleIcon, selector: "[data-p-icon=\"times-circle\"]" }, { kind: "component", type: SpinnerIcon, selector: "[data-p-icon=\"spinner\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "disabled", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
1587
1704
|
}
|
1588
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
1705
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AutoComplete, decorators: [{
|
1589
1706
|
type: Component,
|
1590
1707
|
args: [{
|
1591
1708
|
selector: 'p-autoComplete, p-autocomplete, p-auto-complete',
|
@@ -1665,10 +1782,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
1665
1782
|
[attr.aria-posinset]="i + 1"
|
1666
1783
|
[attr.aria-selected]="true"
|
1667
1784
|
>
|
1668
|
-
<p-chip [class]="cx('pcChip')" [label]="!selectedItemTemplate && !_selectedItemTemplate && getOptionLabel(option)" [removable]="true" (onRemove)="!readonly ? removeOption($event, i) : ''">
|
1785
|
+
<p-chip [class]="cx('pcChip')" [label]="!selectedItemTemplate && !_selectedItemTemplate && getOptionLabel(option)" [disabled]="$disabled()" [removable]="true" (onRemove)="!readonly ? removeOption($event, i) : ''">
|
1669
1786
|
<ng-container *ngTemplateOutlet="selectedItemTemplate || _selectedItemTemplate; context: { $implicit: option }"></ng-container>
|
1670
1787
|
<ng-template #removeicon>
|
1671
|
-
<span *ngIf="!removeIconTemplate && !_removeIconTemplate" [class]="cx('chipIcon')" (click)="!readonly ? removeOption($event, i) : ''">
|
1788
|
+
<span *ngIf="!removeIconTemplate && !_removeIconTemplate" [class]="cx('chipIcon')" (click)="!readonly && !$disabled() ? removeOption($event, i) : ''">
|
1672
1789
|
<svg data-p-icon="times-circle" [class]="cx('chipIcon')" [attr.aria-hidden]="true" />
|
1673
1790
|
</span>
|
1674
1791
|
<span *ngIf="removeIconTemplate || _removeIconTemplate" [attr.aria-hidden]="true">
|
@@ -1680,6 +1797,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
1680
1797
|
<li [class]="cx('inputChip')" role="option">
|
1681
1798
|
<input
|
1682
1799
|
#focusInput
|
1800
|
+
#multiIn
|
1683
1801
|
[pAutoFocus]="autofocus"
|
1684
1802
|
[class]="cx('pcInputText')"
|
1685
1803
|
[ngStyle]="inputStyle"
|
@@ -1916,6 +2034,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
1916
2034
|
}], multiple: [{
|
1917
2035
|
type: Input,
|
1918
2036
|
args: [{ transform: booleanAttribute }]
|
2037
|
+
}], addOnTab: [{
|
2038
|
+
type: Input,
|
2039
|
+
args: [{ transform: booleanAttribute }]
|
1919
2040
|
}], tabindex: [{
|
1920
2041
|
type: Input,
|
1921
2042
|
args: [{ transform: numberAttribute }]
|
@@ -1969,12 +2090,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
1969
2090
|
}], typeahead: [{
|
1970
2091
|
type: Input,
|
1971
2092
|
args: [{ transform: booleanAttribute }]
|
2093
|
+
}], addOnBlur: [{
|
2094
|
+
type: Input,
|
2095
|
+
args: [{ transform: booleanAttribute }]
|
2096
|
+
}], separator: [{
|
2097
|
+
type: Input
|
1972
2098
|
}], completeMethod: [{
|
1973
2099
|
type: Output
|
1974
2100
|
}], onSelect: [{
|
1975
2101
|
type: Output
|
1976
2102
|
}], onUnselect: [{
|
1977
2103
|
type: Output
|
2104
|
+
}], onAdd: [{
|
2105
|
+
type: Output
|
1978
2106
|
}], onFocus: [{
|
1979
2107
|
type: Output
|
1980
2108
|
}], onBlur: [{
|
@@ -1983,6 +2111,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
1983
2111
|
type: Output
|
1984
2112
|
}], onClear: [{
|
1985
2113
|
type: Output
|
2114
|
+
}], onInputKeydown: [{
|
2115
|
+
type: Output
|
1986
2116
|
}], onKeyUp: [{
|
1987
2117
|
type: Output
|
1988
2118
|
}], onShow: [{
|
@@ -2053,11 +2183,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
2053
2183
|
args: [PrimeTemplate]
|
2054
2184
|
}] } });
|
2055
2185
|
class AutoCompleteModule {
|
2056
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
2057
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
2058
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
2186
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AutoCompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
2187
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.2", ngImport: i0, type: AutoCompleteModule, imports: [AutoComplete], exports: [AutoComplete, SharedModule] });
|
2188
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AutoCompleteModule, imports: [AutoComplete, SharedModule] });
|
2059
2189
|
}
|
2060
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
2190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AutoCompleteModule, decorators: [{
|
2061
2191
|
type: NgModule,
|
2062
2192
|
args: [{
|
2063
2193
|
imports: [AutoComplete],
|