primeng 20.1.2 → 20.3.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/index.d.ts +33 -14
- package/animateonscroll/index.d.ts +7 -8
- package/api/index.d.ts +132 -5
- package/autocomplete/index.d.ts +59 -203
- package/autofocus/index.d.ts +2 -2
- package/avatar/index.d.ts +12 -5
- package/avatargroup/index.d.ts +11 -6
- package/badge/index.d.ts +23 -15
- package/base/index.d.ts +7 -12
- package/basecomponent/index.d.ts +148 -30
- package/baseeditableholder/index.d.ts +7 -7
- package/baseinput/index.d.ts +15 -15
- package/basemodelholder/index.d.ts +3 -3
- package/bind/index.d.ts +38 -0
- package/blockui/index.d.ts +17 -21
- package/breadcrumb/index.d.ts +16 -47
- package/button/index.d.ts +123 -163
- package/buttongroup/index.d.ts +1 -1
- package/card/index.d.ts +19 -37
- package/carousel/index.d.ts +24 -80
- package/cascadeselect/index.d.ts +32 -140
- package/chart/index.d.ts +13 -7
- package/checkbox/index.d.ts +19 -38
- package/chip/index.d.ts +28 -39
- package/classnames/index.d.ts +32 -0
- package/colorpicker/index.d.ts +15 -27
- package/config/index.d.ts +205 -26
- package/confirmdialog/index.d.ts +25 -52
- package/confirmpopup/index.d.ts +15 -36
- package/contextmenu/index.d.ts +23 -12
- package/dataview/index.d.ts +18 -185
- package/datepicker/index.d.ts +24 -216
- package/dialog/index.d.ts +20 -43
- package/divider/index.d.ts +12 -6
- package/dock/index.d.ts +19 -31
- package/dom/index.d.ts +4 -4
- package/drawer/index.d.ts +16 -37
- package/dynamicdialog/index.d.ts +75 -83
- package/editor/index.d.ts +16 -132
- package/fesm2022/primeng-accordion.mjs +107 -59
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +11 -14
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +31 -31
- package/fesm2022/primeng-autocomplete.mjs +256 -96
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +9 -9
- package/fesm2022/primeng-autofocus.mjs.map +1 -1
- package/fesm2022/primeng-avatar.mjs +33 -24
- package/fesm2022/primeng-avatar.mjs.map +1 -1
- package/fesm2022/primeng-avatargroup.mjs +24 -22
- package/fesm2022/primeng-avatargroup.mjs.map +1 -1
- package/fesm2022/primeng-badge.mjs +67 -49
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +10 -13
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +345 -94
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-baseeditableholder.mjs +3 -3
- package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
- 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-basemodelholder.mjs.map +1 -1
- package/fesm2022/primeng-bind.mjs +94 -0
- package/fesm2022/primeng-bind.mjs.map +1 -0
- package/fesm2022/primeng-blockui.mjs +30 -24
- package/fesm2022/primeng-blockui.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs +97 -72
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +248 -207
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +14 -14
- package/fesm2022/primeng-buttongroup.mjs.map +1 -1
- package/fesm2022/primeng-card.mjs +58 -38
- package/fesm2022/primeng-card.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +154 -57
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +237 -203
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +43 -20
- package/fesm2022/primeng-chart.mjs.map +1 -1
- package/fesm2022/primeng-checkbox.mjs +50 -35
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +79 -41
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-classnames.mjs +48 -0
- package/fesm2022/primeng-classnames.mjs.map +1 -0
- package/fesm2022/primeng-colorpicker.mjs +49 -41
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +25 -9
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +63 -33
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +59 -41
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +140 -90
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +52 -43
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +305 -199
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +96 -44
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +29 -21
- package/fesm2022/primeng-divider.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +73 -51
- 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 +71 -51
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +377 -571
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +102 -90
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +66 -48
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +127 -122
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +28 -19
- package/fesm2022/primeng-floatlabel.mjs.map +1 -1
- package/fesm2022/primeng-fluid.mjs +24 -16
- package/fesm2022/primeng-fluid.mjs.map +1 -1
- package/fesm2022/primeng-focustrap.mjs +9 -11
- package/fesm2022/primeng-focustrap.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +368 -232
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +30 -18
- package/fesm2022/primeng-iconfield.mjs.map +1 -1
- 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 +4 -5
- package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowleft.mjs +4 -5
- package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowup.mjs +4 -5
- package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
- package/fesm2022/primeng-icons-ban.mjs +4 -5
- package/fesm2022/primeng-icons-ban.mjs.map +1 -1
- package/fesm2022/primeng-icons-bars.mjs +3 -3
- package/fesm2022/primeng-icons-baseicon.mjs +7 -6
- package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
- 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 +4 -5
- package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
- package/fesm2022/primeng-icons-eye.mjs +3 -3
- package/fesm2022/primeng-icons-eyeslash.mjs +4 -5
- package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-filter.mjs +4 -5
- package/fesm2022/primeng-icons-filter.mjs.map +1 -1
- package/fesm2022/primeng-icons-filterfill.mjs +3 -3
- package/fesm2022/primeng-icons-filterslash.mjs +4 -5
- package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-home.mjs +4 -5
- package/fesm2022/primeng-icons-home.mjs.map +1 -1
- package/fesm2022/primeng-icons-infocircle.mjs +4 -5
- package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-minus.mjs +3 -3
- package/fesm2022/primeng-icons-pencil.mjs +4 -5
- package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
- package/fesm2022/primeng-icons-plus.mjs +4 -5
- package/fesm2022/primeng-icons-plus.mjs.map +1 -1
- package/fesm2022/primeng-icons-refresh.mjs +4 -5
- package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
- package/fesm2022/primeng-icons-search.mjs +4 -5
- package/fesm2022/primeng-icons-search.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchminus.mjs +4 -5
- package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchplus.mjs +4 -5
- package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortalt.mjs +4 -5
- package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountdown.mjs +4 -5
- package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountupalt.mjs +4 -5
- package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-spinner.mjs +4 -5
- package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
- package/fesm2022/primeng-icons-star.mjs +4 -5
- package/fesm2022/primeng-icons-star.mjs.map +1 -1
- package/fesm2022/primeng-icons-starfill.mjs +4 -5
- package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
- package/fesm2022/primeng-icons-thlarge.mjs +4 -5
- package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
- package/fesm2022/primeng-icons-times.mjs +3 -3
- package/fesm2022/primeng-icons-timescircle.mjs +4 -5
- package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-trash.mjs +4 -5
- package/fesm2022/primeng-icons-trash.mjs.map +1 -1
- package/fesm2022/primeng-icons-undo.mjs +4 -5
- package/fesm2022/primeng-icons-undo.mjs.map +1 -1
- package/fesm2022/primeng-icons-upload.mjs +4 -5
- package/fesm2022/primeng-icons-upload.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowmaximize.mjs +4 -5
- package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowminimize.mjs +4 -5
- package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
- package/fesm2022/primeng-iftalabel.mjs +27 -17
- package/fesm2022/primeng-iftalabel.mjs.map +1 -1
- package/fesm2022/primeng-image.mjs +100 -47
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +31 -24
- package/fesm2022/primeng-imagecompare.mjs.map +1 -1
- package/fesm2022/primeng-inplace.mjs +46 -36
- package/fesm2022/primeng-inplace.mjs.map +1 -1
- package/fesm2022/primeng-inputgroup.mjs +28 -21
- package/fesm2022/primeng-inputgroup.mjs.map +1 -1
- package/fesm2022/primeng-inputgroupaddon.mjs +25 -19
- package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/primeng-inputicon.mjs +27 -15
- package/fesm2022/primeng-inputicon.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +50 -32
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +109 -81
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +32 -20
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +39 -20
- 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 +35 -27
- package/fesm2022/primeng-knob.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +254 -88
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +371 -351
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +126 -79
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +133 -96
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +66 -55
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +67 -48
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +238 -179
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +218 -81
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +93 -67
- package/fesm2022/primeng-organizationchart.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +72 -81
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +31 -22
- package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +66 -54
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +109 -80
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +394 -316
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-passthrough.mjs +21 -0
- package/fesm2022/primeng-passthrough.mjs.map +1 -0
- package/fesm2022/primeng-password.mjs +89 -72
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +271 -132
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +45 -34
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +37 -29
- package/fesm2022/primeng-progressbar.mjs.map +1 -1
- package/fesm2022/primeng-progressspinner.mjs +30 -23
- package/fesm2022/primeng-progressspinner.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +43 -34
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +49 -39
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +17 -19
- package/fesm2022/primeng-ripple.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +50 -42
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +55 -48
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +31 -21
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +204 -107
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +38 -27
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +24 -17
- package/fesm2022/primeng-skeleton.mjs.map +1 -1
- package/fesm2022/primeng-slider.mjs +47 -27
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +88 -56
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +43 -26
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +49 -45
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +163 -88
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +19 -21
- 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 +766 -675
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +242 -131
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +35 -25
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +51 -45
- package/fesm2022/primeng-terminal.mjs.map +1 -1
- package/fesm2022/primeng-textarea.mjs +29 -24
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +147 -83
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +42 -34
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs +67 -61
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +46 -29
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +39 -29
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
- package/fesm2022/primeng-toolbar.mjs +37 -29
- package/fesm2022/primeng-toolbar.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +37 -37
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +330 -310
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +101 -55
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +305 -264
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-types-accordion.mjs +4 -0
- package/fesm2022/primeng-types-accordion.mjs.map +1 -0
- package/fesm2022/primeng-types-autocomplete.mjs +4 -0
- package/fesm2022/primeng-types-autocomplete.mjs.map +1 -0
- package/fesm2022/primeng-types-avatar.mjs +4 -0
- package/fesm2022/primeng-types-avatar.mjs.map +1 -0
- package/fesm2022/primeng-types-avatargroup.mjs +4 -0
- package/fesm2022/primeng-types-avatargroup.mjs.map +1 -0
- package/fesm2022/primeng-types-badge.mjs +4 -0
- package/fesm2022/primeng-types-badge.mjs.map +1 -0
- package/fesm2022/primeng-types-blockui.mjs +4 -0
- package/fesm2022/primeng-types-blockui.mjs.map +1 -0
- package/fesm2022/primeng-types-breadcrumb.mjs +4 -0
- package/fesm2022/primeng-types-breadcrumb.mjs.map +1 -0
- package/fesm2022/primeng-types-button.mjs +4 -0
- package/fesm2022/primeng-types-button.mjs.map +1 -0
- package/fesm2022/primeng-types-card.mjs +4 -0
- package/fesm2022/primeng-types-card.mjs.map +1 -0
- package/fesm2022/primeng-types-carousel.mjs +4 -0
- package/fesm2022/primeng-types-carousel.mjs.map +1 -0
- package/fesm2022/primeng-types-cascadeselect.mjs +4 -0
- package/fesm2022/primeng-types-cascadeselect.mjs.map +1 -0
- package/fesm2022/primeng-types-chart.mjs +4 -0
- package/fesm2022/primeng-types-chart.mjs.map +1 -0
- package/fesm2022/primeng-types-checkbox.mjs +4 -0
- package/fesm2022/primeng-types-checkbox.mjs.map +1 -0
- package/fesm2022/primeng-types-chip.mjs +4 -0
- package/fesm2022/primeng-types-chip.mjs.map +1 -0
- package/fesm2022/primeng-types-colorpicker.mjs +4 -0
- package/fesm2022/primeng-types-colorpicker.mjs.map +1 -0
- package/fesm2022/primeng-types-confirmdialog.mjs +4 -0
- package/fesm2022/primeng-types-confirmdialog.mjs.map +1 -0
- package/fesm2022/primeng-types-confirmpopup.mjs +4 -0
- package/fesm2022/primeng-types-confirmpopup.mjs.map +1 -0
- package/fesm2022/primeng-types-contextmenu.mjs +4 -0
- package/fesm2022/primeng-types-contextmenu.mjs.map +1 -0
- package/fesm2022/primeng-types-dataview.mjs +4 -0
- package/fesm2022/primeng-types-dataview.mjs.map +1 -0
- package/fesm2022/primeng-types-datepicker.mjs +4 -0
- package/fesm2022/primeng-types-datepicker.mjs.map +1 -0
- package/fesm2022/primeng-types-dialog.mjs +4 -0
- package/fesm2022/primeng-types-dialog.mjs.map +1 -0
- package/fesm2022/primeng-types-divider.mjs +4 -0
- package/fesm2022/primeng-types-divider.mjs.map +1 -0
- package/fesm2022/primeng-types-dock.mjs +4 -0
- package/fesm2022/primeng-types-dock.mjs.map +1 -0
- package/fesm2022/primeng-types-drawer.mjs +4 -0
- package/fesm2022/primeng-types-drawer.mjs.map +1 -0
- package/fesm2022/primeng-types-editor.mjs +4 -0
- package/fesm2022/primeng-types-editor.mjs.map +1 -0
- package/fesm2022/primeng-types-fieldset.mjs +4 -0
- package/fesm2022/primeng-types-fieldset.mjs.map +1 -0
- package/fesm2022/primeng-types-fileupload.mjs +4 -0
- package/fesm2022/primeng-types-fileupload.mjs.map +1 -0
- package/fesm2022/primeng-types-floatlabel.mjs +4 -0
- package/fesm2022/primeng-types-floatlabel.mjs.map +1 -0
- package/fesm2022/primeng-types-fluid.mjs +4 -0
- package/fesm2022/primeng-types-fluid.mjs.map +1 -0
- package/fesm2022/primeng-types-galleria.mjs +4 -0
- package/fesm2022/primeng-types-galleria.mjs.map +1 -0
- package/fesm2022/primeng-types-iconfield.mjs +4 -0
- package/fesm2022/primeng-types-iconfield.mjs.map +1 -0
- package/fesm2022/primeng-types-iftalabel.mjs +4 -0
- package/fesm2022/primeng-types-iftalabel.mjs.map +1 -0
- package/fesm2022/primeng-types-image.mjs +4 -0
- package/fesm2022/primeng-types-image.mjs.map +1 -0
- package/fesm2022/primeng-types-imagecompare.mjs +4 -0
- package/fesm2022/primeng-types-imagecompare.mjs.map +1 -0
- package/fesm2022/primeng-types-inplace.mjs +4 -0
- package/fesm2022/primeng-types-inplace.mjs.map +1 -0
- package/fesm2022/primeng-types-inputgroup.mjs +4 -0
- package/fesm2022/primeng-types-inputgroup.mjs.map +1 -0
- package/fesm2022/primeng-types-inputgroupaddon.mjs +4 -0
- package/fesm2022/primeng-types-inputgroupaddon.mjs.map +1 -0
- package/fesm2022/primeng-types-inputicon.mjs +4 -0
- package/fesm2022/primeng-types-inputicon.mjs.map +1 -0
- package/fesm2022/primeng-types-inputmask.mjs +4 -0
- package/fesm2022/primeng-types-inputmask.mjs.map +1 -0
- package/fesm2022/primeng-types-inputnumber.mjs +4 -0
- package/fesm2022/primeng-types-inputnumber.mjs.map +1 -0
- package/fesm2022/primeng-types-inputotp.mjs +4 -0
- package/fesm2022/primeng-types-inputotp.mjs.map +1 -0
- package/fesm2022/primeng-types-inputtext.mjs +4 -0
- package/fesm2022/primeng-types-inputtext.mjs.map +1 -0
- package/fesm2022/primeng-types-knob.mjs +4 -0
- package/fesm2022/primeng-types-knob.mjs.map +1 -0
- package/fesm2022/primeng-types-listbox.mjs +4 -0
- package/fesm2022/primeng-types-listbox.mjs.map +1 -0
- package/fesm2022/primeng-types-megamenu.mjs +4 -0
- package/fesm2022/primeng-types-megamenu.mjs.map +1 -0
- package/fesm2022/primeng-types-menu.mjs +4 -0
- package/fesm2022/primeng-types-menu.mjs.map +1 -0
- package/fesm2022/primeng-types-menubar.mjs +4 -0
- package/fesm2022/primeng-types-menubar.mjs.map +1 -0
- package/fesm2022/primeng-types-message.mjs +4 -0
- package/fesm2022/primeng-types-message.mjs.map +1 -0
- package/fesm2022/primeng-types-metergroup.mjs +4 -0
- package/fesm2022/primeng-types-metergroup.mjs.map +1 -0
- package/fesm2022/primeng-types-multiselect.mjs +4 -0
- package/fesm2022/primeng-types-multiselect.mjs.map +1 -0
- package/fesm2022/primeng-types-orderlist.mjs +4 -0
- package/fesm2022/primeng-types-orderlist.mjs.map +1 -0
- package/fesm2022/primeng-types-organizationchart.mjs +4 -0
- package/fesm2022/primeng-types-organizationchart.mjs.map +1 -0
- package/fesm2022/primeng-types-overlay.mjs +4 -0
- package/fesm2022/primeng-types-overlay.mjs.map +1 -0
- package/fesm2022/primeng-types-overlaybadge.mjs +4 -0
- package/fesm2022/primeng-types-overlaybadge.mjs.map +1 -0
- package/fesm2022/primeng-types-paginator.mjs +4 -0
- package/fesm2022/primeng-types-paginator.mjs.map +1 -0
- package/fesm2022/primeng-types-panel.mjs +4 -0
- package/fesm2022/primeng-types-panel.mjs.map +1 -0
- package/fesm2022/primeng-types-panelmenu.mjs +4 -0
- package/fesm2022/primeng-types-panelmenu.mjs.map +1 -0
- package/fesm2022/primeng-types-password.mjs +4 -0
- package/fesm2022/primeng-types-password.mjs.map +1 -0
- package/fesm2022/primeng-types-picklist.mjs +4 -0
- package/fesm2022/primeng-types-picklist.mjs.map +1 -0
- package/fesm2022/primeng-types-popover.mjs +4 -0
- package/fesm2022/primeng-types-popover.mjs.map +1 -0
- package/fesm2022/primeng-types-progressbar.mjs +4 -0
- package/fesm2022/primeng-types-progressbar.mjs.map +1 -0
- package/fesm2022/primeng-types-progressspinner.mjs +4 -0
- package/fesm2022/primeng-types-progressspinner.mjs.map +1 -0
- package/fesm2022/primeng-types-radiobutton.mjs +4 -0
- package/fesm2022/primeng-types-radiobutton.mjs.map +1 -0
- package/fesm2022/primeng-types-rating.mjs +4 -0
- package/fesm2022/primeng-types-rating.mjs.map +1 -0
- package/fesm2022/primeng-types-scroller.mjs +4 -0
- package/fesm2022/primeng-types-scroller.mjs.map +1 -0
- package/fesm2022/primeng-types-scrollpanel.mjs +4 -0
- package/fesm2022/primeng-types-scrollpanel.mjs.map +1 -0
- package/fesm2022/primeng-types-scrolltop.mjs +4 -0
- package/fesm2022/primeng-types-scrolltop.mjs.map +1 -0
- package/fesm2022/primeng-types-select.mjs +4 -0
- package/fesm2022/primeng-types-select.mjs.map +1 -0
- package/fesm2022/primeng-types-selectbutton.mjs +4 -0
- package/fesm2022/primeng-types-selectbutton.mjs.map +1 -0
- package/fesm2022/primeng-types-skeleton.mjs +4 -0
- package/fesm2022/primeng-types-skeleton.mjs.map +1 -0
- package/fesm2022/primeng-types-slider.mjs +4 -0
- package/fesm2022/primeng-types-slider.mjs.map +1 -0
- package/fesm2022/primeng-types-speeddial.mjs +4 -0
- package/fesm2022/primeng-types-speeddial.mjs.map +1 -0
- package/fesm2022/primeng-types-splitbutton.mjs +4 -0
- package/fesm2022/primeng-types-splitbutton.mjs.map +1 -0
- package/fesm2022/primeng-types-splitter.mjs +4 -0
- package/fesm2022/primeng-types-splitter.mjs.map +1 -0
- package/fesm2022/primeng-types-stepper.mjs +4 -0
- package/fesm2022/primeng-types-stepper.mjs.map +1 -0
- package/fesm2022/primeng-types-table.mjs +4 -0
- package/fesm2022/primeng-types-table.mjs.map +1 -0
- package/fesm2022/primeng-types-tabs.mjs +4 -0
- package/fesm2022/primeng-types-tabs.mjs.map +1 -0
- package/fesm2022/primeng-types-tag.mjs +4 -0
- package/fesm2022/primeng-types-tag.mjs.map +1 -0
- package/fesm2022/primeng-types-terminal.mjs +4 -0
- package/fesm2022/primeng-types-terminal.mjs.map +1 -0
- package/fesm2022/primeng-types-textarea.mjs +4 -0
- package/fesm2022/primeng-types-textarea.mjs.map +1 -0
- package/fesm2022/primeng-types-tieredmenu.mjs +4 -0
- package/fesm2022/primeng-types-tieredmenu.mjs.map +1 -0
- package/fesm2022/primeng-types-timeline.mjs +4 -0
- package/fesm2022/primeng-types-timeline.mjs.map +1 -0
- package/fesm2022/primeng-types-toast.mjs +4 -0
- package/fesm2022/primeng-types-toast.mjs.map +1 -0
- package/fesm2022/primeng-types-togglebutton.mjs +4 -0
- package/fesm2022/primeng-types-togglebutton.mjs.map +1 -0
- package/fesm2022/primeng-types-toggleswitch.mjs +4 -0
- package/fesm2022/primeng-types-toggleswitch.mjs.map +1 -0
- package/fesm2022/primeng-types-toolbar.mjs +4 -0
- package/fesm2022/primeng-types-toolbar.mjs.map +1 -0
- package/fesm2022/primeng-types-tooltip.mjs +4 -0
- package/fesm2022/primeng-types-tooltip.mjs.map +1 -0
- package/fesm2022/primeng-types-tree.mjs +4 -0
- package/fesm2022/primeng-types-tree.mjs.map +1 -0
- package/fesm2022/primeng-types-treeselect.mjs +4 -0
- package/fesm2022/primeng-types-treeselect.mjs.map +1 -0
- package/fesm2022/primeng-types-treetable.mjs +4 -0
- package/fesm2022/primeng-types-treetable.mjs.map +1 -0
- 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 +19 -57
- package/fileupload/index.d.ts +24 -252
- package/floatlabel/index.d.ts +13 -6
- package/fluid/index.d.ts +9 -4
- package/focustrap/index.d.ts +2 -2
- package/galleria/index.d.ts +60 -142
- package/iconfield/index.d.ts +13 -5
- package/icons/arrowdown/index.d.ts +3 -4
- package/icons/arrowleft/index.d.ts +1 -1
- package/icons/arrowup/index.d.ts +1 -1
- package/icons/ban/index.d.ts +1 -1
- package/icons/baseicon/index.d.ts +1 -1
- package/icons/exclamationtriangle/index.d.ts +3 -4
- package/icons/eyeslash/index.d.ts +1 -1
- package/icons/filter/index.d.ts +1 -1
- package/icons/filterslash/index.d.ts +1 -1
- package/icons/home/index.d.ts +1 -1
- package/icons/infocircle/index.d.ts +1 -1
- package/icons/pencil/index.d.ts +1 -1
- package/icons/plus/index.d.ts +1 -1
- package/icons/refresh/index.d.ts +1 -1
- package/icons/search/index.d.ts +1 -1
- package/icons/searchminus/index.d.ts +1 -1
- package/icons/searchplus/index.d.ts +1 -1
- package/icons/sortalt/index.d.ts +1 -1
- package/icons/sortamountdown/index.d.ts +1 -1
- package/icons/sortamountupalt/index.d.ts +1 -1
- package/icons/spinner/index.d.ts +1 -1
- package/icons/star/index.d.ts +1 -1
- package/icons/starfill/index.d.ts +1 -1
- package/icons/thlarge/index.d.ts +1 -1
- package/icons/timescircle/index.d.ts +1 -1
- package/icons/trash/index.d.ts +1 -1
- package/icons/undo/index.d.ts +1 -1
- package/icons/upload/index.d.ts +1 -1
- package/icons/windowmaximize/index.d.ts +1 -1
- package/icons/windowminimize/index.d.ts +1 -1
- package/iftalabel/index.d.ts +15 -8
- package/image/index.d.ts +21 -78
- package/imagecompare/index.d.ts +15 -9
- package/inplace/index.d.ts +16 -29
- package/inputgroup/index.d.ts +12 -6
- package/inputgroupaddon/index.d.ts +11 -5
- package/inputicon/index.d.ts +11 -4
- package/inputmask/index.d.ts +21 -29
- package/inputnumber/index.d.ts +24 -56
- package/inputotp/index.d.ts +17 -11
- package/inputtext/index.d.ts +20 -12
- package/keyfilter/index.d.ts +2 -7
- package/knob/index.d.ts +11 -5
- package/listbox/index.d.ts +48 -194
- package/megamenu/index.d.ts +24 -45
- package/menu/index.d.ts +23 -12
- package/menubar/index.d.ts +22 -52
- package/message/index.d.ts +18 -11
- package/metergroup/index.d.ts +23 -138
- package/multiselect/index.d.ts +41 -276
- package/orderlist/index.d.ts +28 -126
- package/organizationchart/index.d.ts +20 -70
- package/overlay/index.d.ts +40 -12
- package/overlaybadge/index.d.ts +11 -5
- package/package.json +585 -213
- package/paginator/index.d.ts +17 -48
- package/panel/index.d.ts +34 -57
- package/panelmenu/index.d.ts +32 -43
- package/passthrough/index.d.ts +14 -0
- package/password/index.d.ts +28 -18
- package/picklist/index.d.ts +33 -263
- package/popover/index.d.ts +15 -8
- package/progressbar/index.d.ts +14 -7
- package/progressspinner/index.d.ts +11 -5
- package/radiobutton/index.d.ts +18 -28
- package/rating/index.d.ts +16 -44
- package/ripple/index.d.ts +5 -5
- package/scroller/index.d.ts +23 -193
- package/scrollpanel/index.d.ts +17 -22
- package/scrolltop/index.d.ts +16 -28
- package/select/index.d.ts +34 -176
- package/selectbutton/index.d.ts +17 -56
- package/skeleton/index.d.ts +11 -5
- package/slider/index.d.ts +16 -49
- package/speeddial/index.d.ts +28 -63
- package/splitbutton/index.d.ts +15 -39
- package/splitter/index.d.ts +16 -45
- package/stepper/index.d.ts +54 -26
- package/steps/index.d.ts +8 -8
- package/table/index.d.ts +200 -854
- package/tabs/index.d.ts +59 -26
- package/tag/index.d.ts +14 -19
- package/terminal/index.d.ts +14 -8
- package/textarea/index.d.ts +19 -14
- package/tieredmenu/index.d.ts +26 -42
- package/timeline/index.d.ts +14 -51
- package/toast/index.d.ts +25 -70
- package/togglebutton/index.d.ts +16 -60
- package/toggleswitch/index.d.ts +16 -25
- package/toolbar/index.d.ts +14 -27
- package/tooltip/index.d.ts +24 -19
- package/tree/index.d.ts +55 -259
- package/treeselect/index.d.ts +23 -124
- package/treetable/index.d.ts +106 -558
- package/types/accordion/index.d.ts +88 -0
- package/types/autocomplete/index.d.ts +299 -0
- package/types/avatar/index.d.ts +40 -0
- package/types/avatargroup/index.d.ts +28 -0
- package/types/badge/index.d.ts +26 -0
- package/types/blockui/index.d.ts +39 -0
- package/types/breadcrumb/index.d.ts +70 -0
- package/types/button/index.d.ts +105 -0
- package/types/card/index.d.ts +75 -0
- package/types/carousel/index.d.ts +140 -0
- package/types/cascadeselect/index.d.ts +198 -0
- package/types/chart/index.d.ts +32 -0
- package/types/checkbox/index.d.ts +62 -0
- package/types/chip/index.d.ts +71 -0
- package/types/colorpicker/index.d.ts +73 -0
- package/types/confirmdialog/index.d.ts +121 -0
- package/types/confirmpopup/index.d.ts +82 -0
- package/types/contextmenu/index.d.ts +89 -0
- package/types/dataview/index.d.ts +234 -0
- package/types/datepicker/index.d.ts +464 -0
- package/types/dialog/index.d.ts +98 -0
- package/types/divider/index.d.ts +28 -0
- package/types/dock/index.d.ts +67 -0
- package/types/drawer/index.d.ts +77 -0
- package/types/editor/index.d.ts +210 -0
- package/types/fieldset/index.d.ts +92 -0
- package/types/fileupload/index.d.ts +576 -0
- package/types/floatlabel/index.d.ts +26 -0
- package/types/fluid/index.d.ts +28 -0
- package/types/galleria/index.d.ts +233 -0
- package/types/iconfield/index.d.ts +26 -0
- package/types/iftalabel/index.d.ts +26 -0
- package/types/image/index.d.ts +193 -0
- package/types/imagecompare/index.d.ts +28 -0
- package/types/inplace/index.d.ts +61 -0
- package/types/inputgroup/index.d.ts +28 -0
- package/types/inputgroupaddon/index.d.ts +28 -0
- package/types/inputicon/index.d.ts +26 -0
- package/types/inputmask/index.d.ts +56 -0
- package/types/inputnumber/index.d.ts +95 -0
- package/types/inputotp/index.d.ts +31 -0
- package/types/inputtext/index.d.ts +24 -0
- package/types/knob/index.d.ts +40 -0
- package/types/listbox/index.d.ts +280 -0
- package/types/megamenu/index.d.ts +122 -0
- package/types/menu/index.d.ts +101 -0
- package/types/menubar/index.d.ts +121 -0
- package/types/message/index.d.ts +48 -0
- package/types/metergroup/index.d.ts +178 -0
- package/types/multiselect/index.d.ts +362 -0
- package/types/orderlist/index.d.ts +164 -0
- package/types/organizationchart/index.d.ts +138 -0
- package/types/overlay/index.d.ts +28 -0
- package/types/overlaybadge/index.d.ts +34 -0
- package/types/paginator/index.d.ts +131 -0
- package/types/panel/index.d.ts +92 -0
- package/types/panelmenu/index.d.ts +114 -0
- package/types/password/index.d.ts +97 -0
- package/types/picklist/index.d.ts +353 -0
- package/types/popover/index.d.ts +52 -0
- package/types/progressbar/index.d.ts +54 -0
- package/types/progressspinner/index.d.ts +36 -0
- package/types/radiobutton/index.d.ts +51 -0
- package/types/rating/index.d.ts +82 -0
- package/types/scroller/index.d.ts +221 -0
- package/types/scrollpanel/index.d.ts +51 -0
- package/types/scrolltop/index.d.ts +52 -0
- package/types/select/index.d.ts +288 -0
- package/types/selectbutton/index.d.ts +77 -0
- package/types/skeleton/index.d.ts +28 -0
- package/types/slider/index.d.ts +78 -0
- package/types/speeddial/index.d.ts +82 -0
- package/types/splitbutton/index.d.ts +70 -0
- package/types/splitter/index.d.ts +70 -0
- package/types/stepper/index.d.ts +153 -0
- package/types/table/index.d.ts +884 -0
- package/types/tabs/index.d.ts +119 -0
- package/types/tag/index.d.ts +47 -0
- package/types/terminal/index.d.ts +60 -0
- package/types/textarea/index.d.ts +28 -0
- package/types/tieredmenu/index.d.ts +87 -0
- package/types/timeline/index.d.ts +95 -0
- package/types/toast/index.d.ts +114 -0
- package/types/togglebutton/index.d.ts +85 -0
- package/types/toggleswitch/index.d.ts +51 -0
- package/types/toolbar/index.d.ts +55 -0
- package/types/tooltip/index.d.ts +32 -0
- package/types/tree/index.d.ts +308 -0
- package/types/treeselect/index.d.ts +224 -0
- package/types/treetable/index.d.ts +640 -0
- package/usestyle/index.d.ts +2 -2
- package/utils/index.d.ts +2 -2
|
@@ -1,15 +1,18 @@
|
|
|
1
|
+
export * from 'primeng/types/multiselect';
|
|
1
2
|
import * as i1 from '@angular/common';
|
|
2
3
|
import { CommonModule } from '@angular/common';
|
|
3
4
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Injectable,
|
|
5
|
+
import { Injectable, InjectionToken, forwardRef, inject, EventEmitter, booleanAttribute, numberAttribute, Output, Input, ViewEncapsulation, Component, input, signal, computed, effect, ContentChildren, ContentChild, ViewChild, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
5
6
|
import * as i2 from '@angular/forms';
|
|
6
7
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
7
8
|
import { deepEquals, isNotEmpty, isArray, uuid, equals, focus, findLastIndex, resolveFieldData, isPrintableCharacter, getFirstFocusableElement, getLastFocusableElement, findSingle, getFocusableElements } from '@primeuix/utils';
|
|
8
9
|
import * as i3 from 'primeng/api';
|
|
9
10
|
import { SharedModule, TranslationKeys, Footer, Header, PrimeTemplate } from 'primeng/api';
|
|
10
11
|
import { AutoFocus } from 'primeng/autofocus';
|
|
11
|
-
import { BaseComponent } from 'primeng/basecomponent';
|
|
12
|
+
import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
|
|
12
13
|
import { BaseEditableHolder } from 'primeng/baseeditableholder';
|
|
14
|
+
import * as i4 from 'primeng/bind';
|
|
15
|
+
import { Bind, BindModule } from 'primeng/bind';
|
|
13
16
|
import { Checkbox } from 'primeng/checkbox';
|
|
14
17
|
import { Chip } from 'primeng/chip';
|
|
15
18
|
import { DomHandler, unblockBodyScroll } from 'primeng/dom';
|
|
@@ -19,15 +22,14 @@ import { CheckIcon, SearchIcon, TimesIcon, ChevronDownIcon } from 'primeng/icons
|
|
|
19
22
|
import { InputIcon } from 'primeng/inputicon';
|
|
20
23
|
import { InputText } from 'primeng/inputtext';
|
|
21
24
|
import { Overlay } from 'primeng/overlay';
|
|
22
|
-
import { Ripple } from 'primeng/ripple';
|
|
23
25
|
import { Scroller } from 'primeng/scroller';
|
|
24
26
|
import { Tooltip } from 'primeng/tooltip';
|
|
25
27
|
import { ObjectUtils } from 'primeng/utils';
|
|
26
|
-
import { style } from '@primeuix/styles/multiselect';
|
|
28
|
+
import { style as style$1 } from '@primeuix/styles/multiselect';
|
|
27
29
|
import { BaseStyle } from 'primeng/base';
|
|
28
30
|
|
|
29
|
-
const
|
|
30
|
-
${style}
|
|
31
|
+
const style = /*css*/ `
|
|
32
|
+
${style$1}
|
|
31
33
|
|
|
32
34
|
/* For PrimeNG */
|
|
33
35
|
.p-multiselect.ng-invalid.ng-dirty {
|
|
@@ -50,7 +52,7 @@ const classes = {
|
|
|
50
52
|
'p-multiselect-display-chip': instance.display === 'chip',
|
|
51
53
|
'p-disabled': instance.$disabled(),
|
|
52
54
|
'p-invalid': instance.invalid(),
|
|
53
|
-
'p-variant-filled': instance.$variant(),
|
|
55
|
+
'p-variant-filled': instance.$variant() === 'filled',
|
|
54
56
|
'p-focus': instance.focused,
|
|
55
57
|
'p-inputwrapper-filled': instance.$filled(),
|
|
56
58
|
'p-inputwrapper-focus': instance.focused || instance.overlayVisible,
|
|
@@ -90,13 +92,13 @@ const classes = {
|
|
|
90
92
|
};
|
|
91
93
|
class MultiSelectStyle extends BaseStyle {
|
|
92
94
|
name = 'multiselect';
|
|
93
|
-
|
|
95
|
+
style = style;
|
|
94
96
|
classes = classes;
|
|
95
97
|
inlineStyles = inlineStyles;
|
|
96
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
97
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
98
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
99
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectStyle });
|
|
98
100
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectStyle, decorators: [{
|
|
100
102
|
type: Injectable
|
|
101
103
|
}] });
|
|
102
104
|
/**
|
|
@@ -188,13 +190,25 @@ var MultiSelectClasses;
|
|
|
188
190
|
MultiSelectClasses["clearIcon"] = "p-autocomplete-clear-icon";
|
|
189
191
|
})(MultiSelectClasses || (MultiSelectClasses = {}));
|
|
190
192
|
|
|
193
|
+
const MULTISELECT_INSTANCE = new InjectionToken('MULTISELECT_INSTANCE');
|
|
194
|
+
const MULTISELECT_ITEM_INSTANCE = new InjectionToken('MULTISELECT_ITEM_INSTANCE');
|
|
191
195
|
const MULTISELECT_VALUE_ACCESSOR = {
|
|
192
196
|
provide: NG_VALUE_ACCESSOR,
|
|
193
197
|
useExisting: forwardRef(() => MultiSelect),
|
|
194
198
|
multi: true
|
|
195
199
|
};
|
|
196
200
|
class MultiSelectItem extends BaseComponent {
|
|
197
|
-
|
|
201
|
+
$pcMultiSelectItem = inject(MULTISELECT_ITEM_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
|
|
202
|
+
hostName = 'MultiSelect';
|
|
203
|
+
getPTOptions(key) {
|
|
204
|
+
return this.ptm(key, {
|
|
205
|
+
context: {
|
|
206
|
+
selected: this.selected,
|
|
207
|
+
focused: this.focused,
|
|
208
|
+
disabled: this.disabled
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
}
|
|
198
212
|
option;
|
|
199
213
|
selected;
|
|
200
214
|
label;
|
|
@@ -227,78 +241,55 @@ class MultiSelectItem extends BaseComponent {
|
|
|
227
241
|
selected: this.selected
|
|
228
242
|
});
|
|
229
243
|
}
|
|
230
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
231
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.
|
|
232
|
-
<
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
[attr.data-p-focused]="focused"
|
|
243
|
-
[attr.data-p-highlight]="selected"
|
|
244
|
-
[attr.data-p-disabled]="disabled"
|
|
245
|
-
[attr.aria-checked]="selected"
|
|
246
|
-
(click)="onOptionClick($event)"
|
|
247
|
-
(mouseenter)="onOptionMouseEnter($event)"
|
|
248
|
-
>
|
|
249
|
-
<p-checkbox [ngModel]="selected" [binary]="true" [tabindex]="-1" [variant]="variant" [ariaLabel]="label">
|
|
250
|
-
<ng-container *ngIf="itemCheckboxIconTemplate">
|
|
251
|
-
<ng-template #icon let-klass="class">
|
|
252
|
-
<ng-template *ngTemplateOutlet="itemCheckboxIconTemplate; context: { checked: selected, class: klass }"></ng-template>
|
|
253
|
-
</ng-template>
|
|
254
|
-
</ng-container>
|
|
255
|
-
</p-checkbox>
|
|
256
|
-
<span *ngIf="!template">{{ label ?? 'empty' }}</span>
|
|
257
|
-
<ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
|
|
258
|
-
</li>
|
|
259
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "ngmodule", type: SharedModule }], encapsulation: i0.ViewEncapsulation.None });
|
|
244
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
245
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.4", type: MultiSelectItem, isStandalone: true, selector: "li[pMultiSelectItem]", inputs: { option: "option", selected: ["selected", "selected", booleanAttribute], label: "label", disabled: ["disabled", "disabled", booleanAttribute], itemSize: ["itemSize", "itemSize", numberAttribute], focused: ["focused", "focused", booleanAttribute], ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", variant: "variant", template: "template", checkIconTemplate: "checkIconTemplate", itemCheckboxIconTemplate: "itemCheckboxIconTemplate", highlightOnSelect: ["highlightOnSelect", "highlightOnSelect", booleanAttribute] }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, host: { attributes: { "role": "option" }, listeners: { "click": "onOptionClick($event)", "mouseenter": "onOptionMouseEnter($event)" }, properties: { "style.height.px": "itemSize", "attr.aria-label": "label", "attr.aria-setsize": "ariaSetSize", "attr.aria-posinset": "ariaPosInset", "attr.aria-selected": "selected", "attr.data-p-focused": "focused", "attr.data-p-highlight": "selected", "attr.data-p-disabled": "disabled", "attr.aria-checked": "selected", "class": "cx('option')" } }, providers: [MultiSelectStyle], usesInheritance: true, ngImport: i0, template: `
|
|
246
|
+
<p-checkbox [ngModel]="selected" [binary]="true" [tabindex]="-1" [variant]="variant" [ariaLabel]="label" [pt]="getPTOptions('pcOptionCheckbox')">
|
|
247
|
+
<ng-container *ngIf="itemCheckboxIconTemplate">
|
|
248
|
+
<ng-template #icon let-klass="class">
|
|
249
|
+
<ng-template *ngTemplateOutlet="itemCheckboxIconTemplate; context: { checked: selected, class: klass }"></ng-template>
|
|
250
|
+
</ng-template>
|
|
251
|
+
</ng-container>
|
|
252
|
+
</p-checkbox>
|
|
253
|
+
<span *ngIf="!template">{{ label ?? 'empty' }}</span>
|
|
254
|
+
<ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
|
|
255
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["hostName", "value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SharedModule }], encapsulation: i0.ViewEncapsulation.None });
|
|
260
256
|
}
|
|
261
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectItem, decorators: [{
|
|
262
258
|
type: Component,
|
|
263
259
|
args: [{
|
|
264
|
-
selector: '
|
|
260
|
+
selector: 'li[pMultiSelectItem]',
|
|
265
261
|
standalone: true,
|
|
266
|
-
imports: [CommonModule, Checkbox, FormsModule,
|
|
262
|
+
imports: [CommonModule, Checkbox, FormsModule, SharedModule],
|
|
267
263
|
template: `
|
|
268
|
-
<
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
[attr.aria-selected]="selected"
|
|
278
|
-
[attr.data-p-focused]="focused"
|
|
279
|
-
[attr.data-p-highlight]="selected"
|
|
280
|
-
[attr.data-p-disabled]="disabled"
|
|
281
|
-
[attr.aria-checked]="selected"
|
|
282
|
-
(click)="onOptionClick($event)"
|
|
283
|
-
(mouseenter)="onOptionMouseEnter($event)"
|
|
284
|
-
>
|
|
285
|
-
<p-checkbox [ngModel]="selected" [binary]="true" [tabindex]="-1" [variant]="variant" [ariaLabel]="label">
|
|
286
|
-
<ng-container *ngIf="itemCheckboxIconTemplate">
|
|
287
|
-
<ng-template #icon let-klass="class">
|
|
288
|
-
<ng-template *ngTemplateOutlet="itemCheckboxIconTemplate; context: { checked: selected, class: klass }"></ng-template>
|
|
289
|
-
</ng-template>
|
|
290
|
-
</ng-container>
|
|
291
|
-
</p-checkbox>
|
|
292
|
-
<span *ngIf="!template">{{ label ?? 'empty' }}</span>
|
|
293
|
-
<ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
|
|
294
|
-
</li>
|
|
264
|
+
<p-checkbox [ngModel]="selected" [binary]="true" [tabindex]="-1" [variant]="variant" [ariaLabel]="label" [pt]="getPTOptions('pcOptionCheckbox')">
|
|
265
|
+
<ng-container *ngIf="itemCheckboxIconTemplate">
|
|
266
|
+
<ng-template #icon let-klass="class">
|
|
267
|
+
<ng-template *ngTemplateOutlet="itemCheckboxIconTemplate; context: { checked: selected, class: klass }"></ng-template>
|
|
268
|
+
</ng-template>
|
|
269
|
+
</ng-container>
|
|
270
|
+
</p-checkbox>
|
|
271
|
+
<span *ngIf="!template">{{ label ?? 'empty' }}</span>
|
|
272
|
+
<ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
|
|
295
273
|
`,
|
|
296
274
|
encapsulation: ViewEncapsulation.None,
|
|
297
|
-
providers: [MultiSelectStyle]
|
|
275
|
+
providers: [MultiSelectStyle],
|
|
276
|
+
host: {
|
|
277
|
+
'[style.height.px]': 'itemSize',
|
|
278
|
+
'[attr.aria-label]': 'label',
|
|
279
|
+
role: 'option',
|
|
280
|
+
'[attr.aria-setsize]': 'ariaSetSize',
|
|
281
|
+
'[attr.aria-posinset]': 'ariaPosInset',
|
|
282
|
+
'[attr.aria-selected]': 'selected',
|
|
283
|
+
'[attr.data-p-focused]': 'focused',
|
|
284
|
+
'[attr.data-p-highlight]': 'selected',
|
|
285
|
+
'[attr.data-p-disabled]': 'disabled',
|
|
286
|
+
'[attr.aria-checked]': 'selected',
|
|
287
|
+
'(click)': 'onOptionClick($event)',
|
|
288
|
+
'(mouseenter)': 'onOptionMouseEnter($event)',
|
|
289
|
+
'[class]': "cx('option')"
|
|
290
|
+
}
|
|
298
291
|
}]
|
|
299
|
-
}], propDecorators: {
|
|
300
|
-
type: Input
|
|
301
|
-
}], option: [{
|
|
292
|
+
}], propDecorators: { option: [{
|
|
302
293
|
type: Input
|
|
303
294
|
}], selected: [{
|
|
304
295
|
type: Input,
|
|
@@ -402,7 +393,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
402
393
|
* Specifies the visibility of the options panel.
|
|
403
394
|
* @group Props
|
|
404
395
|
*/
|
|
405
|
-
overlayVisible;
|
|
396
|
+
overlayVisible = false;
|
|
406
397
|
/**
|
|
407
398
|
* Index of the element in tabbing order.
|
|
408
399
|
* @group Props
|
|
@@ -435,7 +426,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
435
426
|
* @defaultValue 3
|
|
436
427
|
*/
|
|
437
428
|
set maxSelectedLabels(val) {
|
|
438
|
-
this._maxSelectedLabels = val;
|
|
429
|
+
this._maxSelectedLabels = val || 0;
|
|
439
430
|
}
|
|
440
431
|
get maxSelectedLabels() {
|
|
441
432
|
return this._maxSelectedLabels;
|
|
@@ -629,7 +620,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
629
620
|
}
|
|
630
621
|
set options(val) {
|
|
631
622
|
if (!deepEquals(this._options(), val)) {
|
|
632
|
-
this._options.set(val);
|
|
623
|
+
this._options.set(val || []);
|
|
633
624
|
}
|
|
634
625
|
}
|
|
635
626
|
/**
|
|
@@ -777,6 +768,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
777
768
|
footerFacet;
|
|
778
769
|
headerFacet;
|
|
779
770
|
_componentStyle = inject(MultiSelectStyle);
|
|
771
|
+
bindDirectiveInstance = inject(Bind, { self: true });
|
|
780
772
|
searchValue;
|
|
781
773
|
searchTimeout;
|
|
782
774
|
_selectAll = null;
|
|
@@ -823,11 +815,12 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
823
815
|
_headerCheckboxIconTemplate;
|
|
824
816
|
$variant = computed(() => this.variant() || this.config.inputStyle() || this.config.inputVariant(), ...(ngDevMode ? [{ debugName: "$variant" }] : []));
|
|
825
817
|
$appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo(), ...(ngDevMode ? [{ debugName: "$appendTo" }] : []));
|
|
818
|
+
$pcMultiSelect = inject(MULTISELECT_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
|
|
826
819
|
pcFluid = inject(Fluid, { optional: true, host: true, skipSelf: true });
|
|
827
820
|
get hasFluid() {
|
|
828
821
|
return this.fluid() ?? !!this.pcFluid;
|
|
829
822
|
}
|
|
830
|
-
|
|
823
|
+
onAfterContentInit() {
|
|
831
824
|
this.templates.forEach((item) => {
|
|
832
825
|
switch (item.getType()) {
|
|
833
826
|
case 'item':
|
|
@@ -897,7 +890,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
897
890
|
_maxSelectedLabels = 3;
|
|
898
891
|
modelValue = signal(null, ...(ngDevMode ? [{ debugName: "modelValue" }] : []));
|
|
899
892
|
_filterValue = signal(null, ...(ngDevMode ? [{ debugName: "_filterValue" }] : []));
|
|
900
|
-
_options = signal(
|
|
893
|
+
_options = signal([], ...(ngDevMode ? [{ debugName: "_options" }] : []));
|
|
901
894
|
startRangeIndex = signal(-1, ...(ngDevMode ? [{ debugName: "startRangeIndex" }] : []));
|
|
902
895
|
focusedOptionIndex = signal(-1, ...(ngDevMode ? [{ debugName: "focusedOptionIndex" }] : []));
|
|
903
896
|
selectedOptions;
|
|
@@ -952,8 +945,8 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
952
945
|
label = computed(() => {
|
|
953
946
|
let label;
|
|
954
947
|
const modelValue = this.modelValue();
|
|
955
|
-
if (modelValue && modelValue
|
|
956
|
-
if (isNotEmpty(this.maxSelectedLabels) && modelValue
|
|
948
|
+
if (modelValue && modelValue?.length && this.displaySelectedLabel) {
|
|
949
|
+
if (isNotEmpty(this.maxSelectedLabels) && modelValue?.length > (this.maxSelectedLabels || 0)) {
|
|
957
950
|
return this.getSelectedItemsLabel();
|
|
958
951
|
}
|
|
959
952
|
else {
|
|
@@ -972,7 +965,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
972
965
|
return label;
|
|
973
966
|
}, ...(ngDevMode ? [{ debugName: "label" }] : []));
|
|
974
967
|
chipSelectedItems = computed(() => {
|
|
975
|
-
return isNotEmpty(this.maxSelectedLabels) && this.modelValue() && this.modelValue()
|
|
968
|
+
return isNotEmpty(this.maxSelectedLabels) && this.modelValue() && this.modelValue()?.length > (this.maxSelectedLabels || 0) ? this.modelValue()?.slice(0, this.maxSelectedLabels) : this.modelValue();
|
|
976
969
|
}, ...(ngDevMode ? [{ debugName: "chipSelectedItems" }] : []));
|
|
977
970
|
constructor(zone, filterService, overlayService) {
|
|
978
971
|
super();
|
|
@@ -993,8 +986,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
993
986
|
}
|
|
994
987
|
});
|
|
995
988
|
}
|
|
996
|
-
|
|
997
|
-
super.ngOnInit();
|
|
989
|
+
onInit() {
|
|
998
990
|
this.id = this.id || uuid('pn_id_');
|
|
999
991
|
this.autoUpdateModel();
|
|
1000
992
|
if (this.filterBy) {
|
|
@@ -1007,13 +999,13 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1007
999
|
maxSelectionLimitReached() {
|
|
1008
1000
|
return this.selectionLimit && this.modelValue() && this.modelValue().length === this.selectionLimit;
|
|
1009
1001
|
}
|
|
1010
|
-
|
|
1011
|
-
super.ngAfterViewInit();
|
|
1002
|
+
onAfterViewInit() {
|
|
1012
1003
|
if (this.overlayVisible) {
|
|
1013
1004
|
this.show();
|
|
1014
1005
|
}
|
|
1015
1006
|
}
|
|
1016
|
-
|
|
1007
|
+
onAfterViewChecked() {
|
|
1008
|
+
this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
|
|
1017
1009
|
if (this.filtered) {
|
|
1018
1010
|
this.zone.runOutsideAngular(() => {
|
|
1019
1011
|
setTimeout(() => {
|
|
@@ -1058,9 +1050,9 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1058
1050
|
return;
|
|
1059
1051
|
}
|
|
1060
1052
|
let selected = this.isSelected(option);
|
|
1061
|
-
let value =
|
|
1053
|
+
let value = [];
|
|
1062
1054
|
if (selected) {
|
|
1063
|
-
value = this.modelValue().filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey()));
|
|
1055
|
+
value = this.modelValue().filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey() || ''));
|
|
1064
1056
|
}
|
|
1065
1057
|
else {
|
|
1066
1058
|
value = [...(this.modelValue() || []), this.getOptionValue(option)];
|
|
@@ -1139,7 +1131,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1139
1131
|
return this.isValidOption(option) && this.isSelected(option);
|
|
1140
1132
|
}
|
|
1141
1133
|
isOptionGroup(option) {
|
|
1142
|
-
return (this.group || this.optionGroupLabel) && option.optionGroup && option.group;
|
|
1134
|
+
return option && (this.group || this.optionGroupLabel) && option.optionGroup && option.group;
|
|
1143
1135
|
}
|
|
1144
1136
|
isValidOption(option) {
|
|
1145
1137
|
return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
|
|
@@ -1152,10 +1144,10 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1152
1144
|
}
|
|
1153
1145
|
isSelected(option) {
|
|
1154
1146
|
const optionValue = this.getOptionValue(option);
|
|
1155
|
-
return (this.modelValue() || []).some((value) => equals(value, optionValue, this.equalityKey()));
|
|
1147
|
+
return (this.modelValue() || []).some((value) => equals(value, optionValue, this.equalityKey() || ''));
|
|
1156
1148
|
}
|
|
1157
1149
|
isOptionMatched(option) {
|
|
1158
|
-
return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue
|
|
1150
|
+
return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale));
|
|
1159
1151
|
}
|
|
1160
1152
|
isEmpty() {
|
|
1161
1153
|
return !this._options() || (this.visibleOptions() && this.visibleOptions().length === 0);
|
|
@@ -1176,7 +1168,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1176
1168
|
}
|
|
1177
1169
|
getLabelByValue(value) {
|
|
1178
1170
|
const options = this.group ? this.flatOptions(this._options()) : this._options() || [];
|
|
1179
|
-
const matchedOption = options.find((option) => !this.isOptionGroup(option) && equals(this.getOptionValue(option), value, this.equalityKey()));
|
|
1171
|
+
const matchedOption = options.find((option) => !this.isOptionGroup(option) && equals(this.getOptionValue(option), value, this.equalityKey() || ''));
|
|
1180
1172
|
return matchedOption ? this.getOptionLabel(matchedOption) : null;
|
|
1181
1173
|
}
|
|
1182
1174
|
getSelectedItemsLabel() {
|
|
@@ -1197,7 +1189,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1197
1189
|
return this.optionGroupLabel ? resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label != undefined ? optionGroup.label : optionGroup;
|
|
1198
1190
|
}
|
|
1199
1191
|
getOptionGroupChildren(optionGroup) {
|
|
1200
|
-
return this.optionGroupChildren ? resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;
|
|
1192
|
+
return optionGroup ? (this.optionGroupChildren ? resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items) : [];
|
|
1201
1193
|
}
|
|
1202
1194
|
onKeyDown(event) {
|
|
1203
1195
|
if (this.$disabled()) {
|
|
@@ -1380,14 +1372,16 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1380
1372
|
event.preventDefault();
|
|
1381
1373
|
}
|
|
1382
1374
|
onEscapeKey(event) {
|
|
1383
|
-
this.overlayVisible
|
|
1384
|
-
|
|
1385
|
-
|
|
1375
|
+
if (this.overlayVisible) {
|
|
1376
|
+
this.hide(true);
|
|
1377
|
+
event.stopPropagation();
|
|
1378
|
+
event.preventDefault();
|
|
1379
|
+
}
|
|
1386
1380
|
}
|
|
1387
1381
|
onTabKey(event, pressedInInputText = false) {
|
|
1388
1382
|
if (!pressedInInputText) {
|
|
1389
1383
|
if (this.overlayVisible && this.hasFocusableElements()) {
|
|
1390
|
-
focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay
|
|
1384
|
+
focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay?.nativeElement : this.firstHiddenFocusableElementOnOverlay?.nativeElement);
|
|
1391
1385
|
event.preventDefault();
|
|
1392
1386
|
}
|
|
1393
1387
|
else {
|
|
@@ -1403,7 +1397,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1403
1397
|
this.startRangeIndex.set(this.focusedOptionIndex());
|
|
1404
1398
|
}
|
|
1405
1399
|
onContainerClick(event) {
|
|
1406
|
-
if (this.$disabled() || this.loading || this.readonly || event.target
|
|
1400
|
+
if (this.$disabled() || this.loading || this.readonly || event.target?.isSameNode?.(this.focusInputViewChild?.nativeElement)) {
|
|
1407
1401
|
return;
|
|
1408
1402
|
}
|
|
1409
1403
|
if (!this.overlayViewChild || !this.overlayViewChild.el.nativeElement.contains(event.target)) {
|
|
@@ -1444,9 +1438,9 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1444
1438
|
this._filterValue.set(value);
|
|
1445
1439
|
this.focusedOptionIndex.set(-1);
|
|
1446
1440
|
this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });
|
|
1447
|
-
!this.virtualScrollerDisabled && this.scroller
|
|
1441
|
+
!this.virtualScrollerDisabled && this.scroller?.scrollToIndex(0);
|
|
1448
1442
|
setTimeout(() => {
|
|
1449
|
-
this.overlayViewChild
|
|
1443
|
+
this.overlayViewChild?.alignOverlay();
|
|
1450
1444
|
});
|
|
1451
1445
|
}
|
|
1452
1446
|
onLastHiddenFocus(event) {
|
|
@@ -1490,7 +1484,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1490
1484
|
}
|
|
1491
1485
|
}
|
|
1492
1486
|
if (this.partialSelected()) {
|
|
1493
|
-
this.selectedOptions =
|
|
1487
|
+
this.selectedOptions = [];
|
|
1494
1488
|
this.cd.markForCheck();
|
|
1495
1489
|
}
|
|
1496
1490
|
this.onChange.emit({ originalEvent: event, value: this.value });
|
|
@@ -1529,7 +1523,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1529
1523
|
return this.selectAll !== null ? this.selectAll : isNotEmpty(this.visibleOptions()) && this.visibleOptions().every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));
|
|
1530
1524
|
}
|
|
1531
1525
|
partialSelected() {
|
|
1532
|
-
return this.selectedOptions && this.selectedOptions.length > 0 && this.selectedOptions.length < this.options
|
|
1526
|
+
return this.selectedOptions && this.selectedOptions.length > 0 && this.selectedOptions.length < (this.options?.length || 0);
|
|
1533
1527
|
}
|
|
1534
1528
|
/**
|
|
1535
1529
|
* Displays the panel.
|
|
@@ -1599,15 +1593,23 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1599
1593
|
this._filterValue.set(null);
|
|
1600
1594
|
this._filteredOptions = null;
|
|
1601
1595
|
}
|
|
1596
|
+
onOverlayHide(event) {
|
|
1597
|
+
// Called when overlay completes its hide animation
|
|
1598
|
+
// Don't call hide() again to avoid recursive calls
|
|
1599
|
+
this.focusedOptionIndex.set(-1);
|
|
1600
|
+
if (this.filter && this.resetFilterOnHide) {
|
|
1601
|
+
this.resetFilter();
|
|
1602
|
+
}
|
|
1603
|
+
}
|
|
1602
1604
|
close(event) {
|
|
1603
1605
|
this.hide();
|
|
1604
1606
|
event.preventDefault();
|
|
1605
1607
|
event.stopPropagation();
|
|
1606
1608
|
}
|
|
1607
1609
|
clear(event) {
|
|
1608
|
-
this.value =
|
|
1610
|
+
this.value = [];
|
|
1609
1611
|
this.updateModel(null, event);
|
|
1610
|
-
this.selectedOptions =
|
|
1612
|
+
this.selectedOptions = [];
|
|
1611
1613
|
this.onClear.emit();
|
|
1612
1614
|
this._disableTooltip = true;
|
|
1613
1615
|
event.stopPropagation();
|
|
@@ -1617,7 +1619,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1617
1619
|
this._disableTooltip = false;
|
|
1618
1620
|
}
|
|
1619
1621
|
removeOption(optionValue, event) {
|
|
1620
|
-
let value = this.modelValue().filter((val) => !equals(val, optionValue, this.equalityKey()));
|
|
1622
|
+
let value = this.modelValue().filter((val) => !equals(val, optionValue, this.equalityKey() || ''));
|
|
1621
1623
|
this.updateModel(value, event);
|
|
1622
1624
|
this.onChange.emit({
|
|
1623
1625
|
originalEvent: event,
|
|
@@ -1689,7 +1691,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1689
1691
|
return matched;
|
|
1690
1692
|
}
|
|
1691
1693
|
hasFocusableElements() {
|
|
1692
|
-
return getFocusableElements(this.overlayViewChild
|
|
1694
|
+
return getFocusableElements(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-p-hidden-focusable="true"])').length > 0;
|
|
1693
1695
|
}
|
|
1694
1696
|
hasFilter() {
|
|
1695
1697
|
return this._filterValue() && this._filterValue().trim().length > 0;
|
|
@@ -1705,9 +1707,25 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1705
1707
|
setModelValue(value);
|
|
1706
1708
|
this.cd.markForCheck();
|
|
1707
1709
|
}
|
|
1708
|
-
|
|
1709
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: MultiSelect, isStandalone: true, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: false, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterPlaceHolder: { classPropertyName: "filterPlaceHolder", publicName: "filterPlaceHolder", isSignal: false, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: false, isRequired: false, transformFunction: null }, overlayVisible: { classPropertyName: "overlayVisible", publicName: "overlayVisible", 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 }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, displaySelectedLabel: { classPropertyName: "displaySelectedLabel", publicName: "displaySelectedLabel", isSignal: false, isRequired: false, transformFunction: null }, maxSelectedLabels: { classPropertyName: "maxSelectedLabels", publicName: "maxSelectedLabels", isSignal: false, isRequired: false, transformFunction: null }, selectionLimit: { classPropertyName: "selectionLimit", publicName: "selectionLimit", isSignal: false, isRequired: false, transformFunction: numberAttribute }, selectedItemsLabel: { classPropertyName: "selectedItemsLabel", publicName: "selectedItemsLabel", isSignal: false, isRequired: false, transformFunction: null }, showToggleAll: { classPropertyName: "showToggleAll", publicName: "showToggleAll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, emptyFilterMessage: { classPropertyName: "emptyFilterMessage", publicName: "emptyFilterMessage", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: false, isRequired: false, transformFunction: null }, chipIcon: { classPropertyName: "chipIcon", publicName: "chipIcon", 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 }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: false, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: false, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: false, isRequired: false, transformFunction: null }, 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 }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: false, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: false, isRequired: false, transformFunction: null }, ariaFilterLabel: { classPropertyName: "ariaFilterLabel", publicName: "ariaFilterLabel", isSignal: false, isRequired: false, transformFunction: null }, filterMatchMode: { classPropertyName: "filterMatchMode", publicName: "filterMatchMode", isSignal: false, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: false, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: false, isRequired: false, transformFunction: null }, tooltipPositionStyle: { classPropertyName: "tooltipPositionStyle", publicName: "tooltipPositionStyle", isSignal: false, isRequired: false, transformFunction: null }, tooltipStyleClass: { classPropertyName: "tooltipStyleClass", publicName: "tooltipStyleClass", isSignal: false, isRequired: false, transformFunction: null }, autofocusFilter: { classPropertyName: "autofocusFilter", publicName: "autofocusFilter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, display: { classPropertyName: "display", publicName: "display", isSignal: false, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: false, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: false, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: false, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: false, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, highlightOnSelect: { classPropertyName: "highlightOnSelect", publicName: "highlightOnSelect", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onClear: "onClear", onPanelShow: "onPanelShow", onPanelHide: "onPanelHide", onLazyLoad: "onLazyLoad", onRemove: "onRemove", onSelectAllChange: "onSelectAllChange" }, host: { listeners: { "click": "onContainerClick($event)" }, properties: { "attr.id": "id", "class": "cn(cx('root'), styleClass)", "style": "sx('root')" } }, providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle], queries: [{ propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "groupTemplate", first: true, predicate: ["group"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "emptyFilterTemplate", first: true, predicate: ["emptyfilter"] }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"] }, { propertyName: "selectedItemsTemplate", first: true, predicate: ["selecteditems"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "removeTokenIconTemplate", first: true, predicate: ["removetokenicon"] }, { propertyName: "chipIconTemplate", first: true, predicate: ["chipicon"] }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"] }, { propertyName: "itemCheckboxIconTemplate", first: true, predicate: ["itemcheckboxicon"] }, { propertyName: "headerCheckboxIconTemplate", first: true, predicate: ["headercheckboxicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "filterInputChild", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true }, { propertyName: "headerCheckboxViewChild", first: true, predicate: ["headerCheckbox"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
1710
|
-
|
|
1710
|
+
getHeaderCheckboxPTOptions(key) {
|
|
1711
|
+
return this.ptm(key, {
|
|
1712
|
+
context: {
|
|
1713
|
+
selected: this.allSelected()
|
|
1714
|
+
}
|
|
1715
|
+
});
|
|
1716
|
+
}
|
|
1717
|
+
getPTOptions(option, itemOptions, index, key) {
|
|
1718
|
+
return this.ptm(key, {
|
|
1719
|
+
context: {
|
|
1720
|
+
selected: this.isSelected(option),
|
|
1721
|
+
focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),
|
|
1722
|
+
disabled: this.isOptionDisabled(option)
|
|
1723
|
+
}
|
|
1724
|
+
});
|
|
1725
|
+
}
|
|
1726
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelect, deps: [{ token: i0.NgZone }, { token: i3.FilterService }, { token: i3.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1727
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: MultiSelect, isStandalone: true, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: false, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterPlaceHolder: { classPropertyName: "filterPlaceHolder", publicName: "filterPlaceHolder", isSignal: false, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: false, isRequired: false, transformFunction: null }, overlayVisible: { classPropertyName: "overlayVisible", publicName: "overlayVisible", 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 }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, displaySelectedLabel: { classPropertyName: "displaySelectedLabel", publicName: "displaySelectedLabel", isSignal: false, isRequired: false, transformFunction: null }, maxSelectedLabels: { classPropertyName: "maxSelectedLabels", publicName: "maxSelectedLabels", isSignal: false, isRequired: false, transformFunction: null }, selectionLimit: { classPropertyName: "selectionLimit", publicName: "selectionLimit", isSignal: false, isRequired: false, transformFunction: numberAttribute }, selectedItemsLabel: { classPropertyName: "selectedItemsLabel", publicName: "selectedItemsLabel", isSignal: false, isRequired: false, transformFunction: null }, showToggleAll: { classPropertyName: "showToggleAll", publicName: "showToggleAll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, emptyFilterMessage: { classPropertyName: "emptyFilterMessage", publicName: "emptyFilterMessage", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: false, isRequired: false, transformFunction: null }, chipIcon: { classPropertyName: "chipIcon", publicName: "chipIcon", 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 }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: false, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: false, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: false, isRequired: false, transformFunction: null }, 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 }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: false, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: false, isRequired: false, transformFunction: null }, ariaFilterLabel: { classPropertyName: "ariaFilterLabel", publicName: "ariaFilterLabel", isSignal: false, isRequired: false, transformFunction: null }, filterMatchMode: { classPropertyName: "filterMatchMode", publicName: "filterMatchMode", isSignal: false, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: false, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: false, isRequired: false, transformFunction: null }, tooltipPositionStyle: { classPropertyName: "tooltipPositionStyle", publicName: "tooltipPositionStyle", isSignal: false, isRequired: false, transformFunction: null }, tooltipStyleClass: { classPropertyName: "tooltipStyleClass", publicName: "tooltipStyleClass", isSignal: false, isRequired: false, transformFunction: null }, autofocusFilter: { classPropertyName: "autofocusFilter", publicName: "autofocusFilter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, display: { classPropertyName: "display", publicName: "display", isSignal: false, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: false, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: false, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: false, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: false, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, highlightOnSelect: { classPropertyName: "highlightOnSelect", publicName: "highlightOnSelect", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onClear: "onClear", onPanelShow: "onPanelShow", onPanelHide: "onPanelHide", onLazyLoad: "onLazyLoad", onRemove: "onRemove", onSelectAllChange: "onSelectAllChange" }, host: { listeners: { "click": "onContainerClick($event)" }, properties: { "attr.id": "id", "class": "cn(cx('root'), styleClass)", "style": "sx('root')" } }, providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle, { provide: MULTISELECT_INSTANCE, useExisting: MultiSelect }, { provide: PARENT_INSTANCE, useExisting: MultiSelect }], queries: [{ propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "groupTemplate", first: true, predicate: ["group"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "emptyFilterTemplate", first: true, predicate: ["emptyfilter"] }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"] }, { propertyName: "selectedItemsTemplate", first: true, predicate: ["selecteditems"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "removeTokenIconTemplate", first: true, predicate: ["removetokenicon"] }, { propertyName: "chipIconTemplate", first: true, predicate: ["chipicon"] }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"] }, { propertyName: "itemCheckboxIconTemplate", first: true, predicate: ["itemcheckboxicon"] }, { propertyName: "headerCheckboxIconTemplate", first: true, predicate: ["headercheckboxicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "filterInputChild", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true }, { propertyName: "headerCheckboxViewChild", first: true, predicate: ["headerCheckbox"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i4.Bind }], ngImport: i0, template: `
|
|
1728
|
+
<div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true" [pBind]="ptm('hiddenInputContainer')">
|
|
1711
1729
|
<input
|
|
1712
1730
|
#focusInput
|
|
1713
1731
|
[pTooltip]="tooltip"
|
|
@@ -1732,9 +1750,11 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1732
1750
|
[attr.name]="name()"
|
|
1733
1751
|
[attr.required]="required() ? '' : undefined"
|
|
1734
1752
|
[attr.disabled]="$disabled() ? '' : undefined"
|
|
1753
|
+
[pBind]="ptm('hiddenInput')"
|
|
1735
1754
|
/>
|
|
1736
1755
|
</div>
|
|
1737
1756
|
<div
|
|
1757
|
+
[pBind]="ptm('labelContainer')"
|
|
1738
1758
|
[class]="cx('labelContainer')"
|
|
1739
1759
|
[pTooltip]="tooltip"
|
|
1740
1760
|
(mouseleave)="labelContainerMouseLeave()"
|
|
@@ -1743,15 +1763,15 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1743
1763
|
[positionStyle]="tooltipPositionStyle"
|
|
1744
1764
|
[tooltipStyleClass]="tooltipStyleClass"
|
|
1745
1765
|
>
|
|
1746
|
-
<div [class]="cx('label')">
|
|
1766
|
+
<div [pBind]="ptm('label')" [class]="cx('label')">
|
|
1747
1767
|
<ng-container *ngIf="!selectedItemsTemplate && !_selectedItemsTemplate">
|
|
1748
1768
|
<ng-container *ngIf="display === 'comma'">{{ label() || 'empty' }}</ng-container>
|
|
1749
1769
|
<ng-container *ngIf="display === 'chip'">
|
|
1750
1770
|
@if (chipSelectedItems() && chipSelectedItems().length === maxSelectedLabels) {
|
|
1751
1771
|
{{ getSelectedItemsLabel() }}
|
|
1752
1772
|
} @else {
|
|
1753
|
-
<div #token *ngFor="let item of chipSelectedItems(); let i = index" [class]="cx('chipItem')">
|
|
1754
|
-
<p-chip [class]="cx('pcChip')" [label]="getLabelByValue(item)" [removable]="!$disabled() && !readonly" (onRemove)="removeOption(item, $event)" [removeIcon]="chipIcon">
|
|
1773
|
+
<div #token *ngFor="let item of chipSelectedItems(); let i = index" [pBind]="ptm('chipItem')" [class]="cx('chipItem')">
|
|
1774
|
+
<p-chip [pt]="ptm('pcChip')" [class]="cx('pcChip')" [label]="getLabelByValue(item)" [removable]="!$disabled() && !readonly" (onRemove)="removeOption(item, $event)" [removeIcon]="chipIcon">
|
|
1755
1775
|
<ng-container *ngIf="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate">
|
|
1756
1776
|
<ng-template #removeicon>
|
|
1757
1777
|
<ng-container *ngIf="!$disabled() && !readonly">
|
|
@@ -1759,8 +1779,8 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1759
1779
|
[class]="cx('chipIcon')"
|
|
1760
1780
|
*ngIf="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate"
|
|
1761
1781
|
(click)="removeOption(item, $event)"
|
|
1762
|
-
[attr.data-pc-section]="'clearicon'"
|
|
1763
1782
|
[attr.aria-hidden]="true"
|
|
1783
|
+
[pBind]="ptm('chipIcon')"
|
|
1764
1784
|
>
|
|
1765
1785
|
<ng-container *ngTemplateOutlet="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate; context: { class: 'p-multiselect-chip-icon' }"></ng-container>
|
|
1766
1786
|
</span>
|
|
@@ -1780,34 +1800,44 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1780
1800
|
</div>
|
|
1781
1801
|
</div>
|
|
1782
1802
|
<ng-container *ngIf="isVisibleClearIcon">
|
|
1783
|
-
<svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)" [attr.
|
|
1784
|
-
<span *ngIf="clearIconTemplate || _clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)" [attr.
|
|
1803
|
+
<svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear($event)" [attr.aria-hidden]="true" />
|
|
1804
|
+
<span *ngIf="clearIconTemplate || _clearIconTemplate" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear($event)" [attr.aria-hidden]="true">
|
|
1785
1805
|
<ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate"></ng-template>
|
|
1786
1806
|
</span>
|
|
1787
1807
|
</ng-container>
|
|
1788
|
-
<div [class]="cx('dropdown')">
|
|
1808
|
+
<div [pBind]="ptm('dropdown')" [class]="cx('dropdown')">
|
|
1789
1809
|
<ng-container *ngIf="loading; else elseBlock">
|
|
1790
1810
|
<ng-container *ngIf="loadingIconTemplate || _loadingIconTemplate">
|
|
1791
1811
|
<ng-container *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-container>
|
|
1792
1812
|
</ng-container>
|
|
1793
1813
|
<ng-container *ngIf="!loadingIconTemplate && !_loadingIconTemplate">
|
|
1794
|
-
<span *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin ' + loadingIcon)" [attr.aria-hidden]="true"></span>
|
|
1795
|
-
<span *ngIf="!loadingIcon" [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" [attr.aria-hidden]="true"></span>
|
|
1814
|
+
<span *ngIf="loadingIcon" [pBind]="ptm('loadingIcon')" [class]="cn(cx('loadingIcon'), 'pi-spin ' + loadingIcon)" [attr.aria-hidden]="true"></span>
|
|
1815
|
+
<span *ngIf="!loadingIcon" [pBind]="ptm('loadingIcon')" [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" [attr.aria-hidden]="true"></span>
|
|
1796
1816
|
</ng-container>
|
|
1797
1817
|
</ng-container>
|
|
1798
1818
|
<ng-template #elseBlock>
|
|
1799
1819
|
<ng-container *ngIf="!dropdownIconTemplate && !_dropdownIconTemplate">
|
|
1800
|
-
<span *ngIf="dropdownIcon" [
|
|
1801
|
-
<svg data-p-icon="chevron-down" *ngIf="!dropdownIcon" [
|
|
1820
|
+
<span *ngIf="dropdownIcon" [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [ngClass]="dropdownIcon" [attr.aria-hidden]="true"></span>
|
|
1821
|
+
<svg data-p-icon="chevron-down" *ngIf="!dropdownIcon" [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [attr.aria-hidden]="true" />
|
|
1802
1822
|
</ng-container>
|
|
1803
|
-
<span *ngIf="dropdownIconTemplate || _dropdownIconTemplate" [
|
|
1823
|
+
<span *ngIf="dropdownIconTemplate || _dropdownIconTemplate" [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [attr.aria-hidden]="true">
|
|
1804
1824
|
<ng-template *ngTemplateOutlet="dropdownIconTemplate || _dropdownIconTemplate"></ng-template>
|
|
1805
1825
|
</span>
|
|
1806
1826
|
</ng-template>
|
|
1807
1827
|
</div>
|
|
1808
|
-
<p-overlay
|
|
1828
|
+
<p-overlay
|
|
1829
|
+
#overlay
|
|
1830
|
+
[hostAttrSelector]="$attrSelector"
|
|
1831
|
+
[(visible)]="overlayVisible"
|
|
1832
|
+
[options]="overlayOptions"
|
|
1833
|
+
[target]="'@parent'"
|
|
1834
|
+
[appendTo]="$appendTo()"
|
|
1835
|
+
(onAnimationStart)="onOverlayAnimationStart($event)"
|
|
1836
|
+
(onHide)="onOverlayHide($event)"
|
|
1837
|
+
[pt]="ptm('pcOverlay')"
|
|
1838
|
+
>
|
|
1809
1839
|
<ng-template #content>
|
|
1810
|
-
<div [attr.id]="id + '_list'" [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
|
|
1840
|
+
<div [pBind]="ptm('overlay')" [attr.id]="id + '_list'" [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
|
|
1811
1841
|
<span
|
|
1812
1842
|
#firstHiddenFocusableEl
|
|
1813
1843
|
role="presentation"
|
|
@@ -1816,16 +1846,18 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1816
1846
|
(focus)="onFirstHiddenFocus($event)"
|
|
1817
1847
|
[attr.data-p-hidden-accessible]="true"
|
|
1818
1848
|
[attr.data-p-hidden-focusable]="true"
|
|
1849
|
+
[pBind]="ptm('firstHiddenFocusableEl')"
|
|
1819
1850
|
>
|
|
1820
1851
|
</span>
|
|
1821
1852
|
<ng-container *ngTemplateOutlet="headerTemplate || _headerTemplate"></ng-container>
|
|
1822
|
-
<div [class]="cx('header')" *ngIf="showHeader">
|
|
1853
|
+
<div [pBind]="ptm('header')" [class]="cx('header')" *ngIf="showHeader">
|
|
1823
1854
|
<ng-content select="p-header"></ng-content>
|
|
1824
1855
|
<ng-container *ngIf="filterTemplate || _filterTemplate; else builtInFilterElement">
|
|
1825
1856
|
<ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { options: filterOptions }"></ng-container>
|
|
1826
1857
|
</ng-container>
|
|
1827
1858
|
<ng-template #builtInFilterElement>
|
|
1828
1859
|
<p-checkbox
|
|
1860
|
+
[pt]="getHeaderCheckboxPTOptions('pcHeaderCheckbox')"
|
|
1829
1861
|
[ngModel]="allSelected()"
|
|
1830
1862
|
[ariaLabel]="toggleAllAriaLabel"
|
|
1831
1863
|
[binary]="true"
|
|
@@ -1836,7 +1868,7 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1836
1868
|
#headerCheckbox
|
|
1837
1869
|
>
|
|
1838
1870
|
<ng-template #icon let-klass="class">
|
|
1839
|
-
<svg data-p-icon="check" *ngIf="!headerCheckboxIconTemplate && !_headerCheckboxIconTemplate && allSelected()" [class]="klass" [
|
|
1871
|
+
<svg data-p-icon="check" *ngIf="!headerCheckboxIconTemplate && !_headerCheckboxIconTemplate && allSelected()" [class]="klass" [pBind]="getHeaderCheckboxPTOptions('pcHeaderCheckbox.icon')" />
|
|
1840
1872
|
<ng-template
|
|
1841
1873
|
*ngTemplateOutlet="
|
|
1842
1874
|
headerCheckboxIconTemplate || _headerCheckboxIconTemplate;
|
|
@@ -1850,10 +1882,11 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1850
1882
|
</ng-template>
|
|
1851
1883
|
</p-checkbox>
|
|
1852
1884
|
|
|
1853
|
-
<p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')">
|
|
1885
|
+
<p-iconfield *ngIf="filter" [pt]="ptm('pcFilterContainer')" [class]="cx('pcFilterContainer')">
|
|
1854
1886
|
<input
|
|
1855
1887
|
#filterInput
|
|
1856
1888
|
pInputText
|
|
1889
|
+
[pt]="ptm('pcFilter')"
|
|
1857
1890
|
[variant]="$variant()"
|
|
1858
1891
|
type="text"
|
|
1859
1892
|
[attr.autocomplete]="autocomplete"
|
|
@@ -1870,16 +1903,16 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1870
1903
|
[attr.placeholder]="filterPlaceHolder"
|
|
1871
1904
|
[attr.aria-label]="ariaFilterLabel"
|
|
1872
1905
|
/>
|
|
1873
|
-
<p-inputicon>
|
|
1874
|
-
<svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" />
|
|
1875
|
-
<span *ngIf="filterIconTemplate || _filterIconTemplate" class="p-multiselect-filter-icon">
|
|
1906
|
+
<p-inputicon [pt]="ptm('pcFilterIconContainer')">
|
|
1907
|
+
<svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" [pBind]="ptm('filterIcon')" />
|
|
1908
|
+
<span *ngIf="filterIconTemplate || _filterIconTemplate" [pBind]="ptm('filterIcon')" class="p-multiselect-filter-icon">
|
|
1876
1909
|
<ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
|
|
1877
1910
|
</span>
|
|
1878
1911
|
</p-inputicon>
|
|
1879
1912
|
</p-iconfield>
|
|
1880
1913
|
</ng-template>
|
|
1881
1914
|
</div>
|
|
1882
|
-
<div [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
|
|
1915
|
+
<div [pBind]="ptm('listContainer')" [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
|
|
1883
1916
|
<p-scroller
|
|
1884
1917
|
*ngIf="virtualScroll"
|
|
1885
1918
|
#scroller
|
|
@@ -1906,16 +1939,19 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1906
1939
|
</ng-container>
|
|
1907
1940
|
|
|
1908
1941
|
<ng-template #buildInItems let-items let-scrollerOptions="options">
|
|
1909
|
-
<ul #items [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" aria-multiselectable="true" [attr.aria-label]="listLabel">
|
|
1942
|
+
<ul #items [pBind]="ptm('list')" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" aria-multiselectable="true" [attr.aria-label]="listLabel">
|
|
1910
1943
|
<ng-template ngFor let-option [ngForOf]="items" let-i="index">
|
|
1911
1944
|
<ng-container *ngIf="isOptionGroup(option)">
|
|
1912
|
-
<li [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
|
1913
|
-
<span *ngIf="!groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
|
|
1914
|
-
<ng-container *ngTemplateOutlet="groupTemplate
|
|
1945
|
+
<li [pBind]="ptm('optionGroup')" [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
|
1946
|
+
<span *ngIf="!groupTemplate && option.optionGroup">{{ getOptionGroupLabel(option.optionGroup) }}</span>
|
|
1947
|
+
<ng-container *ngIf="option.optionGroup && groupTemplate" [ngTemplateOutlet]="groupTemplate" [ngTemplateOutletContext]="{ $implicit: option.optionGroup }"></ng-container>
|
|
1915
1948
|
</li>
|
|
1916
1949
|
</ng-container>
|
|
1917
1950
|
<ng-container *ngIf="!isOptionGroup(option)">
|
|
1918
|
-
<
|
|
1951
|
+
<li
|
|
1952
|
+
pMultiSelectItem
|
|
1953
|
+
pRipple
|
|
1954
|
+
[pBind]="getPTOptions(option, getItemOptions, i, 'option')"
|
|
1919
1955
|
[id]="id + '_' + getOptionIndex(i, scrollerOptions)"
|
|
1920
1956
|
[option]="option"
|
|
1921
1957
|
[selected]="isSelected(option)"
|
|
@@ -1931,18 +1967,19 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1931
1967
|
[highlightOnSelect]="highlightOnSelect"
|
|
1932
1968
|
(onClick)="onOptionSelect($event, false, getOptionIndex(i, scrollerOptions))"
|
|
1933
1969
|
(onMouseEnter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
|
|
1934
|
-
|
|
1970
|
+
[pt]="pt"
|
|
1971
|
+
></li>
|
|
1935
1972
|
</ng-container>
|
|
1936
1973
|
</ng-template>
|
|
1937
1974
|
|
|
1938
|
-
<li *ngIf="hasFilter() && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
|
1975
|
+
<li *ngIf="hasFilter() && isEmpty()" [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
|
1939
1976
|
@if (!emptyFilterTemplate && !_emptyFilterTemplate && !emptyTemplate && !_emptyTemplate) {
|
|
1940
1977
|
{{ emptyFilterMessageLabel }}
|
|
1941
1978
|
} @else {
|
|
1942
1979
|
<ng-container *ngTemplateOutlet="emptyFilterTemplate || _emptyFilterTemplate || emptyTemplate || _emptyFilterTemplate"></ng-container>
|
|
1943
1980
|
}
|
|
1944
1981
|
</li>
|
|
1945
|
-
<li *ngIf="!hasFilter() && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
|
1982
|
+
<li *ngIf="!hasFilter() && isEmpty()" [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
|
1946
1983
|
@if (!emptyTemplate && !_emptyTemplate) {
|
|
1947
1984
|
{{ emptyMessageLabel }}
|
|
1948
1985
|
} @else {
|
|
@@ -1965,20 +2002,22 @@ class MultiSelect extends BaseEditableHolder {
|
|
|
1965
2002
|
(focus)="onLastHiddenFocus($event)"
|
|
1966
2003
|
[attr.data-p-hidden-accessible]="true"
|
|
1967
2004
|
[attr.data-p-hidden-focusable]="true"
|
|
2005
|
+
[pBind]="ptm('lastHiddenFocusableEl')"
|
|
1968
2006
|
></span>
|
|
1969
2007
|
</div>
|
|
1970
2008
|
</ng-template>
|
|
1971
2009
|
</p-overlay>
|
|
1972
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: MultiSelectItem, selector: "
|
|
2010
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: MultiSelectItem, selector: "li[pMultiSelectItem]", inputs: ["option", "selected", "label", "disabled", "itemSize", "focused", "ariaPosInset", "ariaSetSize", "variant", "template", "checkIconTemplate", "itemCheckboxIconTemplate", "highlightOnSelect"], outputs: ["onClick", "onMouseEnter"] }, { kind: "component", type: Overlay, selector: "p-overlay", inputs: ["hostName", "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: "ngmodule", type: SharedModule }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: ["hostName", "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: CheckIcon, selector: "[data-p-icon=\"check\"]" }, { kind: "component", type: SearchIcon, selector: "[data-p-icon=\"search\"]" }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["hostName", "iconPosition", "styleClass"] }, { kind: "component", type: InputIcon, selector: "p-inputicon, p-inputIcon", inputs: ["hostName", "styleClass"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "disabled", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["hostName", "value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i4.Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1973
2011
|
}
|
|
1974
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
2012
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelect, decorators: [{
|
|
1975
2013
|
type: Component,
|
|
1976
2014
|
args: [{
|
|
1977
2015
|
selector: 'p-multiSelect, p-multiselect, p-multi-select',
|
|
1978
2016
|
standalone: true,
|
|
1979
|
-
imports: [CommonModule, MultiSelectItem, Overlay, SharedModule, Tooltip, Scroller, AutoFocus, CheckIcon, SearchIcon, TimesIcon, ChevronDownIcon, IconField, InputIcon, InputText, Chip, Checkbox, FormsModule],
|
|
2017
|
+
imports: [CommonModule, MultiSelectItem, Overlay, SharedModule, Tooltip, Scroller, AutoFocus, CheckIcon, SearchIcon, TimesIcon, ChevronDownIcon, IconField, InputIcon, InputText, Chip, Checkbox, FormsModule, BindModule],
|
|
2018
|
+
hostDirectives: [Bind],
|
|
1980
2019
|
template: `
|
|
1981
|
-
<div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true">
|
|
2020
|
+
<div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true" [pBind]="ptm('hiddenInputContainer')">
|
|
1982
2021
|
<input
|
|
1983
2022
|
#focusInput
|
|
1984
2023
|
[pTooltip]="tooltip"
|
|
@@ -2003,9 +2042,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
2003
2042
|
[attr.name]="name()"
|
|
2004
2043
|
[attr.required]="required() ? '' : undefined"
|
|
2005
2044
|
[attr.disabled]="$disabled() ? '' : undefined"
|
|
2045
|
+
[pBind]="ptm('hiddenInput')"
|
|
2006
2046
|
/>
|
|
2007
2047
|
</div>
|
|
2008
2048
|
<div
|
|
2049
|
+
[pBind]="ptm('labelContainer')"
|
|
2009
2050
|
[class]="cx('labelContainer')"
|
|
2010
2051
|
[pTooltip]="tooltip"
|
|
2011
2052
|
(mouseleave)="labelContainerMouseLeave()"
|
|
@@ -2014,15 +2055,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
2014
2055
|
[positionStyle]="tooltipPositionStyle"
|
|
2015
2056
|
[tooltipStyleClass]="tooltipStyleClass"
|
|
2016
2057
|
>
|
|
2017
|
-
<div [class]="cx('label')">
|
|
2058
|
+
<div [pBind]="ptm('label')" [class]="cx('label')">
|
|
2018
2059
|
<ng-container *ngIf="!selectedItemsTemplate && !_selectedItemsTemplate">
|
|
2019
2060
|
<ng-container *ngIf="display === 'comma'">{{ label() || 'empty' }}</ng-container>
|
|
2020
2061
|
<ng-container *ngIf="display === 'chip'">
|
|
2021
2062
|
@if (chipSelectedItems() && chipSelectedItems().length === maxSelectedLabels) {
|
|
2022
2063
|
{{ getSelectedItemsLabel() }}
|
|
2023
2064
|
} @else {
|
|
2024
|
-
<div #token *ngFor="let item of chipSelectedItems(); let i = index" [class]="cx('chipItem')">
|
|
2025
|
-
<p-chip [class]="cx('pcChip')" [label]="getLabelByValue(item)" [removable]="!$disabled() && !readonly" (onRemove)="removeOption(item, $event)" [removeIcon]="chipIcon">
|
|
2065
|
+
<div #token *ngFor="let item of chipSelectedItems(); let i = index" [pBind]="ptm('chipItem')" [class]="cx('chipItem')">
|
|
2066
|
+
<p-chip [pt]="ptm('pcChip')" [class]="cx('pcChip')" [label]="getLabelByValue(item)" [removable]="!$disabled() && !readonly" (onRemove)="removeOption(item, $event)" [removeIcon]="chipIcon">
|
|
2026
2067
|
<ng-container *ngIf="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate">
|
|
2027
2068
|
<ng-template #removeicon>
|
|
2028
2069
|
<ng-container *ngIf="!$disabled() && !readonly">
|
|
@@ -2030,8 +2071,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
2030
2071
|
[class]="cx('chipIcon')"
|
|
2031
2072
|
*ngIf="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate"
|
|
2032
2073
|
(click)="removeOption(item, $event)"
|
|
2033
|
-
[attr.data-pc-section]="'clearicon'"
|
|
2034
2074
|
[attr.aria-hidden]="true"
|
|
2075
|
+
[pBind]="ptm('chipIcon')"
|
|
2035
2076
|
>
|
|
2036
2077
|
<ng-container *ngTemplateOutlet="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate; context: { class: 'p-multiselect-chip-icon' }"></ng-container>
|
|
2037
2078
|
</span>
|
|
@@ -2051,34 +2092,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
2051
2092
|
</div>
|
|
2052
2093
|
</div>
|
|
2053
2094
|
<ng-container *ngIf="isVisibleClearIcon">
|
|
2054
|
-
<svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)" [attr.
|
|
2055
|
-
<span *ngIf="clearIconTemplate || _clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)" [attr.
|
|
2095
|
+
<svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear($event)" [attr.aria-hidden]="true" />
|
|
2096
|
+
<span *ngIf="clearIconTemplate || _clearIconTemplate" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear($event)" [attr.aria-hidden]="true">
|
|
2056
2097
|
<ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate"></ng-template>
|
|
2057
2098
|
</span>
|
|
2058
2099
|
</ng-container>
|
|
2059
|
-
<div [class]="cx('dropdown')">
|
|
2100
|
+
<div [pBind]="ptm('dropdown')" [class]="cx('dropdown')">
|
|
2060
2101
|
<ng-container *ngIf="loading; else elseBlock">
|
|
2061
2102
|
<ng-container *ngIf="loadingIconTemplate || _loadingIconTemplate">
|
|
2062
2103
|
<ng-container *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-container>
|
|
2063
2104
|
</ng-container>
|
|
2064
2105
|
<ng-container *ngIf="!loadingIconTemplate && !_loadingIconTemplate">
|
|
2065
|
-
<span *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin ' + loadingIcon)" [attr.aria-hidden]="true"></span>
|
|
2066
|
-
<span *ngIf="!loadingIcon" [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" [attr.aria-hidden]="true"></span>
|
|
2106
|
+
<span *ngIf="loadingIcon" [pBind]="ptm('loadingIcon')" [class]="cn(cx('loadingIcon'), 'pi-spin ' + loadingIcon)" [attr.aria-hidden]="true"></span>
|
|
2107
|
+
<span *ngIf="!loadingIcon" [pBind]="ptm('loadingIcon')" [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" [attr.aria-hidden]="true"></span>
|
|
2067
2108
|
</ng-container>
|
|
2068
2109
|
</ng-container>
|
|
2069
2110
|
<ng-template #elseBlock>
|
|
2070
2111
|
<ng-container *ngIf="!dropdownIconTemplate && !_dropdownIconTemplate">
|
|
2071
|
-
<span *ngIf="dropdownIcon" [
|
|
2072
|
-
<svg data-p-icon="chevron-down" *ngIf="!dropdownIcon" [
|
|
2112
|
+
<span *ngIf="dropdownIcon" [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [ngClass]="dropdownIcon" [attr.aria-hidden]="true"></span>
|
|
2113
|
+
<svg data-p-icon="chevron-down" *ngIf="!dropdownIcon" [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [attr.aria-hidden]="true" />
|
|
2073
2114
|
</ng-container>
|
|
2074
|
-
<span *ngIf="dropdownIconTemplate || _dropdownIconTemplate" [
|
|
2115
|
+
<span *ngIf="dropdownIconTemplate || _dropdownIconTemplate" [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [attr.aria-hidden]="true">
|
|
2075
2116
|
<ng-template *ngTemplateOutlet="dropdownIconTemplate || _dropdownIconTemplate"></ng-template>
|
|
2076
2117
|
</span>
|
|
2077
2118
|
</ng-template>
|
|
2078
2119
|
</div>
|
|
2079
|
-
<p-overlay
|
|
2120
|
+
<p-overlay
|
|
2121
|
+
#overlay
|
|
2122
|
+
[hostAttrSelector]="$attrSelector"
|
|
2123
|
+
[(visible)]="overlayVisible"
|
|
2124
|
+
[options]="overlayOptions"
|
|
2125
|
+
[target]="'@parent'"
|
|
2126
|
+
[appendTo]="$appendTo()"
|
|
2127
|
+
(onAnimationStart)="onOverlayAnimationStart($event)"
|
|
2128
|
+
(onHide)="onOverlayHide($event)"
|
|
2129
|
+
[pt]="ptm('pcOverlay')"
|
|
2130
|
+
>
|
|
2080
2131
|
<ng-template #content>
|
|
2081
|
-
<div [attr.id]="id + '_list'" [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
|
|
2132
|
+
<div [pBind]="ptm('overlay')" [attr.id]="id + '_list'" [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
|
|
2082
2133
|
<span
|
|
2083
2134
|
#firstHiddenFocusableEl
|
|
2084
2135
|
role="presentation"
|
|
@@ -2087,16 +2138,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
2087
2138
|
(focus)="onFirstHiddenFocus($event)"
|
|
2088
2139
|
[attr.data-p-hidden-accessible]="true"
|
|
2089
2140
|
[attr.data-p-hidden-focusable]="true"
|
|
2141
|
+
[pBind]="ptm('firstHiddenFocusableEl')"
|
|
2090
2142
|
>
|
|
2091
2143
|
</span>
|
|
2092
2144
|
<ng-container *ngTemplateOutlet="headerTemplate || _headerTemplate"></ng-container>
|
|
2093
|
-
<div [class]="cx('header')" *ngIf="showHeader">
|
|
2145
|
+
<div [pBind]="ptm('header')" [class]="cx('header')" *ngIf="showHeader">
|
|
2094
2146
|
<ng-content select="p-header"></ng-content>
|
|
2095
2147
|
<ng-container *ngIf="filterTemplate || _filterTemplate; else builtInFilterElement">
|
|
2096
2148
|
<ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { options: filterOptions }"></ng-container>
|
|
2097
2149
|
</ng-container>
|
|
2098
2150
|
<ng-template #builtInFilterElement>
|
|
2099
2151
|
<p-checkbox
|
|
2152
|
+
[pt]="getHeaderCheckboxPTOptions('pcHeaderCheckbox')"
|
|
2100
2153
|
[ngModel]="allSelected()"
|
|
2101
2154
|
[ariaLabel]="toggleAllAriaLabel"
|
|
2102
2155
|
[binary]="true"
|
|
@@ -2107,7 +2160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
2107
2160
|
#headerCheckbox
|
|
2108
2161
|
>
|
|
2109
2162
|
<ng-template #icon let-klass="class">
|
|
2110
|
-
<svg data-p-icon="check" *ngIf="!headerCheckboxIconTemplate && !_headerCheckboxIconTemplate && allSelected()" [class]="klass" [
|
|
2163
|
+
<svg data-p-icon="check" *ngIf="!headerCheckboxIconTemplate && !_headerCheckboxIconTemplate && allSelected()" [class]="klass" [pBind]="getHeaderCheckboxPTOptions('pcHeaderCheckbox.icon')" />
|
|
2111
2164
|
<ng-template
|
|
2112
2165
|
*ngTemplateOutlet="
|
|
2113
2166
|
headerCheckboxIconTemplate || _headerCheckboxIconTemplate;
|
|
@@ -2121,10 +2174,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
2121
2174
|
</ng-template>
|
|
2122
2175
|
</p-checkbox>
|
|
2123
2176
|
|
|
2124
|
-
<p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')">
|
|
2177
|
+
<p-iconfield *ngIf="filter" [pt]="ptm('pcFilterContainer')" [class]="cx('pcFilterContainer')">
|
|
2125
2178
|
<input
|
|
2126
2179
|
#filterInput
|
|
2127
2180
|
pInputText
|
|
2181
|
+
[pt]="ptm('pcFilter')"
|
|
2128
2182
|
[variant]="$variant()"
|
|
2129
2183
|
type="text"
|
|
2130
2184
|
[attr.autocomplete]="autocomplete"
|
|
@@ -2141,16 +2195,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
2141
2195
|
[attr.placeholder]="filterPlaceHolder"
|
|
2142
2196
|
[attr.aria-label]="ariaFilterLabel"
|
|
2143
2197
|
/>
|
|
2144
|
-
<p-inputicon>
|
|
2145
|
-
<svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" />
|
|
2146
|
-
<span *ngIf="filterIconTemplate || _filterIconTemplate" class="p-multiselect-filter-icon">
|
|
2198
|
+
<p-inputicon [pt]="ptm('pcFilterIconContainer')">
|
|
2199
|
+
<svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" [pBind]="ptm('filterIcon')" />
|
|
2200
|
+
<span *ngIf="filterIconTemplate || _filterIconTemplate" [pBind]="ptm('filterIcon')" class="p-multiselect-filter-icon">
|
|
2147
2201
|
<ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
|
|
2148
2202
|
</span>
|
|
2149
2203
|
</p-inputicon>
|
|
2150
2204
|
</p-iconfield>
|
|
2151
2205
|
</ng-template>
|
|
2152
2206
|
</div>
|
|
2153
|
-
<div [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
|
|
2207
|
+
<div [pBind]="ptm('listContainer')" [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
|
|
2154
2208
|
<p-scroller
|
|
2155
2209
|
*ngIf="virtualScroll"
|
|
2156
2210
|
#scroller
|
|
@@ -2177,16 +2231,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
2177
2231
|
</ng-container>
|
|
2178
2232
|
|
|
2179
2233
|
<ng-template #buildInItems let-items let-scrollerOptions="options">
|
|
2180
|
-
<ul #items [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" aria-multiselectable="true" [attr.aria-label]="listLabel">
|
|
2234
|
+
<ul #items [pBind]="ptm('list')" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" aria-multiselectable="true" [attr.aria-label]="listLabel">
|
|
2181
2235
|
<ng-template ngFor let-option [ngForOf]="items" let-i="index">
|
|
2182
2236
|
<ng-container *ngIf="isOptionGroup(option)">
|
|
2183
|
-
<li [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
|
2184
|
-
<span *ngIf="!groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
|
|
2185
|
-
<ng-container *ngTemplateOutlet="groupTemplate
|
|
2237
|
+
<li [pBind]="ptm('optionGroup')" [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
|
2238
|
+
<span *ngIf="!groupTemplate && option.optionGroup">{{ getOptionGroupLabel(option.optionGroup) }}</span>
|
|
2239
|
+
<ng-container *ngIf="option.optionGroup && groupTemplate" [ngTemplateOutlet]="groupTemplate" [ngTemplateOutletContext]="{ $implicit: option.optionGroup }"></ng-container>
|
|
2186
2240
|
</li>
|
|
2187
2241
|
</ng-container>
|
|
2188
2242
|
<ng-container *ngIf="!isOptionGroup(option)">
|
|
2189
|
-
<
|
|
2243
|
+
<li
|
|
2244
|
+
pMultiSelectItem
|
|
2245
|
+
pRipple
|
|
2246
|
+
[pBind]="getPTOptions(option, getItemOptions, i, 'option')"
|
|
2190
2247
|
[id]="id + '_' + getOptionIndex(i, scrollerOptions)"
|
|
2191
2248
|
[option]="option"
|
|
2192
2249
|
[selected]="isSelected(option)"
|
|
@@ -2202,18 +2259,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
2202
2259
|
[highlightOnSelect]="highlightOnSelect"
|
|
2203
2260
|
(onClick)="onOptionSelect($event, false, getOptionIndex(i, scrollerOptions))"
|
|
2204
2261
|
(onMouseEnter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
|
|
2205
|
-
|
|
2262
|
+
[pt]="pt"
|
|
2263
|
+
></li>
|
|
2206
2264
|
</ng-container>
|
|
2207
2265
|
</ng-template>
|
|
2208
2266
|
|
|
2209
|
-
<li *ngIf="hasFilter() && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
|
2267
|
+
<li *ngIf="hasFilter() && isEmpty()" [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
|
2210
2268
|
@if (!emptyFilterTemplate && !_emptyFilterTemplate && !emptyTemplate && !_emptyTemplate) {
|
|
2211
2269
|
{{ emptyFilterMessageLabel }}
|
|
2212
2270
|
} @else {
|
|
2213
2271
|
<ng-container *ngTemplateOutlet="emptyFilterTemplate || _emptyFilterTemplate || emptyTemplate || _emptyFilterTemplate"></ng-container>
|
|
2214
2272
|
}
|
|
2215
2273
|
</li>
|
|
2216
|
-
<li *ngIf="!hasFilter() && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
|
2274
|
+
<li *ngIf="!hasFilter() && isEmpty()" [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
|
2217
2275
|
@if (!emptyTemplate && !_emptyTemplate) {
|
|
2218
2276
|
{{ emptyMessageLabel }}
|
|
2219
2277
|
} @else {
|
|
@@ -2236,12 +2294,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
2236
2294
|
(focus)="onLastHiddenFocus($event)"
|
|
2237
2295
|
[attr.data-p-hidden-accessible]="true"
|
|
2238
2296
|
[attr.data-p-hidden-focusable]="true"
|
|
2297
|
+
[pBind]="ptm('lastHiddenFocusableEl')"
|
|
2239
2298
|
></span>
|
|
2240
2299
|
</div>
|
|
2241
2300
|
</ng-template>
|
|
2242
2301
|
</p-overlay>
|
|
2243
2302
|
`,
|
|
2244
|
-
providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle],
|
|
2303
|
+
providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle, { provide: MULTISELECT_INSTANCE, useExisting: MultiSelect }, { provide: PARENT_INSTANCE, useExisting: MultiSelect }],
|
|
2245
2304
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2246
2305
|
encapsulation: ViewEncapsulation.None,
|
|
2247
2306
|
host: {
|
|
@@ -2499,11 +2558,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
2499
2558
|
args: [PrimeTemplate]
|
|
2500
2559
|
}] } });
|
|
2501
2560
|
class MultiSelectModule {
|
|
2502
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
2503
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
2504
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
2561
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2562
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectModule, imports: [MultiSelect, SharedModule], exports: [MultiSelect, SharedModule] });
|
|
2563
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectModule, imports: [MultiSelect, SharedModule, SharedModule] });
|
|
2505
2564
|
}
|
|
2506
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
2565
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectModule, decorators: [{
|
|
2507
2566
|
type: NgModule,
|
|
2508
2567
|
args: [{
|
|
2509
2568
|
imports: [MultiSelect, SharedModule],
|