primeng 22.1.2 → 22.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/primeng-accordion.mjs +23 -24
- package/fesm2022/primeng-animateonscroll.mjs +9 -10
- package/fesm2022/primeng-api.mjs +31 -32
- package/fesm2022/primeng-autocomplete.mjs +17 -18
- package/fesm2022/primeng-autofocus.mjs +7 -8
- package/fesm2022/primeng-avatar.mjs +10 -11
- package/fesm2022/primeng-avatargroup.mjs +10 -11
- package/fesm2022/primeng-badge.mjs +10 -11
- package/fesm2022/primeng-base.mjs +41 -31
- package/fesm2022/primeng-basecomponent.mjs +108 -44
- package/fesm2022/primeng-baseeditableholder.mjs +3 -4
- package/fesm2022/primeng-baseinput.mjs +3 -4
- package/fesm2022/primeng-basemodelholder.mjs +3 -4
- package/fesm2022/primeng-bind.mjs +10 -9
- package/fesm2022/primeng-blockui.mjs +23 -24
- package/fesm2022/primeng-breadcrumb.mjs +10 -11
- package/fesm2022/primeng-button.mjs +33 -39
- package/fesm2022/primeng-buttongroup.mjs +12 -13
- package/fesm2022/primeng-card.mjs +10 -11
- package/fesm2022/primeng-carousel.mjs +47 -46
- package/fesm2022/primeng-cascadeselect.mjs +23 -24
- package/fesm2022/primeng-chart.mjs +10 -11
- package/fesm2022/primeng-checkbox.mjs +10 -11
- package/fesm2022/primeng-chip.mjs +10 -11
- package/fesm2022/primeng-classnames.mjs +7 -8
- package/fesm2022/primeng-colorpicker.mjs +10 -11
- package/fesm2022/primeng-commandmenu.mjs +12 -13
- package/fesm2022/primeng-compare.mjs +19 -20
- package/fesm2022/primeng-config.mjs +39 -18
- package/fesm2022/primeng-confirmdialog.mjs +29 -21
- package/fesm2022/primeng-confirmpopup.mjs +22 -21
- package/fesm2022/primeng-contextmenu.mjs +29 -28
- package/fesm2022/primeng-dataview.mjs +10 -11
- package/fesm2022/primeng-datepicker.mjs +110 -87
- package/fesm2022/primeng-dialog.mjs +46 -34
- package/fesm2022/primeng-divider.mjs +10 -11
- package/fesm2022/primeng-dock.mjs +12 -13
- package/fesm2022/primeng-dom.mjs +18 -6
- package/fesm2022/primeng-dragdrop.mjs +15 -14
- package/fesm2022/primeng-drawer.mjs +20 -22
- package/fesm2022/primeng-dynamicdialog.mjs +23 -22
- package/fesm2022/primeng-editor.mjs +10 -11
- package/fesm2022/primeng-fieldset.mjs +13 -15
- package/fesm2022/primeng-fileupload.mjs +24 -25
- package/fesm2022/primeng-floatlabel.mjs +10 -11
- package/fesm2022/primeng-fluid.mjs +10 -11
- package/fesm2022/primeng-focustrap.mjs +11 -12
- package/fesm2022/primeng-galleria.mjs +40 -37
- package/fesm2022/primeng-gallery.mjs +73 -74
- package/fesm2022/primeng-iconfield.mjs +10 -11
- package/fesm2022/primeng-icons-angledoubledown.mjs +3 -4
- package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -4
- package/fesm2022/primeng-icons-angledoubleright.mjs +3 -4
- package/fesm2022/primeng-icons-angledoubleup.mjs +3 -4
- package/fesm2022/primeng-icons-angledown.mjs +3 -4
- package/fesm2022/primeng-icons-angleleft.mjs +3 -4
- package/fesm2022/primeng-icons-angleright.mjs +3 -4
- package/fesm2022/primeng-icons-angleup.mjs +3 -4
- package/fesm2022/primeng-icons-arrowdown.mjs +4 -6
- package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -4
- package/fesm2022/primeng-icons-arrowdownright.mjs +3 -4
- package/fesm2022/primeng-icons-arrowleft.mjs +4 -6
- package/fesm2022/primeng-icons-arrowright.mjs +3 -4
- package/fesm2022/primeng-icons-arrowup.mjs +4 -6
- package/fesm2022/primeng-icons-ban.mjs +4 -6
- package/fesm2022/primeng-icons-bars.mjs +3 -4
- package/fesm2022/primeng-icons-baseicon.mjs +6 -7
- package/fesm2022/primeng-icons-blank.mjs +3 -4
- package/fesm2022/primeng-icons-calendar.mjs +3 -4
- package/fesm2022/primeng-icons-caretleft.mjs +3 -4
- package/fesm2022/primeng-icons-caretright.mjs +3 -4
- package/fesm2022/primeng-icons-check.mjs +3 -4
- package/fesm2022/primeng-icons-chevrondown.mjs +3 -4
- package/fesm2022/primeng-icons-chevronleft.mjs +3 -4
- package/fesm2022/primeng-icons-chevronright.mjs +3 -4
- package/fesm2022/primeng-icons-chevronup.mjs +3 -4
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +4 -6
- package/fesm2022/primeng-icons-eye.mjs +3 -4
- package/fesm2022/primeng-icons-eyeslash.mjs +4 -6
- package/fesm2022/primeng-icons-filter.mjs +4 -6
- package/fesm2022/primeng-icons-filterfill.mjs +3 -4
- package/fesm2022/primeng-icons-filterslash.mjs +4 -6
- package/fesm2022/primeng-icons-home.mjs +4 -6
- package/fesm2022/primeng-icons-infocircle.mjs +4 -6
- package/fesm2022/primeng-icons-minus.mjs +3 -4
- package/fesm2022/primeng-icons-pencil.mjs +4 -6
- package/fesm2022/primeng-icons-plus.mjs +4 -6
- package/fesm2022/primeng-icons-refresh.mjs +4 -6
- package/fesm2022/primeng-icons-search.mjs +4 -6
- package/fesm2022/primeng-icons-searchminus.mjs +4 -6
- package/fesm2022/primeng-icons-searchplus.mjs +4 -6
- package/fesm2022/primeng-icons-sortalt.mjs +4 -6
- package/fesm2022/primeng-icons-sortamountdown.mjs +4 -6
- package/fesm2022/primeng-icons-sortamountupalt.mjs +4 -6
- package/fesm2022/primeng-icons-spinner.mjs +4 -6
- package/fesm2022/primeng-icons-star.mjs +4 -6
- package/fesm2022/primeng-icons-starfill.mjs +4 -6
- package/fesm2022/primeng-icons-thlarge.mjs +4 -6
- package/fesm2022/primeng-icons-times.mjs +3 -4
- package/fesm2022/primeng-icons-timescircle.mjs +4 -6
- package/fesm2022/primeng-icons-trash.mjs +4 -6
- package/fesm2022/primeng-icons-undo.mjs +4 -6
- package/fesm2022/primeng-icons-upload.mjs +4 -6
- package/fesm2022/primeng-icons-windowmaximize.mjs +4 -6
- package/fesm2022/primeng-icons-windowminimize.mjs +4 -6
- package/fesm2022/primeng-iftalabel.mjs +10 -11
- package/fesm2022/primeng-image.mjs +34 -20
- package/fesm2022/primeng-imagecompare.mjs +10 -11
- package/fesm2022/primeng-inplace.mjs +16 -17
- package/fesm2022/primeng-inputcolor.mjs +46 -51
- package/fesm2022/primeng-inputgroup.mjs +10 -11
- package/fesm2022/primeng-inputgroupaddon.mjs +10 -11
- package/fesm2022/primeng-inputicon.mjs +10 -11
- package/fesm2022/primeng-inputmask.mjs +15 -16
- package/fesm2022/primeng-inputnumber.mjs +10 -11
- package/fesm2022/primeng-inputotp.mjs +10 -11
- package/fesm2022/primeng-inputpassword.mjs +10 -11
- package/fesm2022/primeng-inputtags.mjs +12 -13
- package/fesm2022/primeng-inputtext.mjs +10 -11
- package/fesm2022/primeng-isolation.mjs +280 -0
- package/fesm2022/primeng-keyfilter.mjs +7 -8
- package/fesm2022/primeng-knob.mjs +13 -15
- package/fesm2022/primeng-label.mjs +10 -11
- package/fesm2022/primeng-license.mjs +0 -1
- package/fesm2022/primeng-listbox.mjs +32 -29
- package/fesm2022/primeng-megamenu.mjs +30 -34
- package/fesm2022/primeng-menu.mjs +36 -43
- package/fesm2022/primeng-menubar.mjs +26 -24
- package/fesm2022/primeng-message.mjs +16 -19
- package/fesm2022/primeng-metergroup.mjs +13 -14
- package/fesm2022/primeng-motion.mjs +13 -14
- package/fesm2022/primeng-multiselect.mjs +34 -27
- package/fesm2022/primeng-orderlist.mjs +31 -23
- package/fesm2022/primeng-organizationchart.mjs +13 -14
- package/fesm2022/primeng-overlay.mjs +24 -22
- package/fesm2022/primeng-overlaybadge.mjs +10 -11
- package/fesm2022/primeng-paginator.mjs +13 -11
- package/fesm2022/primeng-panel.mjs +13 -15
- package/fesm2022/primeng-panelmenu.mjs +22 -23
- package/fesm2022/primeng-passthrough.mjs +0 -1
- package/fesm2022/primeng-password.mjs +29 -30
- package/fesm2022/primeng-picklist.mjs +28 -20
- package/fesm2022/primeng-popover.mjs +21 -21
- package/fesm2022/primeng-progressbar.mjs +10 -11
- package/fesm2022/primeng-progressspinner.mjs +10 -11
- package/fesm2022/primeng-radiobutton.mjs +13 -14
- package/fesm2022/primeng-rating.mjs +14 -16
- package/fesm2022/primeng-ripple.mjs +24 -23
- package/fesm2022/primeng-scrollarea.mjs +25 -26
- package/fesm2022/primeng-scroller.mjs +16 -14
- package/fesm2022/primeng-scrollpanel.mjs +23 -24
- package/fesm2022/primeng-scrolltop.mjs +12 -13
- package/fesm2022/primeng-select.mjs +243 -146
- package/fesm2022/primeng-selectbutton.mjs +10 -11
- package/fesm2022/primeng-sidebar.mjs +82 -84
- package/fesm2022/primeng-skeleton.mjs +10 -11
- package/fesm2022/primeng-slider.mjs +10 -11
- package/fesm2022/primeng-speeddial.mjs +20 -19
- package/fesm2022/primeng-splitbutton.mjs +11 -13
- package/fesm2022/primeng-splitter.mjs +13 -14
- package/fesm2022/primeng-stepper.mjs +47 -48
- package/fesm2022/primeng-steps.mjs +10 -11
- package/fesm2022/primeng-styleclass.mjs +10 -9
- package/fesm2022/primeng-table.mjs +183 -162
- package/fesm2022/primeng-tabs.mjs +36 -37
- package/fesm2022/primeng-tag.mjs +10 -11
- package/fesm2022/primeng-terminal.mjs +13 -14
- package/fesm2022/primeng-textarea.mjs +10 -11
- package/fesm2022/primeng-tieredmenu.mjs +26 -26
- package/fesm2022/primeng-timeline.mjs +10 -11
- package/fesm2022/primeng-toast.mjs +48 -33
- package/fesm2022/primeng-togglebutton.mjs +10 -11
- package/fesm2022/primeng-toggleswitch.mjs +10 -11
- package/fesm2022/primeng-toolbar.mjs +10 -11
- package/fesm2022/primeng-tooltip.mjs +24 -25
- package/fesm2022/primeng-tree.mjs +19 -20
- package/fesm2022/primeng-treeselect.mjs +18 -19
- package/fesm2022/primeng-treetable.mjs +93 -88
- package/fesm2022/primeng-useid.mjs +38 -0
- package/fesm2022/primeng-usestyle.mjs +265 -44
- package/fesm2022/primeng-utils.mjs +33 -2
- package/fesm2022/primeng.mjs +0 -1
- package/package.json +12 -4
- package/types/primeng-accordion.d.ts +0 -9
- package/types/primeng-animateonscroll.d.ts +2 -1
- package/types/primeng-api.d.ts +3 -1
- package/types/primeng-autocomplete.d.ts +1 -3
- package/types/primeng-base.d.ts +3 -1
- package/types/primeng-basecomponent.d.ts +34 -16
- package/types/primeng-button.d.ts +9 -12
- package/types/primeng-carousel.d.ts +3 -25
- package/types/primeng-compare.d.ts +0 -9
- package/types/primeng-config.d.ts +27 -2
- package/types/primeng-confirmdialog.d.ts +1 -0
- package/types/primeng-confirmpopup.d.ts +1 -3
- package/types/primeng-datepicker.d.ts +2 -12
- package/types/primeng-dialog.d.ts +1 -0
- package/types/primeng-dom.d.ts +6 -11
- package/types/primeng-dragdrop.d.ts +1 -0
- package/types/primeng-dynamicdialog.d.ts +3 -1
- package/types/primeng-focustrap.d.ts +1 -1
- package/types/primeng-gallery.d.ts +0 -63
- package/types/primeng-inputcolor.d.ts +0 -33
- package/types/primeng-isolation.d.ts +21 -0
- package/types/primeng-listbox.d.ts +1 -0
- package/types/primeng-megamenu.d.ts +5 -1
- package/types/primeng-menu.d.ts +6 -7
- package/types/primeng-motion.d.ts +2 -7
- package/types/primeng-multiselect.d.ts +3 -1
- package/types/primeng-orderlist.d.ts +1 -0
- package/types/primeng-picklist.d.ts +1 -0
- package/types/primeng-scrollarea.d.ts +0 -15
- package/types/primeng-scroller.d.ts +2 -1
- package/types/primeng-select.d.ts +54 -13
- package/types/primeng-sidebar.d.ts +0 -69
- package/types/primeng-splitter.d.ts +0 -3
- package/types/primeng-stepper.d.ts +2 -19
- package/types/primeng-table.d.ts +2 -75
- package/types/primeng-tabs.d.ts +2 -16
- package/types/primeng-toast.d.ts +4 -2
- package/types/primeng-treetable.d.ts +4 -92
- package/types/primeng-types-listbox.d.ts +1 -1
- package/types/primeng-types-select.d.ts +4 -0
- package/types/primeng-useid.d.ts +15 -0
- package/types/primeng-usestyle.d.ts +87 -7
- package/types/primeng-utils.d.ts +42 -0
- package/fesm2022/primeng-accordion.mjs.map +0 -1
- package/fesm2022/primeng-animateonscroll.mjs.map +0 -1
- package/fesm2022/primeng-api.mjs.map +0 -1
- package/fesm2022/primeng-autocomplete.mjs.map +0 -1
- package/fesm2022/primeng-autofocus.mjs.map +0 -1
- package/fesm2022/primeng-avatar.mjs.map +0 -1
- package/fesm2022/primeng-avatargroup.mjs.map +0 -1
- package/fesm2022/primeng-badge.mjs.map +0 -1
- package/fesm2022/primeng-base.mjs.map +0 -1
- package/fesm2022/primeng-basecomponent.mjs.map +0 -1
- package/fesm2022/primeng-baseeditableholder.mjs.map +0 -1
- package/fesm2022/primeng-baseinput.mjs.map +0 -1
- package/fesm2022/primeng-basemodelholder.mjs.map +0 -1
- package/fesm2022/primeng-bind.mjs.map +0 -1
- package/fesm2022/primeng-blockui.mjs.map +0 -1
- package/fesm2022/primeng-breadcrumb.mjs.map +0 -1
- package/fesm2022/primeng-button.mjs.map +0 -1
- package/fesm2022/primeng-buttongroup.mjs.map +0 -1
- package/fesm2022/primeng-card.mjs.map +0 -1
- package/fesm2022/primeng-carousel.mjs.map +0 -1
- package/fesm2022/primeng-cascadeselect.mjs.map +0 -1
- package/fesm2022/primeng-chart.mjs.map +0 -1
- package/fesm2022/primeng-checkbox.mjs.map +0 -1
- package/fesm2022/primeng-chip.mjs.map +0 -1
- package/fesm2022/primeng-classnames.mjs.map +0 -1
- package/fesm2022/primeng-colorpicker.mjs.map +0 -1
- package/fesm2022/primeng-commandmenu.mjs.map +0 -1
- package/fesm2022/primeng-compare.mjs.map +0 -1
- package/fesm2022/primeng-config.mjs.map +0 -1
- package/fesm2022/primeng-confirmdialog.mjs.map +0 -1
- package/fesm2022/primeng-confirmpopup.mjs.map +0 -1
- package/fesm2022/primeng-contextmenu.mjs.map +0 -1
- package/fesm2022/primeng-dataview.mjs.map +0 -1
- package/fesm2022/primeng-datepicker.mjs.map +0 -1
- package/fesm2022/primeng-dialog.mjs.map +0 -1
- package/fesm2022/primeng-divider.mjs.map +0 -1
- package/fesm2022/primeng-dock.mjs.map +0 -1
- package/fesm2022/primeng-dom.mjs.map +0 -1
- package/fesm2022/primeng-dragdrop.mjs.map +0 -1
- package/fesm2022/primeng-drawer.mjs.map +0 -1
- package/fesm2022/primeng-dynamicdialog.mjs.map +0 -1
- package/fesm2022/primeng-editor.mjs.map +0 -1
- package/fesm2022/primeng-fieldset.mjs.map +0 -1
- package/fesm2022/primeng-fileupload.mjs.map +0 -1
- package/fesm2022/primeng-floatlabel.mjs.map +0 -1
- package/fesm2022/primeng-fluid.mjs.map +0 -1
- package/fesm2022/primeng-focustrap.mjs.map +0 -1
- package/fesm2022/primeng-galleria.mjs.map +0 -1
- package/fesm2022/primeng-gallery.mjs.map +0 -1
- package/fesm2022/primeng-iconfield.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledoubledown.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledoubleleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledoubleright.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledoubleup.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledown.mjs.map +0 -1
- package/fesm2022/primeng-icons-angleleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-angleright.mjs.map +0 -1
- package/fesm2022/primeng-icons-angleup.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowdown.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowdownleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowdownright.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowright.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowup.mjs.map +0 -1
- package/fesm2022/primeng-icons-ban.mjs.map +0 -1
- package/fesm2022/primeng-icons-bars.mjs.map +0 -1
- package/fesm2022/primeng-icons-baseicon.mjs.map +0 -1
- package/fesm2022/primeng-icons-blank.mjs.map +0 -1
- package/fesm2022/primeng-icons-calendar.mjs.map +0 -1
- package/fesm2022/primeng-icons-caretleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-caretright.mjs.map +0 -1
- package/fesm2022/primeng-icons-check.mjs.map +0 -1
- package/fesm2022/primeng-icons-chevrondown.mjs.map +0 -1
- package/fesm2022/primeng-icons-chevronleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-chevronright.mjs.map +0 -1
- package/fesm2022/primeng-icons-chevronup.mjs.map +0 -1
- package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +0 -1
- package/fesm2022/primeng-icons-eye.mjs.map +0 -1
- package/fesm2022/primeng-icons-eyeslash.mjs.map +0 -1
- package/fesm2022/primeng-icons-filter.mjs.map +0 -1
- package/fesm2022/primeng-icons-filterfill.mjs.map +0 -1
- package/fesm2022/primeng-icons-filterslash.mjs.map +0 -1
- package/fesm2022/primeng-icons-home.mjs.map +0 -1
- package/fesm2022/primeng-icons-infocircle.mjs.map +0 -1
- package/fesm2022/primeng-icons-minus.mjs.map +0 -1
- package/fesm2022/primeng-icons-pencil.mjs.map +0 -1
- package/fesm2022/primeng-icons-plus.mjs.map +0 -1
- package/fesm2022/primeng-icons-refresh.mjs.map +0 -1
- package/fesm2022/primeng-icons-search.mjs.map +0 -1
- package/fesm2022/primeng-icons-searchminus.mjs.map +0 -1
- package/fesm2022/primeng-icons-searchplus.mjs.map +0 -1
- package/fesm2022/primeng-icons-sortalt.mjs.map +0 -1
- package/fesm2022/primeng-icons-sortamountdown.mjs.map +0 -1
- package/fesm2022/primeng-icons-sortamountupalt.mjs.map +0 -1
- package/fesm2022/primeng-icons-spinner.mjs.map +0 -1
- package/fesm2022/primeng-icons-star.mjs.map +0 -1
- package/fesm2022/primeng-icons-starfill.mjs.map +0 -1
- package/fesm2022/primeng-icons-thlarge.mjs.map +0 -1
- package/fesm2022/primeng-icons-times.mjs.map +0 -1
- package/fesm2022/primeng-icons-timescircle.mjs.map +0 -1
- package/fesm2022/primeng-icons-trash.mjs.map +0 -1
- package/fesm2022/primeng-icons-undo.mjs.map +0 -1
- package/fesm2022/primeng-icons-upload.mjs.map +0 -1
- package/fesm2022/primeng-icons-windowmaximize.mjs.map +0 -1
- package/fesm2022/primeng-icons-windowminimize.mjs.map +0 -1
- package/fesm2022/primeng-iftalabel.mjs.map +0 -1
- package/fesm2022/primeng-image.mjs.map +0 -1
- package/fesm2022/primeng-imagecompare.mjs.map +0 -1
- package/fesm2022/primeng-inplace.mjs.map +0 -1
- package/fesm2022/primeng-inputcolor.mjs.map +0 -1
- package/fesm2022/primeng-inputgroup.mjs.map +0 -1
- package/fesm2022/primeng-inputgroupaddon.mjs.map +0 -1
- package/fesm2022/primeng-inputicon.mjs.map +0 -1
- package/fesm2022/primeng-inputmask.mjs.map +0 -1
- package/fesm2022/primeng-inputnumber.mjs.map +0 -1
- package/fesm2022/primeng-inputotp.mjs.map +0 -1
- package/fesm2022/primeng-inputpassword.mjs.map +0 -1
- package/fesm2022/primeng-inputtags.mjs.map +0 -1
- package/fesm2022/primeng-inputtext.mjs.map +0 -1
- package/fesm2022/primeng-keyfilter.mjs.map +0 -1
- package/fesm2022/primeng-knob.mjs.map +0 -1
- package/fesm2022/primeng-label.mjs.map +0 -1
- package/fesm2022/primeng-license.mjs.map +0 -1
- package/fesm2022/primeng-listbox.mjs.map +0 -1
- package/fesm2022/primeng-megamenu.mjs.map +0 -1
- package/fesm2022/primeng-menu.mjs.map +0 -1
- package/fesm2022/primeng-menubar.mjs.map +0 -1
- package/fesm2022/primeng-message.mjs.map +0 -1
- package/fesm2022/primeng-metergroup.mjs.map +0 -1
- package/fesm2022/primeng-motion.mjs.map +0 -1
- package/fesm2022/primeng-multiselect.mjs.map +0 -1
- package/fesm2022/primeng-orderlist.mjs.map +0 -1
- package/fesm2022/primeng-organizationchart.mjs.map +0 -1
- package/fesm2022/primeng-overlay.mjs.map +0 -1
- package/fesm2022/primeng-overlaybadge.mjs.map +0 -1
- package/fesm2022/primeng-paginator.mjs.map +0 -1
- package/fesm2022/primeng-panel.mjs.map +0 -1
- package/fesm2022/primeng-panelmenu.mjs.map +0 -1
- package/fesm2022/primeng-passthrough.mjs.map +0 -1
- package/fesm2022/primeng-password.mjs.map +0 -1
- package/fesm2022/primeng-picklist.mjs.map +0 -1
- package/fesm2022/primeng-popover.mjs.map +0 -1
- package/fesm2022/primeng-progressbar.mjs.map +0 -1
- package/fesm2022/primeng-progressspinner.mjs.map +0 -1
- package/fesm2022/primeng-radiobutton.mjs.map +0 -1
- package/fesm2022/primeng-rating.mjs.map +0 -1
- package/fesm2022/primeng-ripple.mjs.map +0 -1
- package/fesm2022/primeng-scrollarea.mjs.map +0 -1
- package/fesm2022/primeng-scroller.mjs.map +0 -1
- package/fesm2022/primeng-scrollpanel.mjs.map +0 -1
- package/fesm2022/primeng-scrolltop.mjs.map +0 -1
- package/fesm2022/primeng-select.mjs.map +0 -1
- package/fesm2022/primeng-selectbutton.mjs.map +0 -1
- package/fesm2022/primeng-sidebar.mjs.map +0 -1
- package/fesm2022/primeng-skeleton.mjs.map +0 -1
- package/fesm2022/primeng-slider.mjs.map +0 -1
- package/fesm2022/primeng-speeddial.mjs.map +0 -1
- package/fesm2022/primeng-splitbutton.mjs.map +0 -1
- package/fesm2022/primeng-splitter.mjs.map +0 -1
- package/fesm2022/primeng-stepper.mjs.map +0 -1
- package/fesm2022/primeng-steps.mjs.map +0 -1
- package/fesm2022/primeng-styleclass.mjs.map +0 -1
- package/fesm2022/primeng-table.mjs.map +0 -1
- package/fesm2022/primeng-tabs.mjs.map +0 -1
- package/fesm2022/primeng-tag.mjs.map +0 -1
- package/fesm2022/primeng-terminal.mjs.map +0 -1
- package/fesm2022/primeng-textarea.mjs.map +0 -1
- package/fesm2022/primeng-tieredmenu.mjs.map +0 -1
- package/fesm2022/primeng-timeline.mjs.map +0 -1
- package/fesm2022/primeng-toast.mjs.map +0 -1
- package/fesm2022/primeng-togglebutton.mjs.map +0 -1
- package/fesm2022/primeng-toggleswitch.mjs.map +0 -1
- package/fesm2022/primeng-toolbar.mjs.map +0 -1
- package/fesm2022/primeng-tooltip.mjs.map +0 -1
- package/fesm2022/primeng-tree.mjs.map +0 -1
- package/fesm2022/primeng-treeselect.mjs.map +0 -1
- package/fesm2022/primeng-treetable.mjs.map +0 -1
- package/fesm2022/primeng-usestyle.mjs.map +0 -1
- package/fesm2022/primeng-utils.mjs.map +0 -1
- package/fesm2022/primeng.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"primeng-confirmpopup.mjs","names":[],"sources":["../../src/confirmpopup/style/confirmpopupstyle.ts","../../src/confirmpopup/confirmpopup.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/confirmpopup';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: () => ['p-confirmpopup p-component'],\n content: 'p-confirmpopup-content',\n icon: ({ instance }) => ['p-confirmpopup-icon', instance.confirmation()?.icon],\n message: 'p-confirmpopup-message',\n footer: 'p-confirmpopup-footer',\n pcRejectButton: 'p-confirmpopup-reject-button',\n pcAcceptButton: 'p-confirmpopup-accept-button'\n};\n\n@Injectable()\nexport class ConfirmPopupStyle extends BaseStyle {\n name = 'confirmpopup';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * ConfirmPopup displays a confirmation overlay displayed relatively to its target.\n *\n * [Live Demo](https://www.primeng.org/confirmpopup)\n *\n * @module confirmpopupstyle\n *\n */\nexport enum ConfirmPopupClasses {\n /**\n * Class name of the root element\n */\n root = 'p-confirmpopup',\n /**\n * Class name of the content element\n */\n content = 'p-confirmpopup-content',\n /**\n * Class name of the icon element\n */\n icon = 'p-confirmpopup-icon',\n /**\n * Class name of the message element\n */\n message = 'p-confirmpopup-message',\n /**\n * Class name of the footer element\n */\n footer = 'p-confirmpopup-footer',\n /**\n * Class name of the reject button element\n */\n pcRejectButton = 'p-confirmpopup-reject-button',\n /**\n * Class name of the accept button element\n */\n pcAcceptButton = 'p-confirmpopup-accept-button'\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n EventEmitter,\n HostListener,\n inject,\n InjectionToken,\n input,\n NgModule,\n numberAttribute,\n signal,\n TemplateRef,\n untracked,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { absolutePosition, addClass, appendChild, findSingle, focus, getOffset, isIOS, isTouchDevice } from '@primeuix/utils';\nimport { Confirmation, ConfirmationService, OverlayService, SharedModule, TranslationKeys } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ButtonModule } from 'primeng/button';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { FocusTrap } from 'primeng/focustrap';\nimport { MotionModule } from 'primeng/motion';\nimport type { AppendTo, CSSProperties } from 'primeng/types/shared';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport { ConfirmPopupContentTemplateContext, ConfirmPopupDefaultFocus, ConfirmPopupHeadlessTemplateContext, ConfirmPopupPassThrough } from 'primeng/types/confirmpopup';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { Subscription } from 'rxjs';\nimport { ConfirmPopupStyle } from './style/confirmpopupstyle';\n\nconst CONFIRMPOPUP_INSTANCE = new InjectionToken<ConfirmPopup>('CONFIRMPOPUP_INSTANCE');\n\n/**\n * ConfirmPopup displays a confirmation overlay displayed relatively to its target.\n * @group Components\n */\n@Component({\n selector: 'p-confirmpopup',\n standalone: true,\n imports: [NgTemplateOutlet, SharedModule, ButtonModule, AutoFocus, FocusTrap, Bind, MotionModule],\n providers: [ConfirmPopupStyle, { provide: CONFIRMPOPUP_INSTANCE, useExisting: ConfirmPopup }, { provide: PARENT_INSTANCE, useExisting: ConfirmPopup }],\n hostDirectives: [Bind],\n template: `\n @if (render()) {\n <div\n [pMotion]=\"computedVisible()\"\n [pMotionAppear]=\"true\"\n [pMotionName]=\"'p-anchored-overlay'\"\n [pMotionOptions]=\"computedMotionOptions()\"\n (pMotionOnBeforeEnter)=\"onBeforeEnter($event)\"\n (pMotionOnAfterLeave)=\"onAfterLeave()\"\n pFocusTrap\n [pBind]=\"ptm('root')\"\n [class]=\"cn(cx('root'), styleClass())\"\n [style]=\"style()\"\n role=\"alertdialog\"\n (click)=\"onOverlayClick($event)\"\n >\n @if (headlessTemplate()) {\n <ng-container *ngTemplateOutlet=\"headlessTemplate(); context: headlessContext()\"></ng-container>\n } @else {\n <div #content [pBind]=\"ptm('content')\" [class]=\"cx('content')\">\n @if (contentTemplate()) {\n <ng-container *ngTemplateOutlet=\"contentTemplate(); context: contentContext()\"></ng-container>\n } @else {\n @if (hasIcon) {\n <i [pBind]=\"ptm('icon')\" [class]=\"cx('icon')\"></i>\n }\n <span [pBind]=\"ptm('message')\" [class]=\"cx('message')\">{{ message }}</span>\n }\n </div>\n <div [pBind]=\"ptm('footer')\" [class]=\"cx('footer')\">\n @if (rejectVisible) {\n <button\n type=\"button\"\n [pButton]=\"getRejectButtonProps()\"\n [size]=\"rejectButtonSize\"\n [text]=\"rejectButtonText\"\n [class]=\"cn(cx('pcRejectButton'), rejectButtonStyleClass)\"\n [pButtonPT]=\"ptm('pcRejectButton')\"\n [pButtonUnstyled]=\"unstyled()\"\n [pAutoFocus]=\"autoFocusReject\"\n [attr.aria-label]=\"rejectButtonLabel\"\n (click)=\"onReject()\"\n >\n @if (hasRejectIcon) {\n <i [class]=\"rejectIcon\"></i>\n } @else if (rejectIconTemplate()) {\n <ng-container *ngTemplateOutlet=\"rejectIconTemplate()\"></ng-container>\n }\n {{ rejectButtonLabel }}\n </button>\n }\n @if (acceptVisible) {\n <button\n type=\"button\"\n [pButton]=\"getAcceptButtonProps()\"\n [size]=\"acceptButtonSize\"\n [class]=\"cn(cx('pcAcceptButton'), acceptButtonStyleClass)\"\n [pButtonPT]=\"ptm('pcAcceptButton')\"\n [pButtonUnstyled]=\"unstyled()\"\n [pAutoFocus]=\"autoFocusAccept\"\n [attr.aria-label]=\"acceptButtonLabel\"\n (click)=\"onAccept()\"\n >\n @if (hasAcceptIcon) {\n <i [class]=\"acceptIcon\"></i>\n } @else if (acceptIconTemplate()) {\n <ng-container *ngTemplateOutlet=\"acceptIconTemplate()\"></ng-container>\n }\n {{ acceptButtonLabel }}\n </button>\n }\n </div>\n }\n </div>\n }\n `,\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ConfirmPopup extends BaseComponent<ConfirmPopupPassThrough> {\n componentName = 'ConfirmPopup';\n\n $pcConfirmPopup: ConfirmPopup | undefined = inject(CONFIRMPOPUP_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Optional key to match the key of confirm object, necessary to use when component tree has multiple confirm dialogs.\n * @group Props\n */\n key = input<string>();\n /**\n * Element to receive the focus when the popup gets visible, valid values are \"accept\", \"reject\", and \"none\".\n * @group Props\n */\n defaultFocus = input<ConfirmPopupDefaultFocus>('accept');\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n autoZIndex = input(true, { transform: booleanAttribute });\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n baseZIndex = input(0, { transform: numberAttribute });\n /**\n * Inline style of the component.\n * @group Props\n */\n style = input<CSSProperties>();\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass = input<string>();\n /**\n * Defines if the component is visible.\n * @group Props\n */\n visible = input<boolean>();\n\n private _visible = signal<boolean>(false);\n\n computedVisible = computed(() => this.visible() ?? this._visible());\n\n render = signal<boolean>(false);\n\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n\n computedMotionOptions = computed<MotionOptions>(() => ({\n ...this.ptm('motion'),\n ...this.motionOptions()\n }));\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'body'\n * @group Props\n */\n appendTo = input<AppendTo>('body');\n\n headlessContext = computed<ConfirmPopupHeadlessTemplateContext>(() => ({ $implicit: this.confirmation() }));\n\n contentContext = computed<ConfirmPopupContentTemplateContext>(() => ({ $implicit: this.confirmation() }));\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n container: HTMLElement | null;\n\n subscription: Subscription;\n\n confirmation = signal<Nullable<Confirmation>>(null);\n\n autoFocusAccept: boolean = false;\n\n autoFocusReject: boolean = false;\n\n /**\n * Custom content template.\n * @group Templates\n */\n contentTemplate = contentChild<TemplateRef<ConfirmPopupContentTemplateContext>>('content', { descendants: false });\n\n /**\n * Custom accept icon template.\n * @group Templates\n */\n acceptIconTemplate = contentChild<TemplateRef<void>>('accepticon', { descendants: false });\n\n /**\n * Custom reject icon template.\n * @group Templates\n */\n rejectIconTemplate = contentChild<TemplateRef<void>>('rejecticon', { descendants: false });\n\n /**\n * Custom headless template.\n * @group Templates\n */\n headlessTemplate = contentChild<TemplateRef<ConfirmPopupHeadlessTemplateContext>>('headless', { descendants: false });\n\n acceptButtonViewChild = viewChild('acceptButton', { read: ElementRef });\n\n rejectButtonViewChild = viewChild('rejectButton', { read: ElementRef });\n\n documentClickListener: VoidListener;\n\n documentResizeListener: VoidListener;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n private window: Window;\n\n _componentStyle = inject(ConfirmPopupStyle);\n\n overlayService = inject(OverlayService);\n\n private confirmationService = inject(ConfirmationService);\n\n constructor() {\n super();\n this.window = this.document.defaultView as Window;\n this.subscription = this.confirmationService.requireConfirmation$.subscribe((confirmation) => {\n if (!confirmation) {\n this.hide();\n\n return;\n }\n\n if (this.computedVisible()) {\n requestAnimationFrame(() => {\n this.alignOverlay();\n this.alignArrow();\n });\n }\n\n if (confirmation.key === this.key()) {\n this.confirmation.set(confirmation);\n\n if (confirmation.accept) {\n confirmation.acceptEvent = new EventEmitter();\n confirmation.acceptEvent.subscribe(confirmation.accept);\n }\n\n if (confirmation.reject) {\n confirmation.rejectEvent = new EventEmitter();\n confirmation.rejectEvent.subscribe(confirmation.reject);\n }\n\n this._visible.set(true);\n }\n });\n\n effect(() => {\n if (this.computedVisible()) {\n untracked(() => {\n if (!this.render()) {\n this.render.set(true);\n }\n });\n }\n });\n }\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptm('host'));\n }\n\n option(name: string, k?: string) {\n const confirmation = this.confirmation();\n\n if (confirmation && Object.prototype.hasOwnProperty.call(confirmation, name)) {\n return k ? confirmation[k] : confirmation[name];\n }\n\n const source = this as unknown as { [key: string]: any };\n\n if (Object.prototype.hasOwnProperty.call(source, name)) {\n const value = k ? source[k] : source[name];\n\n return typeof value === 'function' ? value() : value;\n }\n\n return undefined;\n }\n\n @HostListener('document:keydown.Escape', ['$event'])\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onEscapeKeydown(event: Event) {\n const confirmation = this.confirmation();\n\n if (confirmation && confirmation.closeOnEscape !== false) {\n this.onReject();\n }\n }\n\n onBeforeEnter(event: MotionEvent) {\n const focusValue = this.confirmation()?.defaultFocus ?? this.defaultFocus();\n\n this.autoFocusAccept = focusValue === 'accept';\n this.autoFocusReject = focusValue === 'reject';\n\n this.container = event.element as HTMLElement;\n this.appendOverlay();\n this.alignOverlay();\n this.alignArrow();\n this.setZIndex();\n this.handleFocus();\n this.bindListeners();\n }\n\n handleFocus() {\n const focusValue = this.defaultFocus();\n\n if (focusValue && (this.acceptButtonViewChild() || this.rejectButtonViewChild())) {\n const focusEl = <HTMLButtonElement>(focusValue === 'accept' ? findSingle(this.acceptButtonViewChild()?.nativeElement, '[data-pc-section=\"root\"]') : findSingle(this.rejectButtonViewChild()?.nativeElement, '[data-pc-section=\"root\"]'));\n\n focusEl.focus();\n }\n }\n\n onAfterLeave() {\n this.autoFocusAccept = false;\n this.autoFocusReject = false;\n this.restoreAppend();\n this.onContainerDestroy();\n }\n\n getAcceptButtonProps() {\n return this.option('acceptButtonProps');\n }\n\n getRejectButtonProps() {\n return this.option('rejectButtonProps');\n }\n\n alignOverlay() {\n const target = this.confirmation()?.target as HTMLElement;\n\n if (!target) {\n return;\n }\n\n absolutePosition(this.container!, target, false);\n }\n\n setZIndex() {\n if (this.autoZIndex()) {\n ZIndexUtils.set('overlay', this.container, this.config.zIndex.overlay);\n }\n }\n\n alignArrow() {\n const containerOffset = getOffset(this.container);\n const targetOffset = getOffset(this.confirmation()?.target as HTMLElement);\n const containerLeft = containerOffset.left as number;\n const targetLeft = targetOffset.left as number;\n let arrowLeft = 0;\n\n if (containerOffset && targetOffset && containerLeft < targetLeft) {\n arrowLeft = targetLeft - containerLeft;\n }\n\n if (this.container) {\n (this.container as HTMLDivElement).style.setProperty('--p-confirmpopup-arrow-left', `${arrowLeft}px`);\n }\n\n if (containerOffset && targetOffset && containerOffset.top < targetOffset.top) {\n (this.container as HTMLElement).setAttribute('data-p-confirmpopup-flipped', 'true');\n\n if (!this.$unstyled()) {\n addClass(this.container as HTMLDivElement, 'p-confirmpopup-flipped');\n }\n }\n }\n\n appendOverlay() {\n if (this.$appendTo() && this.$appendTo() !== 'self') {\n if (this.$appendTo() === 'body') {\n appendChild(this.document.body, this.container!);\n } else {\n appendChild(this.$appendTo(), this.container!);\n }\n }\n }\n\n restoreAppend() {\n if (this.container && this.$appendTo() !== 'self') {\n appendChild(this.el.nativeElement, this.container);\n }\n\n this.onContainerDestroy();\n }\n\n hide() {\n this._visible.set(false);\n }\n\n onAccept() {\n this.confirmation()?.acceptEvent?.emit();\n this.hide();\n focus(this.confirmation()?.target as HTMLElement);\n }\n\n onReject() {\n this.confirmation()?.rejectEvent?.emit();\n this.hide();\n focus(this.confirmation()?.target as HTMLElement);\n }\n\n onOverlayClick(event: MouseEvent) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n\n bindListeners(): void {\n /*\n * Called inside `setTimeout` to avoid listening to the click event that appears when `confirm` is first called(bubbling).\n * Need wait when bubbling event up and hang the handler on the next tick.\n * This is the case when eventTarget and confirmation.target do not match when the `confirm` method is called.\n */\n setTimeout(() => {\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n });\n }\n\n unbindListeners() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n let documentEvent = isIOS() ? 'touchstart' : 'click';\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentClickListener = this.renderer.listen(documentTarget, documentEvent, (event) => {\n const confirmation = this.confirmation();\n\n if (confirmation && confirmation.dismissableMask !== false) {\n let targetElement = <HTMLElement>confirmation.target;\n\n if (this.container !== event.target && !this.container?.contains(event.target) && targetElement !== event.target && !targetElement.contains(event.target)) {\n this.hide();\n }\n }\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n onWindowResize() {\n if (this.computedVisible() && !isTouchDevice()) {\n this.hide();\n }\n }\n\n bindDocumentResizeListener() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', this.onWindowResize.bind(this));\n }\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.confirmation()?.target, () => {\n if (this.computedVisible()) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n unsubscribeConfirmationSubscriptions() {\n this.confirmation()?.acceptEvent?.unsubscribe();\n this.confirmation()?.rejectEvent?.unsubscribe();\n }\n\n onContainerDestroy() {\n this.unbindListeners();\n this.unsubscribeConfirmationSubscriptions();\n\n if (this.autoZIndex()) {\n ZIndexUtils.clear(this.container);\n }\n\n this.confirmation.set(null);\n this.render.set(false);\n this.container = null;\n }\n\n get acceptButtonLabel(): string {\n return this.confirmation()?.acceptLabel || this.confirmation()?.acceptButtonProps?.label || this.translate(TranslationKeys.ACCEPT);\n }\n\n get rejectButtonLabel(): string {\n return this.confirmation()?.rejectLabel || this.confirmation()?.rejectButtonProps?.label || this.translate(TranslationKeys.REJECT);\n }\n\n get rejectVisible(): boolean {\n return this.confirmation()?.rejectVisible !== false;\n }\n\n get acceptVisible(): boolean {\n return this.confirmation()?.acceptVisible !== false;\n }\n\n get rejectButtonSize() {\n return this.confirmation()?.rejectButtonProps?.size || 'small';\n }\n\n get rejectButtonText(): boolean {\n return this.confirmation()?.rejectButtonProps?.text || false;\n }\n\n get acceptButtonSize() {\n return this.confirmation()?.acceptButtonProps?.size || 'small';\n }\n\n get rejectButtonStyleClass(): string | undefined {\n return this.confirmation()?.rejectButtonStyleClass;\n }\n\n get acceptButtonStyleClass(): string | undefined {\n return this.confirmation()?.acceptButtonStyleClass;\n }\n\n get hasIcon(): boolean {\n return !!this.confirmation()?.icon;\n }\n\n get hasRejectIcon(): boolean {\n return !!this.confirmation()?.rejectIcon;\n }\n\n get hasAcceptIcon(): boolean {\n return !!this.confirmation()?.acceptIcon;\n }\n\n get rejectIcon(): string | undefined {\n return this.confirmation()?.rejectIcon;\n }\n\n get acceptIcon(): string | undefined {\n return this.confirmation()?.acceptIcon;\n }\n\n get message(): string | undefined {\n return this.confirmation()?.message;\n }\n\n onDestroy() {\n this.restoreAppend();\n\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [ConfirmPopup, SharedModule],\n exports: [ConfirmPopup, SharedModule]\n})\nexport class ConfirmPopupModule {}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"primeng-contextmenu.mjs","names":["AngleRightIcon","i1","i2"],"sources":["../../src/contextmenu/contextmenu-token.ts","../../src/contextmenu/style/contextmenustyle.ts","../../src/contextmenu/contextmenu-sub.ts","../../src/contextmenu/contextmenu.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const CONTEXTMENU_INSTANCE = new InjectionToken<any>('CONTEXTMENU_INSTANCE');\nexport const CONTEXTMENUSUB_INSTANCE = new InjectionToken<any>('CONTEXTMENUSUB_INSTANCE');\n","import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/contextmenu';\nimport { BaseStyle } from 'primeng/base';\n\nconst inlineStyles = {\n root: ({ instance }) => ({\n position: 'absolute',\n ...instance.style()\n })\n};\n\nconst classes = {\n root: () => ['p-contextmenu p-component'],\n rootList: 'p-contextmenu-root-list',\n item: ({ instance, processedItem }) => [\n 'p-contextmenu-item',\n {\n 'p-contextmenu-item-active': instance.isItemActive(processedItem),\n 'p-focus': instance.isItemFocused(processedItem),\n 'p-disabled': instance.isItemDisabled(processedItem),\n 'p-contextmenu-mobile': instance.queryMatches()\n }\n ],\n itemContent: 'p-contextmenu-item-content',\n itemLink: 'p-contextmenu-item-link',\n itemIcon: 'p-contextmenu-item-icon',\n itemLabel: 'p-contextmenu-item-label',\n submenuIcon: 'p-contextmenu-submenu-icon',\n submenu: 'p-contextmenu-submenu',\n separator: 'p-contextmenu-separator'\n};\n\n@Injectable()\nexport class ContextMenuStyle extends BaseStyle {\n name = 'contextmenu';\n\n style = style;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * ContextMenu displays an overlay menu on right click of its target. Note that components like DataTable has special integration with ContextMenu.\n * Refer to documentation of the individual documentation of the with context menu support.\n *\n * [Live Demo](https://www.primeng.org/contextmenu/)\n *\n * @module contextmenustyle\n *\n */\nexport enum ContextMenuClasses {\n /**\n * Class name of the root element\n */\n root = 'p-contextmenu',\n /**\n * Class name of the root list element\n */\n rootList = 'p-contextmenu-root-list',\n /**\n * Class name of the item element\n */\n item = 'p-contextmenu-item',\n /**\n * Class name of the item content element\n */\n itemContent = 'p-contextmenu-item-content',\n /**\n * Class name of the item link element\n */\n itemLink = 'p-contextmenu-item-link',\n /**\n * Class name of the item icon element\n */\n itemIcon = 'p-contextmenu-item-icon',\n /**\n * Class name of the item label element\n */\n itemLabel = 'p-contextmenu-item-label',\n /**\n * Class name of the submenu icon element\n */\n submenuIcon = 'p-contextmenu-submenu-icon',\n /**\n * Class name of the submenu element\n */\n submenu = 'p-contextmenu-submenu',\n /**\n * Class name of the separator element\n */\n separator = 'p-contextmenu-separator'\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, Component, computed, effect, ElementRef, inject, input, numberAttribute, output, Renderer2, signal, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { calculateScrollbarWidth, getHiddenElementOuterWidth, getOffset, getOuterWidth, getViewport, isNotEmpty, resolve } from '@primeuix/utils';\nimport { MenuItem, SharedModule } from 'primeng/api';\nimport { BadgeModule } from 'primeng/badge';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BindModule } from 'primeng/bind';\nimport { AngleRight as AngleRightIcon } from '@primeicons/angular/angle-right';\nimport { MotionModule } from 'primeng/motion';\nimport { Ripple } from 'primeng/ripple';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { ContextMenuItemTemplateContext, ContextMenuPassThrough, ContextMenuProcessedItem } from 'primeng/types/contextmenu';\nimport type { ContextMenu } from './contextmenu';\nimport { CONTEXTMENU_INSTANCE, CONTEXTMENUSUB_INSTANCE } from './contextmenu-token';\nimport { ContextMenuStyle } from './style/contextmenustyle';\n\n@Component({\n selector: 'p-contextmenu-sub',\n standalone: true,\n imports: [NgTemplateOutlet, RouterModule, Ripple, TooltipModule, AngleRightIcon, BadgeModule, SharedModule, BindModule, MotionModule],\n template: `\n @if (render()) {\n <ul\n #sublist\n role=\"menu\"\n [class]=\"listClass()\"\n [pBind]=\"listPtm()\"\n [attr.id]=\"listId()\"\n [tabindex]=\"tabindex()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledBy]=\"ariaLabelledBy()\"\n [attr.aria-activedescendant]=\"focusedItemId()\"\n [attr.aria-orientation]=\"'vertical'\"\n (keydown)=\"menuKeydown.emit($event)\"\n (focus)=\"menuFocus.emit($event)\"\n (blur)=\"menuBlur.emit($event)\"\n [pMotion]=\"motionState()\"\n [pMotionAppear]=\"true\"\n [pMotionName]=\"'p-anchored-overlay'\"\n [pMotionOptions]=\"motionOptions()\"\n (pMotionOnBeforeEnter)=\"onBeforeEnter($event)\"\n (pMotionOnAfterLeave)=\"onAfterLeave()\"\n >\n @for (processedItem of items(); track processedItem.key; let index = $index) {\n @if (isItemVisible(processedItem) && getItemProp(processedItem, 'separator')) {\n <li [attr.id]=\"getItemId(processedItem)\" [style]=\"getItemProp(processedItem, 'style')\" [class]=\"cn(cx('separator'), getItemProp(processedItem, 'styleClass'))\" role=\"separator\" [pBind]=\"_ptm('separator')\"></li>\n }\n @if (isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')) {\n <li\n #listItem\n role=\"menuitem\"\n [attr.id]=\"getItemId(processedItem)\"\n [attr.data-p-highlight]=\"isItemActive(processedItem)\"\n [attr.data-p-focused]=\"isItemFocused(processedItem)\"\n [attr.data-p-disabled]=\"isItemDisabled(processedItem)\"\n [attr.aria-label]=\"getItemLabel(processedItem)\"\n [attr.aria-disabled]=\"getAriaDisabled(processedItem)\"\n [attr.aria-haspopup]=\"getAriaHaspopup(processedItem)\"\n [attr.aria-expanded]=\"getAriaExpanded(processedItem)\"\n [attr.aria-level]=\"level() + 1\"\n [attr.aria-setsize]=\"getAriaSetSize()\"\n [attr.aria-posinset]=\"getAriaPosInset(index)\"\n [style]=\"getItemProp(processedItem, 'style')\"\n [class]=\"cn(cx('item', { instance: this, processedItem }), getItemProp(processedItem, 'styleClass'))\"\n [pBind]=\"getPTOptions(processedItem, index, 'item')\"\n pTooltip\n [tooltipOptions]=\"getItemProp(processedItem, 'tooltipOptions')\"\n [pTooltipUnstyled]=\"unstyled()\"\n >\n <div [class]=\"cx('itemContent')\" [pBind]=\"getPTOptions(processedItem, index, 'itemContent')\" (click)=\"onItemClick($event, processedItem)\" (mouseenter)=\"onItemMouseEnter({ originalEvent: $event, processedItem })\">\n @if (!itemTemplate()) {\n @if (!getItemProp(processedItem, 'routerLink')) {\n <a\n [attr.href]=\"getItemProp(processedItem, 'url')\"\n [attr.data-automationid]=\"getItemProp(processedItem, 'automationId')\"\n [attr.title]=\"getItemProp(processedItem, 'title')\"\n [target]=\"getItemProp(processedItem, 'target')\"\n [class]=\"cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))\"\n [style]=\"getItemProp(processedItem, 'linkStyle')\"\n [attr.tabindex]=\"-1\"\n [pBind]=\"getPTOptions(processedItem, index, 'itemLink')\"\n pRipple\n >\n @if (getItemProp(processedItem, 'icon')) {\n <span\n [class]=\"cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))\"\n [style]=\"getItemProp(processedItem, 'iconStyle')\"\n [pBind]=\"getPTOptions(processedItem, index, 'itemIcon')\"\n [attr.aria-hidden]=\"true\"\n [attr.tabindex]=\"-1\"\n >\n </span>\n }\n @if (getItemProp(processedItem, 'escape')) {\n <span [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\" [style]=\"getItemProp(processedItem, 'labelStyle')\" [pBind]=\"getPTOptions(processedItem, index, 'itemLabel')\">\n {{ getItemLabel(processedItem) }}\n </span>\n } @else {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [style]=\"getItemProp(processedItem, 'labelStyle')\"\n [innerHTML]=\"getItemLabel(processedItem)\"\n [pBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n ></span>\n }\n @if (getItemProp(processedItem, 'badge')) {\n <p-badge [class]=\"getItemProp(processedItem, 'badgeStyleClass')\" [value]=\"getItemProp(processedItem, 'badge')\" [unstyled]=\"unstyled()\" />\n }\n @if (isItemGroup(processedItem)) {\n @if (!contextMenu.submenuIconTemplate()) {\n <svg data-p-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [pBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"contextMenu.submenuIconTemplate(); context: { class: 'p-contextmenu-submenu-icon' }\"></ng-container>\n }\n }\n </a>\n } @else {\n <a\n [routerLink]=\"getItemProp(processedItem, 'routerLink')\"\n [attr.data-automationid]=\"getItemProp(processedItem, 'automationId')\"\n [attr.title]=\"getItemProp(processedItem, 'title')\"\n [attr.tabindex]=\"-1\"\n [queryParams]=\"getItemProp(processedItem, 'queryParams')\"\n [routerLinkActive]=\"'p-contextmenu-item-link-active'\"\n [routerLinkActiveOptions]=\"getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }\"\n [target]=\"getItemProp(processedItem, 'target')\"\n [class]=\"cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))\"\n [style]=\"getItemProp(processedItem, 'linkStyle')\"\n [fragment]=\"getItemProp(processedItem, 'fragment')\"\n [queryParamsHandling]=\"getItemProp(processedItem, 'queryParamsHandling')\"\n [preserveFragment]=\"getItemProp(processedItem, 'preserveFragment')\"\n [skipLocationChange]=\"getItemProp(processedItem, 'skipLocationChange')\"\n [replaceUrl]=\"getItemProp(processedItem, 'replaceUrl')\"\n [state]=\"getItemProp(processedItem, 'state')\"\n [pBind]=\"getPTOptions(processedItem, index, 'itemLink')\"\n pRipple\n >\n @if (getItemProp(processedItem, 'icon')) {\n <span\n [class]=\"cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))\"\n [style]=\"getItemProp(processedItem, 'iconStyle')\"\n [pBind]=\"getPTOptions(processedItem, index, 'itemIcon')\"\n [attr.aria-hidden]=\"true\"\n [attr.tabindex]=\"-1\"\n >\n </span>\n }\n @if (getItemProp(processedItem, 'escape')) {\n <span [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\" [style]=\"getItemProp(processedItem, 'labelStyle')\" [pBind]=\"getPTOptions(processedItem, index, 'itemLabel')\">\n {{ getItemLabel(processedItem) }}\n </span>\n } @else {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [style]=\"getItemProp(processedItem, 'labelStyle')\"\n [innerHTML]=\"getItemLabel(processedItem)\"\n [pBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n ></span>\n }\n @if (getItemProp(processedItem, 'badge')) {\n <p-badge [class]=\"getItemProp(processedItem, 'badgeStyleClass')\" [value]=\"getItemProp(processedItem, 'badge')\" [unstyled]=\"unstyled()\" />\n }\n @if (isItemGroup(processedItem)) {\n @if (!contextMenu.submenuIconTemplate()) {\n <svg data-p-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [pBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"contextMenu.submenuIconTemplate(); context: { class: 'p-contextmenu-submenu-icon' }\"></ng-container>\n }\n }\n </a>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: processedItem.item }\"></ng-container>\n }\n </div>\n\n @if (isItemVisible(processedItem) && isItemGroup(processedItem)) {\n <p-contextmenu-sub\n [items]=\"processedItem.items\"\n [itemTemplate]=\"itemTemplate()\"\n [menuId]=\"menuId()\"\n [visible]=\"isItemActive(processedItem) && isItemGroup(processedItem)\"\n [activeItemPath]=\"activeItemPath()\"\n [focusedItemId]=\"focusedItemId()\"\n [level]=\"level() + 1\"\n (itemClick)=\"itemClick.emit($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [pt]=\"pt()\"\n [motionOptions]=\"motionOptions()\"\n [unstyled]=\"unstyled()\"\n />\n }\n </li>\n }\n }\n </ul>\n }\n `,\n encapsulation: ViewEncapsulation.None,\n providers: [ContextMenuStyle, { provide: CONTEXTMENUSUB_INSTANCE, useExisting: ContextMenuSub }, { provide: PARENT_INSTANCE, useExisting: ContextMenuSub }]\n})\nexport class ContextMenuSub extends BaseComponent<ContextMenuPassThrough> {\n visible = input<boolean>(false);\n\n items = input<any[]>();\n\n itemTemplate = input<TemplateRef<ContextMenuItemTemplateContext>>();\n\n root = input(false, { transform: booleanAttribute });\n\n autoZIndex = input(true, { transform: booleanAttribute });\n\n baseZIndex = input(0, { transform: numberAttribute });\n\n popup = input(undefined, { transform: booleanAttribute });\n\n menuId = input<string>();\n\n ariaLabel = input<string>();\n\n ariaLabelledBy = input<string>();\n\n level = input(0, { transform: numberAttribute });\n\n focusedItemId = input<string>();\n\n activeItemPath = input<any[]>();\n\n motionOptions = input<MotionOptions>();\n\n tabindex = input(0, { transform: numberAttribute });\n\n itemClick = output<any>();\n\n itemMouseEnter = output<any>();\n\n menuFocus = output<any>();\n\n menuBlur = output<any>();\n\n menuKeydown = output<any>();\n\n sublistViewChild = viewChild<ElementRef>('sublist');\n\n render = signal<boolean>(false);\n\n listClass = computed(() => (this.root() ? this.cx('rootList') : this.cx('submenu')));\n\n listPtm = computed(() => this._ptm(this.root() ? 'rootList' : 'submenu'));\n\n listId = computed(() => this.menuId() + '_list');\n\n motionState = computed(() => (this.root() ? true : this.visible()));\n\n hostName = 'ContextMenu';\n\n _componentStyle = inject(ContextMenuStyle);\n\n $pcContextMenu: ContextMenu | undefined = inject(CONTEXTMENU_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n $pcContextMenuSub: ContextMenuSub | undefined = inject(CONTEXTMENUSUB_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n el = inject(ElementRef);\n\n renderer = inject(Renderer2);\n\n public contextMenu = inject<ContextMenu>(CONTEXTMENU_INSTANCE);\n\n queryMatches() {\n return this.contextMenu.queryMatches();\n }\n\n constructor() {\n super();\n\n effect(() => {\n const isVisible = this.visible();\n\n if (isVisible || this.root()) {\n this.render.set(true);\n }\n });\n\n this.contextMenu.handleSubmenuAfterLeave = () => {\n if (this.root()) {\n this.onAfterLeave();\n }\n };\n }\n\n getItemProp(processedItem: ContextMenuProcessedItem, name: string, params: Record<string, unknown> | null = null) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name as keyof MenuItem], params) : undefined;\n }\n\n getItemId(processedItem: ContextMenuProcessedItem): string {\n return processedItem.item && processedItem.item?.id ? processedItem.item.id : `${this.menuId()}_${processedItem.key}`;\n }\n\n getItemKey(processedItem: ContextMenuProcessedItem): string {\n return this.getItemId(processedItem);\n }\n\n getItemLabel(processedItem: ContextMenuProcessedItem): string {\n return this.getItemProp(processedItem, 'label') as string;\n }\n\n getAriaSetSize() {\n return this.items()?.filter((processedItem: ContextMenuProcessedItem) => this.isItemVisible(processedItem) && !this.getItemProp(processedItem, 'separator')).length ?? 0;\n }\n\n getAriaPosInset(index: number) {\n return (\n index -\n (this.items()\n ?.slice(0, index)\n .filter((processedItem: ContextMenuProcessedItem) => this.isItemVisible(processedItem) && this.getItemProp(processedItem, 'separator')).length ?? 0) +\n 1\n );\n }\n\n isItemVisible(processedItem: ContextMenuProcessedItem): boolean {\n return this.getItemProp(processedItem, 'visible') !== false;\n }\n\n isItemActive(processedItem: ContextMenuProcessedItem): boolean {\n const path = this.activeItemPath();\n\n if (path) {\n return path.some((p: ContextMenuProcessedItem) => p.key === processedItem.key);\n }\n\n return false;\n }\n\n isItemDisabled(processedItem: ContextMenuProcessedItem): boolean | undefined {\n return this.getItemProp(processedItem, 'disabled') as boolean | undefined;\n }\n\n isItemFocused(processedItem: ContextMenuProcessedItem): boolean {\n return this.focusedItemId() === this.getItemId(processedItem);\n }\n\n isItemGroup(processedItem: ContextMenuProcessedItem): boolean {\n return isNotEmpty(processedItem.items);\n }\n\n getAriaDisabled(processedItem: ContextMenuProcessedItem) {\n return this.isItemDisabled(processedItem) || undefined;\n }\n\n getAriaHaspopup(processedItem: ContextMenuProcessedItem) {\n return this.isItemGroup(processedItem) && !this.getItemProp(processedItem, 'to') ? 'menu' : undefined;\n }\n\n getAriaExpanded(processedItem: ContextMenuProcessedItem) {\n return this.isItemGroup(processedItem) ? this.isItemActive(processedItem) : undefined;\n }\n\n onItemMouseEnter(param: { originalEvent: MouseEvent; processedItem: ContextMenuProcessedItem }) {\n const { originalEvent, processedItem } = param;\n\n this.itemMouseEnter.emit({ originalEvent, processedItem });\n }\n\n onItemClick(event: MouseEvent, processedItem: ContextMenuProcessedItem) {\n this.getItemProp(processedItem, 'command', { originalEvent: event, item: processedItem.item });\n this.itemClick.emit({ originalEvent: event, processedItem, isFocus: true });\n }\n\n onBeforeEnter(event: MotionEvent) {\n this.position(event.element as HTMLUListElement);\n }\n\n onAfterLeave() {\n this.render.set(false);\n }\n\n // TODO: will be removed later. Helper method to get PT from parent ContextMenu if available, otherwise use own PT\n _ptm(section: string, options?: Record<string, unknown>) {\n return this.$pcContextMenu ? this.$pcContextMenu.ptm(section, options) : this.ptm(section, options);\n }\n\n getPTOptions(processedItem: ContextMenuProcessedItem, index: number, key: string) {\n return this._ptm(key, {\n context: {\n item: processedItem.item,\n index: index,\n active: this.isItemActive(processedItem),\n focused: this.isItemFocused(processedItem),\n disabled: this.isItemDisabled(processedItem)\n }\n });\n }\n\n position(sublist: HTMLUListElement) {\n const parentItem = sublist.parentElement?.parentElement;\n\n if (!parentItem) return;\n\n const containerOffset = getOffset(parentItem);\n const viewport = getViewport();\n const sublistWidth = sublist.offsetParent ? sublist.offsetWidth : getHiddenElementOuterWidth(sublist);\n const itemOuterWidth = getOuterWidth(parentItem.children[0]) ?? 0;\n\n sublist.style.top = '0px';\n\n if (parseInt(String(containerOffset?.left ?? 0), 10) + itemOuterWidth + sublistWidth > viewport.width - calculateScrollbarWidth()) {\n sublist.style.left = -1 * sublistWidth + 'px';\n } else {\n sublist.style.left = itemOuterWidth + 'px';\n }\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, effect, inject, input, NgModule, numberAttribute, output, signal, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\nimport { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { appendChild, findLastIndex, findSingle, focus, getHiddenElementOuterHeight, getHiddenElementOuterWidth, getViewport, isAndroid, isEmpty, isIOS, isNotEmpty, isPrintableCharacter, resolve, uuid } from '@primeuix/utils';\nimport { MenuItem, OverlayService, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { BindModule } from 'primeng/bind';\nimport { MotionModule } from 'primeng/motion';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport { ContextMenuItemTemplateContext, ContextMenuPassThrough, ContextMenuProcessedItem, ContextMenuSubmenuIconTemplateContext } from 'primeng/types/contextmenu';\nimport type { AppendTo, CSSProperties } from 'primeng/types/shared';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { ContextMenuSub } from './contextmenu-sub';\nimport { CONTEXTMENU_INSTANCE } from './contextmenu-token';\nimport { ContextMenuStyle } from './style/contextmenustyle';\n\n/**\n * ContextMenu displays an overlay menu on right click of its target. Note that components like Table has special integration with ContextMenu.\n * @group Components\n */\n@Component({\n selector: 'p-contextmenu, p-context-menu',\n standalone: true,\n imports: [ContextMenuSub, SharedModule, BindModule, MotionModule],\n template: `\n @if (render()) {\n <div\n #container\n [attr.id]=\"_id\"\n [class]=\"cn(cx('root'), styleClass())\"\n [style]=\"sx('root')\"\n [pBind]=\"ptm('root')\"\n [pMotion]=\"visible()\"\n [pMotionName]=\"'p-anchored-overlay'\"\n [pMotionAppear]=\"true\"\n [pMotionOptions]=\"computedMotionOptions()\"\n (pMotionOnBeforeEnter)=\"onBeforeEnter($event)\"\n (pMotionOnAfterEnter)=\"onAfterEnter()\"\n (pMotionOnAfterLeave)=\"onAfterLeave()\"\n >\n <p-contextmenu-sub\n #rootmenu\n [root]=\"true\"\n [items]=\"processedItems\"\n [itemTemplate]=\"itemTemplate()\"\n [menuId]=\"_id\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledBy]=\"ariaLabelledBy()\"\n [baseZIndex]=\"baseZIndex()\"\n [autoZIndex]=\"autoZIndex()\"\n [visible]=\"submenuVisible()\"\n [focusedItemId]=\"focused ? focusedItemId : undefined\"\n [activeItemPath]=\"activeItemPath()\"\n (itemClick)=\"onItemClick($event)\"\n (menuFocus)=\"onMenuFocus($event)\"\n (menuBlur)=\"onMenuBlur($event)\"\n (menuKeydown)=\"onKeyDown($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [pt]=\"pt()\"\n [unstyled]=\"unstyled()\"\n [motionOptions]=\"computedMotionOptions()\"\n />\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ContextMenuStyle, { provide: CONTEXTMENU_INSTANCE, useExisting: ContextMenu }]\n})\nexport class ContextMenu extends BaseComponent<ContextMenuPassThrough> {\n componentName = 'ContextMenu';\n\n /**\n * An array of menuitems.\n * @group Props\n */\n model = input<MenuItem[]>();\n /**\n * Event for which the menu must be displayed.\n * @group Props\n */\n triggerEvent = input('contextmenu');\n /**\n * Local template variable name of the element to attach the context menu.\n * @group Props\n */\n target = input<HTMLElement | string | null>();\n /**\n * Attaches the menu to document instead of a particular item.\n * @group Props\n */\n global = input(false, { transform: booleanAttribute });\n /**\n * Inline style of the component.\n * @group Props\n */\n style = input<CSSProperties>();\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass = input<string>();\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n autoZIndex = input(true, { transform: booleanAttribute });\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n baseZIndex = input(0, { transform: numberAttribute });\n /**\n * Current id state as a string.\n * @group Props\n */\n id = input<string>();\n\n _id: string | undefined;\n /**\n * The breakpoint to define the maximum width boundary.\n * @group Props\n */\n breakpoint = input('960px');\n /**\n * Defines a string value that labels an interactive element.\n * @group Props\n */\n ariaLabel = input<string>();\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n /**\n * Press delay in touch devices as miliseconds.\n * @group Props\n */\n pressDelay = input(500, { transform: numberAttribute });\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<AppendTo>(undefined);\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n\n computedMotionOptions = computed<MotionOptions>(() => ({\n ...this.ptm('motion'),\n ...this.motionOptions()\n }));\n /**\n * Callback to invoke when overlay menu is shown.\n * @group Emits\n */\n onShow = output<void>();\n /**\n * Callback to invoke when overlay menu is hidden.\n * @group Emits\n */\n onHide = output<void>();\n\n rootmenu = viewChild<ContextMenuSub>('rootmenu');\n\n container: HTMLElement | null | undefined;\n\n handleSubmenuAfterLeave: (() => void) | null = null;\n\n outsideClickListener: VoidListener;\n\n resizeListener: VoidListener;\n\n triggerEventListener: VoidListener;\n\n documentClickListener: VoidListener;\n\n documentTriggerListener: VoidListener;\n\n touchEndListener: VoidListener;\n\n pageX: number;\n\n pageY: number;\n\n visible = signal(false);\n\n render = signal<boolean>(false);\n\n focused: boolean = false;\n\n activeItemPath = signal<any>([]);\n\n focusedItemInfo = signal<any>({ index: -1, level: 0, parentKey: '', item: null });\n\n submenuVisible = signal<boolean>(false);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n searchValue: string = '';\n\n searchTimeout: any;\n\n _processedItems: any[];\n\n pressTimer: any;\n\n hideCallback: any;\n\n private matchMediaListener: (() => void) | null;\n\n private query: MediaQueryList;\n\n public queryMatches = signal<boolean>(false);\n\n _componentStyle = inject(ContextMenuStyle);\n\n overlayService = inject(OverlayService);\n\n get visibleItems(): ContextMenuProcessedItem[] {\n const processedItem = this.activeItemPath().find((p: ContextMenuProcessedItem) => p.key === this.focusedItemInfo().parentKey);\n\n return processedItem ? (processedItem.items ?? []) : this.processedItems;\n }\n\n get processedItems() {\n if (!this._processedItems || !this._processedItems.length) {\n this._processedItems = this.createProcessedItems(this.model() || []);\n }\n\n return this._processedItems;\n }\n\n get focusedItemId() {\n const focusedItem = this.focusedItemInfo();\n\n return focusedItem.item && focusedItem.item?.id ? focusedItem.item.id : focusedItem.index !== -1 ? `${this._id}${isNotEmpty(focusedItem.parentKey) ? '_' + focusedItem.parentKey : ''}_${focusedItem.index}` : null;\n }\n\n constructor() {\n super();\n\n effect(() => {\n const value = this.model();\n\n this._processedItems = this.createProcessedItems(value || []);\n });\n\n effect(() => {\n const path = this.activeItemPath();\n\n if (isNotEmpty(path)) {\n this.bindGlobalListeners();\n } else if (!this.visible()) {\n this.unbindGlobalListeners();\n }\n });\n }\n\n /**\n * Custom item template.\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<ContextMenuItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom submenu icon template.\n * @group Templates\n */\n submenuIconTemplate = contentChild<TemplateRef<ContextMenuSubmenuIconTemplateContext>>('submenuicon', { descendants: false });\n\n onInit() {\n this._id = this.id() || uuid('pn_id_');\n this.bindMatchMediaListener();\n this.bindTriggerEventListener();\n }\n\n isMobile() {\n return isIOS() || isAndroid();\n }\n bindTriggerEventListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.triggerEventListener) {\n const targetEl = this.target();\n const triggerEventName = this.triggerEvent();\n\n if (!this.isMobile()) {\n if (this.global()) {\n this.triggerEventListener = this.renderer.listen(this.document, triggerEventName, (event) => {\n this.show(event);\n });\n } else if (targetEl) {\n this.triggerEventListener = this.renderer.listen(targetEl, triggerEventName, (event) => {\n this.show(event);\n });\n }\n } else {\n if (this.global()) {\n this.triggerEventListener = this.renderer.listen(this.document, 'touchstart', this.onTouchStart.bind(this));\n this.touchEndListener = this.renderer.listen(this.document, 'touchend', this.onTouchEnd.bind(this));\n } else if (targetEl) {\n this.triggerEventListener = this.renderer.listen(targetEl, 'touchstart', this.onTouchStart.bind(this));\n this.touchEndListener = this.renderer.listen(targetEl, 'touchend', this.onTouchEnd.bind(this));\n }\n }\n }\n }\n }\n\n bindGlobalListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.documentClickListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', (event) => {\n if (this.container?.offsetParent && this.isOutsideClicked(event) && !event.ctrlKey && event.button !== 2) {\n this.hide();\n }\n });\n }\n\n if (!this.resizeListener) {\n this.resizeListener = this.renderer.listen(this.document.defaultView, 'resize', () => {\n this.hide();\n });\n }\n }\n }\n\n getPTOptions(key: string, item: MenuItem, index: number, _id: string) {\n return this.ptm(key, {\n context: {\n item: item,\n index: index,\n focused: this.isItemFocused({ index, item }),\n disabled: this.isItemDisabled(item)\n }\n });\n }\n\n isItemFocused(itemInfo: { index: number; item: MenuItem }): boolean {\n return this.focusedItemInfo().index === itemInfo.index;\n }\n\n createProcessedItems(items: MenuItem[], level: number = 0, parent: ContextMenuProcessedItem | Record<string, never> = {}, parentKey: string = ''): ContextMenuProcessedItem[] {\n const processedItems: ContextMenuProcessedItem[] = [];\n\n if (items) {\n items.forEach((item: MenuItem, index: number) => {\n const key = (parentKey !== '' ? parentKey + '_' : '') + index;\n const newItem: ContextMenuProcessedItem = {\n item,\n index,\n level,\n key,\n parent,\n parentKey\n };\n\n newItem.items = this.createProcessedItems(item.items ?? [], level + 1, newItem, key);\n processedItems.push(newItem);\n });\n }\n\n return processedItems;\n }\n\n bindMatchMediaListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.matchMediaListener) {\n const query = window.matchMedia(`(max-width: ${this.breakpoint()})`);\n\n this.query = query;\n this.queryMatches.set(query.matches);\n\n this.matchMediaListener = () => {\n this.queryMatches.set(query.matches);\n this.cd.markForCheck();\n };\n\n query.addEventListener('change', this.matchMediaListener);\n }\n }\n }\n\n unbindMatchMediaListener() {\n if (this.matchMediaListener) {\n this.query.removeEventListener('change', this.matchMediaListener);\n this.matchMediaListener = null;\n }\n }\n\n getItemProp(item: MenuItem, name: string) {\n return item ? resolve(item[name as keyof MenuItem]) : undefined;\n }\n\n getProccessedItemLabel(processedItem: ContextMenuProcessedItem) {\n return processedItem ? this.getItemLabel(processedItem.item) : undefined;\n }\n\n getItemLabel(item: MenuItem) {\n return this.getItemProp(item, 'label');\n }\n\n isProcessedItemGroup(processedItem: ContextMenuProcessedItem): boolean {\n return processedItem && isNotEmpty(processedItem.items);\n }\n\n isSelected(processedItem: ContextMenuProcessedItem): boolean {\n return this.activeItemPath().some((p: ContextMenuProcessedItem) => p.key === processedItem.key);\n }\n\n isValidSelectedItem(processedItem: ContextMenuProcessedItem): boolean {\n return this.isValidItem(processedItem) && this.isSelected(processedItem);\n }\n\n isValidItem(processedItem: ContextMenuProcessedItem): boolean {\n return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item);\n }\n\n isItemDisabled(item: MenuItem): boolean {\n return this.getItemProp(item, 'disabled') as boolean;\n }\n\n isItemSeparator(item: MenuItem): boolean {\n return this.getItemProp(item, 'separator') as boolean;\n }\n\n isItemMatched(processedItem: ContextMenuProcessedItem): boolean {\n return this.isValidItem(processedItem) && this.getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase());\n }\n\n isProccessedItemGroup(processedItem: ContextMenuProcessedItem): boolean {\n return processedItem && isNotEmpty(processedItem.items);\n }\n\n onItemClick(event: { processedItem: ContextMenuProcessedItem; isFocus?: boolean }) {\n const { processedItem } = event;\n const grouped = this.isProcessedItemGroup(processedItem);\n const selected = this.isSelected(processedItem);\n\n if (selected) {\n const { index, key, level, parentKey, item } = processedItem;\n\n this.activeItemPath.set(this.activeItemPath().filter((p: ContextMenuProcessedItem) => key !== p.key && key.startsWith(p.key)));\n this.focusedItemInfo.set({ index, level, parentKey, item });\n\n focus(this.rootmenu()?.sublistViewChild()?.nativeElement);\n } else {\n if (grouped) {\n this.onItemChange(event);\n } else {\n this.hide();\n }\n }\n }\n\n onItemMouseEnter(event: { originalEvent: MouseEvent; processedItem: ContextMenuProcessedItem }) {\n this.onItemChange(event, 'hover');\n }\n\n onKeyDown(event: KeyboardEvent) {\n const metaKey = event.metaKey || event.ctrlKey;\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Space':\n this.onSpaceKey(event);\n break;\n\n case 'Enter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'PageDown':\n case 'PageUp':\n case 'Backspace':\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n if (!metaKey && isPrintableCharacter(event.key)) {\n this.searchItems(event, event.key);\n }\n\n break;\n }\n }\n\n onArrowDownKey(event: KeyboardEvent) {\n const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();\n\n this.changeFocusedItemIndex(event, itemIndex);\n event.preventDefault();\n }\n\n onArrowRightKey(event: KeyboardEvent) {\n const processedItem = this.visibleItems[this.focusedItemInfo().index];\n const grouped = this.isProccessedItemGroup(processedItem);\n\n if (grouped) {\n this.onItemChange({ originalEvent: event, processedItem });\n this.focusedItemInfo.set({ index: -1, parentKey: processedItem.key, item: processedItem.item });\n this.searchValue = '';\n this.onArrowDownKey(event);\n }\n\n event.preventDefault();\n }\n\n onArrowUpKey(event: KeyboardEvent) {\n if (event.altKey) {\n if (this.focusedItemInfo().index !== -1) {\n const processedItem = this.visibleItems[this.focusedItemInfo().index];\n const grouped = this.isProccessedItemGroup(processedItem);\n\n if (!grouped) {\n this.onItemChange({ originalEvent: event, processedItem });\n }\n }\n\n this.hide();\n event.preventDefault();\n } else {\n const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();\n\n this.changeFocusedItemIndex(event, itemIndex);\n event.preventDefault();\n }\n }\n\n onArrowLeftKey(event: KeyboardEvent) {\n const processedItem = this.visibleItems[this.focusedItemInfo().index];\n\n if (!processedItem) return;\n\n const parentItem = this.activeItemPath().find((p: ContextMenuProcessedItem) => p.key === processedItem.parentKey);\n const root = isEmpty(processedItem.parent);\n\n if (!root) {\n this.focusedItemInfo.set({ index: -1, parentKey: parentItem ? parentItem.parentKey : '', item: processedItem.item });\n this.searchValue = '';\n this.onArrowDownKey(event);\n }\n\n const activeItemPath = this.activeItemPath().filter((p: ContextMenuProcessedItem) => p.parentKey !== this.focusedItemInfo().parentKey);\n\n this.activeItemPath.set(activeItemPath);\n\n event.preventDefault();\n }\n\n onHomeKey(event: KeyboardEvent) {\n this.changeFocusedItemIndex(event, this.findFirstItemIndex());\n event.preventDefault();\n }\n\n onEndKey(event: KeyboardEvent) {\n this.changeFocusedItemIndex(event, this.findLastItemIndex());\n event.preventDefault();\n }\n\n onSpaceKey(event: KeyboardEvent) {\n this.onEnterKey(event);\n }\n\n onEscapeKey(event: KeyboardEvent) {\n this.hide();\n const processedItem = this.findVisibleItem(this.findFirstFocusedItemIndex());\n const focusedItemInfo = this.focusedItemInfo();\n\n this.focusedItemInfo.set({ ...focusedItemInfo, index: this.findFirstFocusedItemIndex(), item: processedItem?.item ?? null });\n\n event.preventDefault();\n }\n\n onTabKey(event: KeyboardEvent) {\n if (this.focusedItemInfo().index !== -1) {\n const processedItem = this.visibleItems[this.focusedItemInfo().index];\n const grouped = this.isProccessedItemGroup(processedItem);\n\n if (!grouped) {\n this.onItemChange({ originalEvent: event, processedItem });\n }\n }\n\n this.hide();\n }\n\n onEnterKey(event: KeyboardEvent) {\n if (this.focusedItemInfo().index !== -1) {\n const element = <any>findSingle(this.rootmenu()?.el?.nativeElement, `li[id=\"${`${this.focusedItemId}`}\"]`);\n const anchorElement = element && (<any>findSingle(element, '[data-pc-section=\"itemlink\"]') || findSingle(element, 'a,button'));\n\n if (anchorElement) {\n anchorElement.click();\n } else {\n if (element) {\n element.click();\n }\n }\n\n const processedItem = this.visibleItems[this.focusedItemInfo().index];\n const grouped = this.isProccessedItemGroup(processedItem);\n\n if (!grouped) {\n const focusedItemInfo = this.focusedItemInfo();\n\n this.focusedItemInfo.set({ ...focusedItemInfo, index: this.findFirstFocusedItemIndex() });\n }\n }\n\n event.preventDefault();\n }\n\n onItemChange(event: { originalEvent?: Event; processedItem: ContextMenuProcessedItem; isFocus?: boolean }, type?: string) {\n const { processedItem, isFocus } = event;\n\n if (isEmpty(processedItem)) return;\n\n const { index, key, level, parentKey, items } = processedItem;\n const grouped = isNotEmpty(items);\n const activeItemPath = this.activeItemPath().filter((p: ContextMenuProcessedItem) => p.parentKey !== parentKey && p.parentKey !== key);\n\n if (grouped) {\n activeItemPath.push(processedItem);\n this.submenuVisible.set(true);\n }\n\n this.focusedItemInfo.set({ index, level, parentKey, item: processedItem.item });\n\n if (isFocus) {\n focus(this.rootmenu()?.sublistViewChild()?.nativeElement);\n }\n\n if (type === 'hover' && this.queryMatches()) {\n return;\n }\n\n this.activeItemPath.set(activeItemPath);\n }\n\n onMenuFocus(_event: FocusEvent) {\n this.focused = true;\n const focusedItemInfo = this.focusedItemInfo().index !== -1 ? this.focusedItemInfo() : { index: -1, level: 0, parentKey: '', item: null };\n\n this.focusedItemInfo.set(focusedItemInfo);\n }\n\n onMenuBlur(_event: FocusEvent) {\n this.focused = false;\n this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });\n this.searchValue = '';\n }\n\n onBeforeEnter(event: MotionEvent) {\n this.container = event.element as HTMLElement;\n this.appendOverlay();\n this.moveOnTop();\n this.position();\n\n if (this.$attrSelector) {\n this.container?.setAttribute(this.$attrSelector, '');\n }\n }\n\n onAfterEnter() {\n this.bindGlobalListeners();\n focus(this.rootmenu()?.sublistViewChild()?.nativeElement);\n }\n\n onAfterLeave() {\n this.restoreOverlayAppend();\n this.onOverlayHide();\n this.handleSubmenuAfterLeave?.();\n this.render.set(false);\n }\n\n appendOverlay() {\n if (this.$appendTo() && this.$appendTo() !== 'self') {\n if (this.$appendTo() === 'body') {\n appendChild(this.document.body, this.container!);\n } else {\n appendChild(this.$appendTo(), this.container!);\n }\n }\n }\n\n restoreOverlayAppend() {\n if (this.container && this.$appendTo() !== 'self') {\n this.el.nativeElement.appendChild(this.container!);\n }\n }\n\n moveOnTop() {\n if (this.autoZIndex() && this.container) {\n ZIndexUtils.set('menu', this.container, this.baseZIndex() + this.config.zIndex.menu);\n }\n }\n\n onOverlayHide() {\n this.unbindGlobalListeners();\n\n if (this.container && this.autoZIndex()) {\n ZIndexUtils.clear(this.container);\n }\n\n this.container = null;\n }\n\n onTouchStart(event: MouseEvent) {\n this.pressTimer = setTimeout(() => {\n this.show(event);\n }, this.pressDelay());\n }\n\n onTouchEnd() {\n clearTimeout(this.pressTimer);\n }\n\n hide() {\n this.visible.set(false);\n this.onHide.emit();\n\n this.hideCallback?.();\n this.activeItemPath.set([]);\n this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });\n }\n\n toggle(event?: any) {\n if (this.visible()) {\n this.hide();\n } else {\n this.show(event);\n }\n }\n\n show(event: any) {\n this.activeItemPath.set([]);\n this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });\n focus(this.rootmenu()?.sublistViewChild()?.nativeElement);\n\n this.pageX = event.pageX;\n this.pageY = event.pageY;\n\n this.onShow.emit();\n\n if (this.visible()) {\n this.position();\n } else {\n this.visible.set(true);\n }\n\n this.render.set(true);\n\n event.stopPropagation();\n event.preventDefault();\n }\n\n position() {\n if (!this.document.scrollingElement || !this.container) return;\n\n let left = this.pageX + 1;\n let top = this.pageY + 1;\n let width = this.container.offsetParent ? this.container.offsetWidth : getHiddenElementOuterWidth(this.container);\n let height = this.container.offsetParent ? this.container.offsetHeight : getHiddenElementOuterHeight(this.container);\n let viewport = getViewport();\n\n //flip\n if (left + width - this.document.scrollingElement.scrollLeft > viewport.width) {\n left -= width;\n }\n\n //flip\n if (top + height - this.document.scrollingElement.scrollTop > viewport.height) {\n top -= height;\n }\n\n //fit\n if (left < this.document.scrollingElement.scrollLeft) {\n left = this.document.scrollingElement.scrollLeft;\n }\n\n //fit\n if (top < this.document.scrollingElement.scrollTop) {\n top = this.document.scrollingElement.scrollTop;\n }\n\n this.container.style.left = left + 'px';\n this.container.style.top = top + 'px';\n }\n\n searchItems(event: any, char: string) {\n this.searchValue = (this.searchValue || '') + char;\n\n let itemIndex = -1;\n let matched = false;\n\n if (this.focusedItemInfo().index !== -1) {\n itemIndex = this.visibleItems.slice(this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem));\n itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem)) : itemIndex + this.focusedItemInfo().index;\n } else {\n itemIndex = this.visibleItems.findIndex((processedItem) => this.isItemMatched(processedItem));\n }\n\n if (itemIndex !== -1) {\n matched = true;\n }\n\n if (itemIndex === -1 && this.focusedItemInfo().index === -1) {\n itemIndex = this.findFirstFocusedItemIndex();\n }\n\n if (itemIndex !== -1) {\n this.changeFocusedItemIndex(event, itemIndex);\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = '';\n this.searchTimeout = null;\n }, 500);\n\n return matched;\n }\n\n findVisibleItem(index: number): ContextMenuProcessedItem | null {\n return isNotEmpty(this.visibleItems) ? this.visibleItems[index] : null;\n }\n\n findLastFocusedItemIndex() {\n const selectedIndex = this.findSelectedItemIndex();\n\n return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;\n }\n\n findLastItemIndex() {\n return findLastIndex(this.visibleItems, (processedItem: ContextMenuProcessedItem) => this.isValidItem(processedItem));\n }\n\n findPrevItemIndex(index: number) {\n const matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), (processedItem: ContextMenuProcessedItem) => this.isValidItem(processedItem)) : -1;\n\n return matchedItemIndex > -1 ? matchedItemIndex : index;\n }\n\n findNextItemIndex(index: number) {\n const matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex((processedItem: ContextMenuProcessedItem) => this.isValidItem(processedItem)) : -1;\n\n return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;\n }\n\n findFirstFocusedItemIndex() {\n const selectedIndex = this.findSelectedItemIndex();\n\n return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;\n }\n\n findFirstItemIndex() {\n return this.visibleItems.findIndex((processedItem: ContextMenuProcessedItem) => this.isValidItem(processedItem));\n }\n\n findSelectedItemIndex() {\n return this.visibleItems.findIndex((processedItem: ContextMenuProcessedItem) => this.isValidSelectedItem(processedItem));\n }\n\n changeFocusedItemIndex(_event: KeyboardEvent, index: number) {\n const processedItem = this.findVisibleItem(index);\n const focusedItemInfo = this.focusedItemInfo();\n\n if (focusedItemInfo.index !== index) {\n this.focusedItemInfo.set({ ...focusedItemInfo, index, item: processedItem?.item ?? null });\n this.scrollInView();\n }\n }\n\n scrollInView(index: number = -1) {\n const id = index !== -1 ? `${this._id}_${index}` : this.focusedItemId;\n const element = findSingle(this.rootmenu()?.el?.nativeElement, `li[id=\"${id}\"]`);\n\n if (element) {\n if (element.scrollIntoView) {\n element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n }\n }\n\n bindResizeListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.resizeListener) {\n this.resizeListener = this.renderer.listen(this.document.defaultView, 'resize', () => {\n this.hide();\n });\n }\n }\n }\n\n isOutsideClicked(event: Event) {\n return !(this.container?.isSameNode(event.target as Node) || this.container?.contains(event.target as Node));\n }\n\n unbindResizeListener() {\n if (this.resizeListener) {\n this.resizeListener();\n this.resizeListener = null;\n }\n }\n\n unbindGlobalListeners() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n\n if (this.documentTriggerListener) {\n this.documentTriggerListener();\n this.documentTriggerListener = null;\n }\n\n if (this.resizeListener) {\n this.resizeListener();\n this.resizeListener = null;\n }\n\n if (this.touchEndListener) {\n this.touchEndListener();\n this.touchEndListener = null;\n }\n }\n\n unbindTriggerEventListener() {\n if (this.triggerEventListener) {\n this.triggerEventListener();\n this.triggerEventListener = null;\n }\n }\n\n onDestroy() {\n this.unbindGlobalListeners();\n this.unbindTriggerEventListener();\n this.unbindMatchMediaListener();\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n}\n\n@NgModule({\n imports: [ContextMenu, SharedModule],\n exports: [ContextMenu, SharedModule]\n})\nexport class ContextMenuModule {}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"primeng-dataview.mjs","names":["SpinnerIcon"],"sources":["../../src/dataview/style/dataviewstyle.ts","../../src/dataview/dataview.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/dataview';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => {\n const layout = instance.layout();\n\n return [\n 'p-dataview p-component',\n {\n 'p-dataview-list': layout === 'list',\n 'p-dataview-grid': layout === 'grid'\n }\n ];\n },\n header: 'p-dataview-header',\n loading: 'p-dataview-loading',\n loadingOverlay: 'p-dataview-loading-overlay p-overlay-mask',\n loadingIcon: 'p-dataview-loading-icon',\n pcPaginator: ({ position }) => 'p-dataview-paginator-' + position,\n content: 'p-dataview-content',\n emptyMessage: 'p-dataview-empty-message',\n footer: 'p-dataview-footer'\n};\n\n@Injectable()\nexport class DataViewStyle extends BaseStyle {\n name = 'dataview';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * DataView displays data in grid or list layout with pagination and sorting features.\n *\n * [Live Demo](https://www.primeng.org/dataview/)\n *\n * @module dataviewstyle\n *\n */\nexport enum DataViewClasses {\n /**\n * Class name of the root element\n */\n root = 'p-dataview',\n /**\n * Class name of the header element\n */\n header = 'p-dataview-header',\n /**\n * Class name of the loading element\n */\n loading = 'p-dataview-loading',\n /**\n * Class name of the loading overlay element\n */\n loadingOverlay = 'p-dataview-loading-overlay',\n /**\n * Class name of the loading icon element\n */\n loadingIcon = 'p-dataview-loading-icon',\n /**\n * Class name of the paginator element\n */\n pcPaginator = 'p-dataview-paginator-[position]',\n /**\n * Class name of the content element\n */\n content = 'p-dataview-content',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-dataview-empty-message',\n /**\n * Class name of the footer element\n */\n footer = 'p-dataview-footer'\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, effect, inject, InjectionToken, input, model, NgModule, numberAttribute, output, signal, TemplateRef, untracked, ViewEncapsulation } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { Spinner as SpinnerIcon } from '@primeicons/angular/spinner';\nimport { resolveFieldData } from '@primeuix/utils';\nimport { BlockableUI, FilterService, Footer, Header, TranslationKeys } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { PaginatorModule } from 'primeng/paginator';\nimport {\n DataViewGridTemplateContext,\n DataViewLayout,\n DataViewLayoutChangeEvent,\n DataViewLazyLoadEvent,\n DataViewListTemplateContext,\n DataViewPageEvent,\n DataViewPaginatorDropdownItemTemplateContext,\n DataViewPaginatorLeftTemplateContext,\n DataViewPaginatorPosition,\n DataViewPaginatorRightTemplateContext,\n DataViewPaginatorState,\n DataViewPassThrough,\n DataViewSortEvent\n} from 'primeng/types/dataview';\nimport type { AppendTo } from 'primeng/types/shared';\nimport { DataViewStyle } from './style/dataviewstyle';\n\nconst DATAVIEW_INSTANCE = new InjectionToken<DataView>('DATAVIEW_INSTANCE');\n\n/**\n * DataView displays data in grid or list layout with pagination and sorting features.\n * @group Components\n */\n@Component({\n selector: 'p-dataview, p-data-view',\n standalone: true,\n imports: [NgTemplateOutlet, PaginatorModule, SpinnerIcon, Bind],\n template: `\n @if (loading()) {\n <div [pBind]=\"ptm('loading')\" [class]=\"cx('loading')\">\n <div [pBind]=\"ptm('loadingOverlay')\" [class]=\"cx('loadingOverlay')\">\n @if (loadingIcon()) {\n <i [class]=\"cn(cx('loadingIcon'), 'pi-spin' + loadingIcon())\"></i>\n } @else {\n <ng-container>\n <svg [pBind]=\"ptm('loadingIcon')\" data-p-icon=\"spinner\" [class]=\"cx('loadingIcon')\" [spin]=\"true\" />\n <ng-template *ngTemplateOutlet=\"loadingicon()\"></ng-template>\n </ng-container>\n }\n </div>\n </div>\n }\n @if (showHeader()) {\n <div [pBind]=\"ptm('header')\" [class]=\"cx('header')\">\n <ng-content select=\"p-header\" />\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n </div>\n }\n @if (showTopPaginator()) {\n <p-paginator\n [rows]=\"rows()\"\n [first]=\"first()\"\n [totalRecords]=\"totalRecords()\"\n [pageLinkSize]=\"pageLinks()\"\n [alwaysShow]=\"alwaysShowPaginator()\"\n (onPageChange)=\"paginate($event)\"\n [rowsPerPageOptions]=\"rowsPerPageOptions()\"\n [appendTo]=\"paginatorDropdownAppendTo()\"\n [dropdownScrollHeight]=\"paginatorDropdownScrollHeight()\"\n [templateLeft]=\"paginatorleft()\"\n [templateRight]=\"paginatorright()\"\n [currentPageReportTemplate]=\"currentPageReportTemplate()\"\n [showFirstLastIcon]=\"showFirstLastIcon()\"\n [dropdownItemTemplate]=\"paginatordropdownitem()\"\n [showCurrentPageReport]=\"showCurrentPageReport()\"\n [showJumpToPageDropdown]=\"showJumpToPageDropdown()\"\n [showPageLinks]=\"showPageLinks()\"\n [class]=\"cn(cx('pcPaginator', { position: 'top' }), paginatorStyleClass())\"\n [pt]=\"ptm('pcPaginator')\"\n [unstyled]=\"unstyled()\"\n ></p-paginator>\n }\n <div [pBind]=\"ptm('content')\" [class]=\"cx('content')\">\n @if (isListLayout()) {\n <ng-container\n *ngTemplateOutlet=\"\n listTemplate();\n context: {\n $implicit: displayedItems()\n }\n \"\n ></ng-container>\n }\n @if (isGridLayout()) {\n <ng-container\n *ngTemplateOutlet=\"\n gridTemplate();\n context: {\n $implicit: displayedItems()\n }\n \"\n ></ng-container>\n }\n @if (showEmptyMessage()) {\n <div [pBind]=\"ptm('emptyMessage')\" [class]=\"cx('emptyMessage')\">\n @if (!emptymessageTemplate()) {\n {{ emptyMessageLabel() }}\n } @else {\n <ng-container *ngTemplateOutlet=\"emptymessageTemplate()\"></ng-container>\n }\n </div>\n }\n </div>\n @if (showBottomPaginator()) {\n <p-paginator\n [rows]=\"rows()\"\n [first]=\"first()\"\n [totalRecords]=\"totalRecords()\"\n [pageLinkSize]=\"pageLinks()\"\n [alwaysShow]=\"alwaysShowPaginator()\"\n (onPageChange)=\"paginate($event)\"\n [rowsPerPageOptions]=\"rowsPerPageOptions()\"\n [appendTo]=\"paginatorDropdownAppendTo()\"\n [dropdownScrollHeight]=\"paginatorDropdownScrollHeight()\"\n [templateLeft]=\"paginatorleft()\"\n [templateRight]=\"paginatorright()\"\n [currentPageReportTemplate]=\"currentPageReportTemplate()\"\n [showFirstLastIcon]=\"showFirstLastIcon()\"\n [dropdownItemTemplate]=\"paginatordropdownitem()\"\n [showCurrentPageReport]=\"showCurrentPageReport()\"\n [showJumpToPageDropdown]=\"showJumpToPageDropdown()\"\n [showPageLinks]=\"showPageLinks()\"\n [class]=\"cn(cx('pcPaginator', { position: 'bottom' }), paginatorStyleClass())\"\n [pt]=\"ptm('pcPaginator')\"\n [unstyled]=\"unstyled()\"\n ></p-paginator>\n }\n @if (showFooter()) {\n <div [pBind]=\"ptm('footer')\" [class]=\"cx('footer')\">\n <ng-content select=\"p-footer\" />\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [DataViewStyle, { provide: DATAVIEW_INSTANCE, useExisting: DataView }, { provide: PARENT_INSTANCE, useExisting: DataView }],\n host: {\n '[class]': \"cx('root')\"\n },\n hostDirectives: [Bind]\n})\nexport class DataView extends BaseComponent<DataViewPassThrough> implements BlockableUI {\n componentName = 'DataView';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pcDataView: DataView | undefined = inject(DATAVIEW_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n /**\n * When specified as true, enables the pagination.\n * @group Props\n */\n paginator = input(false, { transform: booleanAttribute });\n /**\n * Number of rows to display per page.\n * @group Props\n */\n rows = model(0);\n /**\n * Number of total records, defaults to length of value when not defined.\n * @group Props\n */\n totalRecords = model<number>();\n /**\n * Number of page links to display in paginator.\n * @group Props\n */\n pageLinks = input(5, { transform: numberAttribute });\n /**\n * Array of integer/object values to display inside rows per page dropdown of paginator\n * @group Props\n */\n rowsPerPageOptions = input<number[] | any[]>();\n /**\n * Position of the paginator.\n * @group Props\n */\n paginatorPosition = input<DataViewPaginatorPosition>('bottom');\n /**\n * Custom style class for paginator\n * @group Props\n */\n paginatorStyleClass = input<string>();\n /**\n * Whether to show it even there is only one page.\n * @group Props\n */\n alwaysShowPaginator = input(true, { transform: booleanAttribute });\n /**\n * Target element to attach the paginator dropdown overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n paginatorDropdownAppendTo = input<AppendTo>();\n /**\n * Paginator dropdown height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n paginatorDropdownScrollHeight = input('200px');\n /**\n * Template of the current page report element. Available placeholders are {currentPage},{totalPages},{rows},{first},{last} and {totalRecords}\n * @group Props\n */\n currentPageReportTemplate = input('{currentPage} of {totalPages}');\n /**\n * Whether to display current page report.\n * @group Props\n */\n showCurrentPageReport = input(false, { transform: booleanAttribute });\n /**\n * Whether to display a dropdown to navigate to any page.\n * @group Props\n */\n showJumpToPageDropdown = input(false, { transform: booleanAttribute });\n /**\n * When enabled, icons are displayed on paginator to go first and last page.\n * @group Props\n */\n showFirstLastIcon = input(true, { transform: booleanAttribute });\n /**\n * Whether to show page links.\n * @group Props\n */\n showPageLinks = input(true, { transform: booleanAttribute });\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n lazy = input(false, { transform: booleanAttribute });\n /**\n * Whether to call lazy loading on initialization.\n * @group Props\n */\n lazyLoadOnInit = input(true, { transform: booleanAttribute });\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n emptyMessage = input('');\n /**\n * Style class of the grid.\n * @group Props\n */\n gridStyleClass = input('');\n /**\n * Function to optimize the dom operations by delegating to ngForTrackBy, default algorithm checks for object identity.\n * @group Props\n */\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n trackBy = input<Function>((_index: number, item: any) => item);\n /**\n * Comma separated list of fields in the object graph to search against.\n * @group Props\n */\n filterBy = input<string>();\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n filterLocale = input<string>();\n /**\n * Displays a loader to indicate data load is in progress.\n * @group Props\n */\n loading = input(false, { transform: booleanAttribute });\n /**\n * The icon to show while indicating data load is in progress.\n * @group Props\n */\n loadingIcon = input<string>();\n /**\n * Index of the first row to be displayed.\n * @group Props\n */\n first = model(0);\n /**\n * Property name of data to use in sorting by default.\n * @group Props\n */\n sortField = input<string>();\n /**\n * Order to sort the data by default.\n * @group Props\n */\n sortOrder = input<number>();\n /**\n * An array of objects to display.\n * @group Props\n */\n value = model<any[]>();\n /**\n * Defines the layout mode.\n * @group Props\n */\n layout = input<DataViewLayout>('list');\n /**\n * Callback to invoke when paging, sorting or filtering happens in lazy mode.\n * @param {DataViewLazyLoadEvent} event - Custom lazy load event.\n * @group Emits\n */\n onLazyLoad = output<DataViewLazyLoadEvent>();\n /**\n * Callback to invoke when pagination occurs.\n * @param {DataViewPageEvent} event - Custom page event.\n * @group Emits\n */\n onPage = output<DataViewPageEvent>();\n /**\n * Callback to invoke when sorting occurs.\n * @param {DataViewSortEvent} event - Custom sort event.\n * @group Emits\n */\n onSort = output<DataViewSortEvent>();\n /**\n * Callback to invoke when changing layout.\n * @param {DataViewLayoutChangeEvent} event - Custom layout change event.\n * @group Emits\n */\n onChangeLayout = output<DataViewLayoutChangeEvent>();\n /**\n * Template for the list layout.\n * @param {DataViewListTemplateContext} context - list template context.\n * @group Templates\n */\n listTemplate = contentChild<TemplateRef<DataViewListTemplateContext>>('list', { descendants: false });\n /**\n * Template for grid layout.\n * @param {DataViewGridTemplateContext} context - grid template context.\n * @group Templates\n */\n gridTemplate = contentChild<TemplateRef<DataViewGridTemplateContext>>('grid', { descendants: false });\n /**\n * Template for the header section.\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n /**\n * Template for the empty message section.\n * @group Templates\n */\n emptymessageTemplate = contentChild<TemplateRef<void>>('emptymessage', { descendants: false });\n /**\n * Template for the footer section.\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n /**\n * Template for the left side of paginator.\n * @param {DataViewPaginatorLeftTemplateContext} context - paginator left template context.\n * @group Templates\n */\n paginatorleft = contentChild<TemplateRef<DataViewPaginatorLeftTemplateContext>>('paginatorleft', { descendants: false });\n /**\n * Template for the right side of paginator.\n * @param {DataViewPaginatorRightTemplateContext} context - paginator right template context.\n * @group Templates\n */\n paginatorright = contentChild<TemplateRef<DataViewPaginatorRightTemplateContext>>('paginatorright', { descendants: false });\n /**\n * Template for items in paginator dropdown.\n * @param {DataViewPaginatorDropdownItemTemplateContext} context - paginator dropdown item template context.\n * @group Templates\n */\n paginatordropdownitem = contentChild<TemplateRef<DataViewPaginatorDropdownItemTemplateContext>>('paginatordropdownitem', { descendants: false });\n /**\n * Template for loading icon.\n * @group Templates\n */\n loadingicon = contentChild<TemplateRef<void>>('loadingicon', { descendants: false });\n /**\n * Template for list icon.\n * @group Templates\n */\n listicon = contentChild<TemplateRef<void>>('listicon', { descendants: false });\n /**\n * Template for grid icon.\n * @group Templates\n */\n gridicon = contentChild<TemplateRef<void>>('gridicon', { descendants: false });\n\n header = contentChild(Header, { descendants: false });\n\n footer = contentChild(Footer, { descendants: false });\n\n filteredValue = signal<any[] | null>(null);\n\n filterValue = signal<string | null>(null);\n\n initialized = false;\n\n private translation = toSignal(this.config.translationObserver, { initialValue: this.config.translation });\n\n _componentStyle = inject(DataViewStyle);\n\n emptyMessageLabel = computed(() => {\n this.translation();\n\n return this.emptyMessage() || this.translate(TranslationKeys.EMPTY_MESSAGE);\n });\n\n displayedItems = computed(() => {\n const items = this.filteredValue() || this.value();\n\n if (!this.paginator()) return items;\n\n const start = this.lazy() ? 0 : this.first();\n const end = start + this.rows();\n\n return items?.slice(start, end) ?? [];\n });\n\n showHeader = computed(() => !!this.header() || !!this.headerTemplate());\n\n showFooter = computed(() => !!this.footer() || !!this.footerTemplate());\n\n showTopPaginator = computed(() => this.paginator() && (this.paginatorPosition() === 'top' || this.paginatorPosition() === 'both'));\n\n showBottomPaginator = computed(() => this.paginator() && (this.paginatorPosition() === 'bottom' || this.paginatorPosition() === 'both'));\n\n isListLayout = computed(() => this.layout() === 'list');\n\n isGridLayout = computed(() => this.layout() === 'grid');\n\n $isEmpty = computed(() => {\n const data = this.filteredValue() || this.value();\n\n return data == null || data.length == 0;\n });\n\n showEmptyMessage = computed(() => this.$isEmpty() && !this.loading());\n\n filterService = inject(FilterService);\n\n constructor() {\n super();\n\n let layoutInit = false;\n\n effect(() => {\n const layout = this.layout();\n\n if (layoutInit) {\n untracked(() => this.onChangeLayout.emit({ layout }));\n }\n\n layoutInit = true;\n });\n\n effect(() => {\n this.value();\n untracked(() => {\n this.updateTotalRecords();\n\n if (!this.lazy() && this.hasFilter()) {\n this.filter(this.filterValue() as string);\n }\n });\n });\n\n let sortInit = false;\n\n effect(() => {\n this.sortField();\n this.sortOrder();\n\n if (sortInit) {\n untracked(() => this.sort());\n }\n\n sortInit = true;\n });\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onInit() {\n if (this.lazy() && this.lazyLoadOnInit()) {\n this.onLazyLoad.emit(this.createLazyLoadMetadata());\n }\n\n this.initialized = true;\n }\n\n updateTotalRecords() {\n if (!this.lazy()) {\n this.totalRecords.set(this.value()?.length ?? 0);\n }\n }\n\n paginate(event: DataViewPaginatorState) {\n this.first.set(event.first!);\n this.rows.set(event.rows!);\n\n if (this.lazy()) {\n this.onLazyLoad.emit(this.createLazyLoadMetadata());\n }\n\n this.onPage.emit({\n first: this.first(),\n rows: this.rows()\n });\n }\n\n sort() {\n this.first.set(0);\n\n if (this.lazy()) {\n this.onLazyLoad.emit(this.createLazyLoadMetadata());\n } else if (this.value()) {\n const sorted = [...this.value()!].sort((data1, data2) => {\n let value1 = resolveFieldData(data1, this.sortField());\n let value2 = resolveFieldData(data2, this.sortField());\n let result: number;\n\n if (value1 == null && value2 != null) result = -1;\n else if (value1 != null && value2 == null) result = 1;\n else if (value1 == null && value2 == null) result = 0;\n else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2);\n else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n\n return (this.sortOrder() as number) * result;\n });\n\n this.value.set(sorted);\n\n if (this.hasFilter()) {\n this.filter(this.filterValue() as string);\n }\n }\n\n this.onSort.emit({\n sortField: this.sortField() as string,\n sortOrder: this.sortOrder() as number\n });\n }\n\n createLazyLoadMetadata(): DataViewLazyLoadEvent {\n return {\n first: this.first(),\n rows: this.rows(),\n sortField: this.sortField() as string,\n sortOrder: this.sortOrder() as number\n };\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n filter(filter: string, filterMatchMode: string = 'contains') {\n this.filterValue.set(filter);\n\n const val = this.value();\n\n if (val && val.length) {\n let searchFields = (this.filterBy() as string).split(',');\n const filtered = this.filterService.filter(val, searchFields, filter, filterMatchMode, this.filterLocale());\n\n if (filtered.length === val.length) {\n this.filteredValue.set(null);\n } else {\n this.filteredValue.set(filtered);\n }\n\n if (this.paginator()) {\n this.first.set(0);\n this.totalRecords.set(this.filteredValue() ? this.filteredValue()!.length : val.length);\n }\n\n this.cd.markForCheck();\n }\n }\n\n hasFilter() {\n const fv = this.filterValue();\n\n return fv && fv.trim().length > 0;\n }\n}\n\n@NgModule({\n imports: [DataView],\n exports: [DataView]\n})\nexport class DataViewModule {}\n"],"mappings":"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"}
|