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-megamenu.mjs","names":["AngleDownIcon","AngleRightIcon","BarsIcon","i2"],"sources":["../../src/megamenu/style/megamenustyle.ts","../../src/megamenu/megamenu-token.ts","../../src/megamenu/megamenu-sub.ts","../../src/megamenu/megamenu.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/megamenu';\nimport { BaseStyle } from 'primeng/base';\n\nconst inlineStyles = {\n rootList: ({ instance }) => ({ 'max-height': instance.scrollHeight(), overflow: 'auto' })\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'p-megamenu p-component',\n {\n 'p-megamenu-mobile': instance.queryMatches(),\n 'p-megamenu-mobile-active': instance.mobileActive(),\n 'p-megamenu-horizontal': instance.orientation() === 'horizontal',\n 'p-megamenu-vertical': instance.orientation() === 'vertical'\n }\n ],\n start: 'p-megamenu-start',\n button: 'p-megamenu-button',\n rootList: 'p-megamenu-root-list',\n submenuLabel: ({ instance, processedItem }) => [\n 'p-megamenu-submenu-label',\n {\n 'p-disabled': instance.isItemDisabled(processedItem)\n }\n ],\n item: ({ instance, processedItem }) => [\n 'p-megamenu-item',\n instance.getItemProp(processedItem, 'styleClass'),\n instance.getItemProp(processedItem, 'class'),\n {\n 'p-megamenu-item-active': instance.isItemActive(processedItem),\n 'p-focus': instance.isItemFocused(processedItem),\n 'p-disabled': instance.isItemDisabled(processedItem)\n }\n ],\n itemContent: 'p-megamenu-item-content',\n itemLink: 'p-megamenu-item-link',\n itemIcon: 'p-megamenu-item-icon',\n itemLabel: 'p-megamenu-item-label',\n submenuIcon: 'p-megamenu-submenu-icon',\n overlay: 'p-megamenu-overlay',\n grid: 'p-megamenu-grid',\n column: ({ instance, processedItem }) => {\n let length = instance.isItemGroup(processedItem) ? processedItem.items.length : 0;\n let columnClass;\n\n if (instance.megaMenu.queryMatches()) columnClass = 'p-megamenu-col-12';\n else {\n switch (length) {\n case 2:\n columnClass = 'p-megamenu-col-6';\n break;\n\n case 3:\n columnClass = 'p-megamenu-col-4';\n break;\n\n case 4:\n columnClass = 'p-megamenu-col-3';\n break;\n\n case 6:\n columnClass = 'p-megamenu-col-2';\n break;\n\n default:\n columnClass = 'p-megamenu-col-12';\n break;\n }\n }\n\n return columnClass;\n },\n submenu: 'p-megamenu-submenu',\n separator: 'p-megamenu-separator',\n end: 'p-megamenu-end'\n};\n\n@Injectable()\nexport class MegaMenuStyle extends BaseStyle {\n name = 'megamenu';\n\n style = style;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * MegaMenu is navigation component that displays submenus together.\n *\n * [Live Demo](https://www.primeng.org/megamenu/)\n *\n * @module megamenustyle\n *\n */\n\nexport enum MegaMenuClasses {\n /**\n * Class name of the root element\n */\n root = 'p-megamenu',\n /**\n * Class name of the start element\n */\n start = 'p-megamenu-start',\n /**\n * Class name of the button element\n */\n button = 'p-megamenu-button',\n /**\n * Class name of the root list element\n */\n rootList = 'p-megamenu-root-list',\n /**\n * Class name of the submenu item element\n */\n submenuItem = 'p-megamenu-submenu-item',\n /**\n * Class name of the item element\n */\n item = 'p-megamenu-item',\n /**\n * Class name of the item content element\n */\n itemContent = 'p-megamenu-item-content',\n /**\n * Class name of the item link element\n */\n itemLink = 'p-megamenu-item-link',\n /**\n * Class name of the item icon element\n */\n itemIcon = 'p-megamenu-item-icon',\n /**\n * Class name of the item label element\n */\n itemLabel = 'p-megamenu-item-label',\n /**\n * Class name of the submenu icon element\n */\n submenuIcon = 'p-megamenu-submenu-icon',\n /**\n * Class name of the panel element\n */\n panel = 'p-megamenu-panel',\n /**\n * Class name of the grid element\n */\n grid = 'p-megamenu-grid',\n /**\n * Class name of the submenu element\n */\n submenu = 'p-megamenu-submenu',\n /**\n * Class name of the submenu item label element\n */\n submenuItemLabel = 'p-megamenu-submenu-item-label',\n /**\n * Class name of the separator element\n */\n separator = 'p-megamenu-separator',\n /**\n * Class name of the end element\n */\n end = 'p-megamenu-end'\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const MEGAMENU_INSTANCE = new InjectionToken<any>('MEGAMENU_INSTANCE');\nexport const MEGAMENU_SUB_INSTANCE = new InjectionToken<any>('MEGAMENU_SUB_INSTANCE');\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, Component, computed, inject, input, numberAttribute, output, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { MotionOptions } from '@primeuix/motion';\nimport { isNotEmpty, resolve } from '@primeuix/utils';\nimport { MegaMenuItem, SharedModule } from 'primeng/api';\nimport { BadgeModule } from 'primeng/badge';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { AngleDown as AngleDownIcon } from '@primeicons/angular/angle-down';\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 { MegaMenuItemClickEvent, MegaMenuItemMouseEnterEvent, MegaMenuItemTemplateContext, MegaMenuOrientation, MegaMenuPassThrough, ProcessedMegaMenuItem } from 'primeng/types/megamenu';\nimport { MegaMenuStyle } from './style/megamenustyle';\nimport type { MegaMenu } from './megamenu';\nimport { MEGAMENU_INSTANCE, MEGAMENU_SUB_INSTANCE } from './megamenu-token';\n\n@Component({\n selector: 'p-megamenu-sub, ul[pMegaMenuSub]',\n standalone: true,\n imports: [NgTemplateOutlet, RouterModule, Ripple, TooltipModule, AngleDownIcon, AngleRightIcon, BadgeModule, SharedModule, Bind, MotionModule],\n template: `\n @if (submenu()) {\n <li [class]=\"cn(cx('submenuLabel'), getItemProp(submenu(), 'class'))\" [style]=\"getItemProp(submenu(), 'style')\" role=\"presentation\" [pBind]=\"ptm('submenuLabel')\">\n {{ getItemLabel(submenu()) }}\n </li>\n }\n @for (processedItem of items(); track processedItem.key; let index = $index) {\n @if (isItemVisible(processedItem)) {\n @if (isSeparator(processedItem)) {\n <li [attr.id]=\"getItemId(processedItem)\" [style]=\"getItemProp(processedItem, 'style')\" [class]=\"cn(cx('separator'), this.getItemProp(processedItem, 'class'))\" role=\"separator\" [pBind]=\"ptm('separator')\"></li>\n } @else {\n <li\n #listItem\n role=\"menuitem\"\n [attr.id]=\"getItemId(processedItem)\"\n [attr.data-p-active]=\"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]=\"isItemDisabled(processedItem) || undefined\"\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', { processedItem }), getItemProp(processedItem, 'styleClass'))\"\n pTooltip\n [tooltipOptions]=\"getItemProp(processedItem, 'tooltipOptions')\"\n [pBind]=\"getPTOptions(processedItem, index, 'item')\"\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 (!hasRouterLink(processedItem)) {\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 (hasIcon(processedItem)) {\n <span\n [class]=\"cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))\"\n [style]=\"getItemProp(processedItem, 'iconStyle')\"\n [attr.tabindex]=\"-1\"\n [pBind]=\"getPTOptions(processedItem, index, 'itemIcon')\"\n >\n </span>\n }\n @if (shouldEscape(processedItem)) {\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 (hasBadge(processedItem)) {\n <p-badge [class]=\"getItemProp(processedItem, 'badgeStyleClass')\" [value]=\"getItemProp(processedItem, 'badge')\" [unstyled]=\"unstyled()\" />\n }\n @if (isItemGroup(processedItem)) {\n @if (!hasSubmenuIcon()) {\n @if (isHorizontalOrMobile()) {\n <svg data-p-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [pBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" aria-hidden=\"true\" />\n } @else {\n <svg data-p-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [pBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" aria-hidden=\"true\" />\n }\n }\n <ng-container *ngTemplateOutlet=\"megaMenu.submenuiconTemplate()\" />\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-megamenu-item-link-active'\"\n [routerLinkActiveOptions]=\"getRouterLinkActiveOptions(processedItem)\"\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 (hasIcon(processedItem)) {\n <span\n [class]=\"cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))\"\n [style]=\"getItemProp(processedItem, 'iconStyle')\"\n [attr.tabindex]=\"-1\"\n [pBind]=\"getPTOptions(processedItem, index, 'itemIcon')\"\n ></span>\n }\n @if (shouldEscape(processedItem)) {\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 (hasBadge(processedItem)) {\n <p-badge [class]=\"getItemProp(processedItem, 'badgeStyleClass')\" [value]=\"getItemProp(processedItem, 'badge')\" [unstyled]=\"unstyled()\" />\n }\n @if (isItemGroup(processedItem)) {\n @if (!hasSubmenuIcon()) {\n @if (isHorizontal()) {\n <svg data-p-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [pBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" aria-hidden=\"true\" />\n } @else {\n <svg data-p-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [pBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" aria-hidden=\"true\" />\n }\n }\n <ng-container *ngTemplateOutlet=\"megaMenu.submenuiconTemplate()\" />\n }\n </a>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: processedItem.item }\" />\n }\n </div>\n @if (isVisibleItemGroup(processedItem)) {\n <div [class]=\"cx('overlay')\" [pBind]=\"ptm('overlay')\" [pMotion]=\"isItemActive(processedItem)\" [pMotionName]=\"'p-anchored-overlay'\" [pMotionOptions]=\"motionOptions()\">\n <div [class]=\"cx('grid')\" [pBind]=\"ptm('grid')\">\n @for (col of processedItem.items; track $index) {\n <div [class]=\"cx('column', { processedItem })\" [pBind]=\"ptm('column')\">\n @for (submenu of getColumnItems(col); track submenu.key) {\n <ul\n pMegaMenuSub\n [id]=\"getSubListId(submenu)\"\n [submenu]=\"submenu\"\n [items]=\"getSubmenuItems(submenu)\"\n [itemTemplate]=\"itemTemplate()\"\n [mobileActive]=\"mobileActive()\"\n [menuId]=\"menuId()\"\n [focusedItemId]=\"focusedItemId()\"\n [level]=\"level() + 1\"\n [root]=\"false\"\n [orientation]=\"orientation()\"\n [motionOptions]=\"motionOptions()\"\n (itemClick)=\"itemClick.emit($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [pt]=\"pt()\"\n [unstyled]=\"unstyled()\"\n ></ul>\n }\n </div>\n }\n </div>\n </div>\n }\n </li>\n }\n }\n }\n `,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: MEGAMENU_SUB_INSTANCE, useExisting: MegaMenuSub },\n { provide: PARENT_INSTANCE, useExisting: MegaMenuSub }\n ],\n host: {\n '[class]': 'hostClass()',\n '[style]': 'sx(\"rootList\")',\n '[style.display]': 'hostDisplay()',\n '[attr.role]': 'hostRole()',\n '[attr.id]': 'id()',\n '[attr.aria-orientation]': 'orientation()',\n '[tabindex]': 'tabindex()',\n '[attr.aria-activedescendant]': 'focusedItemId()',\n '[attr.data-pc-section]': 'hostDataPcSection()',\n '(keydown)': 'menuKeydown.emit($event)',\n '(focus)': 'menuFocus.emit($event)',\n '(blur)': 'menuBlur.emit($event)',\n '(mousedown)': 'menuMouseDown.emit($event)'\n },\n hostDirectives: [Bind]\n})\nexport class MegaMenuSub extends BaseComponent<MegaMenuPassThrough> {\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pcMegaMenu: MegaMenu | undefined = inject(MEGAMENU_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n $pcMegaMenuSub: MegaMenuSub | undefined = inject(MEGAMENU_SUB_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n id = input<string>();\n\n items = input<ProcessedMegaMenuItem[]>();\n\n itemTemplate = input<TemplateRef<MegaMenuItemTemplateContext>>();\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 disabled = input(false, { transform: booleanAttribute });\n\n orientation = input<MegaMenuOrientation>();\n\n activeItem = input<ProcessedMegaMenuItem | null>();\n\n submenu = input<ProcessedMegaMenuItem>();\n\n motionOptions = input<MotionOptions>();\n\n queryMatches = input(false, { transform: booleanAttribute });\n\n mobileActive = input(false, { transform: booleanAttribute });\n\n scrollHeight = input<string>();\n\n tabindex = input(0, { transform: numberAttribute });\n\n root = input(false, { transform: booleanAttribute });\n\n itemClick = output<MegaMenuItemClickEvent>();\n\n itemMouseEnter = output<MegaMenuItemMouseEnterEvent>();\n\n menuFocus = output<FocusEvent>();\n\n menuBlur = output<FocusEvent>();\n\n menuKeydown = output<KeyboardEvent>();\n\n menuMouseDown = output<MouseEvent>();\n\n megaMenu = inject<MegaMenu>(MEGAMENU_INSTANCE);\n\n _componentStyle = inject(MegaMenuStyle);\n\n hostName = 'MegaMenu';\n\n hostClass = computed(() => (this.root() ? this.cx('rootList') : this.cx('submenu')));\n\n hostDisplay = computed(() => (this.root() ? undefined : this.isSubmenuVisible(this.submenu()) ? null : 'none'));\n\n hostRole = computed(() => (this.root() ? 'menubar' : 'menu'));\n\n hostDataPcSection = computed(() => (this.root() ? 'rootlist' : 'submenu'));\n\n isHorizontalOrMobile = computed(() => this.orientation() === 'horizontal' || this.mobileActive());\n\n isHorizontal = computed(() => this.orientation() === 'horizontal');\n\n hasSubmenuIcon = computed(() => !!this.megaMenu.submenuiconTemplate());\n\n isSeparator(processedItem: ProcessedMegaMenuItem) {\n return this.getItemProp(processedItem, 'separator');\n }\n\n hasRouterLink(processedItem: ProcessedMegaMenuItem) {\n return this.getItemProp(processedItem, 'routerLink');\n }\n\n hasIcon(processedItem: ProcessedMegaMenuItem) {\n return this.getItemProp(processedItem, 'icon');\n }\n\n shouldEscape(processedItem: ProcessedMegaMenuItem) {\n return this.getItemProp(processedItem, 'escape');\n }\n\n hasBadge(processedItem: ProcessedMegaMenuItem) {\n return this.getItemProp(processedItem, 'badge');\n }\n\n isVisibleItemGroup(processedItem: ProcessedMegaMenuItem) {\n return this.isItemVisible(processedItem) && this.isItemGroup(processedItem);\n }\n\n getAriaHasPopup(processedItem: ProcessedMegaMenuItem) {\n return this.isItemGroup(processedItem) && !this.getItemProp(processedItem, 'to') ? 'menu' : undefined;\n }\n\n getAriaExpanded(processedItem: ProcessedMegaMenuItem) {\n return this.isItemGroup(processedItem) ? this.isItemActive(processedItem) : undefined;\n }\n\n getRouterLinkActiveOptions(processedItem: ProcessedMegaMenuItem) {\n return this.getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false };\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptm(this.root() ? 'rootList' : 'submenu'));\n }\n\n onItemClick(event: Event, processedItem: ProcessedMegaMenuItem) {\n this.getItemProp(processedItem, 'command', { originalEvent: event, item: processedItem.item });\n this.itemClick.emit({ originalEvent: event, processedItem, isFocus: true });\n }\n\n getItemProp(processedItem: ProcessedMegaMenuItem | undefined, name: string, params: { originalEvent: Event; item: MegaMenuItem } | null = null): any {\n return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : undefined;\n }\n\n getItemId(processedItem: ProcessedMegaMenuItem): string {\n return processedItem.item && processedItem.item?.id ? processedItem.item.id : `${this.menuId()}_${processedItem.key}`;\n }\n\n getSubListId(processedItem: ProcessedMegaMenuItem) {\n return `${this.getItemId(processedItem)}_list`;\n }\n\n getItemLabel(processedItem: ProcessedMegaMenuItem | undefined): string {\n return this.getItemProp(processedItem, 'label');\n }\n\n isSubmenuVisible(submenu: ProcessedMegaMenuItem | undefined) {\n if (this.submenu() && !this.root()) {\n return this.isItemVisible(submenu);\n } else {\n return true;\n }\n }\n\n isItemVisible(processedItem: ProcessedMegaMenuItem | undefined): boolean {\n return this.getItemProp(processedItem, 'visible') !== false;\n }\n\n isItemActive(processedItem: ProcessedMegaMenuItem) {\n const activeItem = this.activeItem();\n\n return isNotEmpty(activeItem) && activeItem ? activeItem.key === processedItem.key : false;\n }\n\n isItemDisabled(processedItem: ProcessedMegaMenuItem): boolean {\n return this.getItemProp(processedItem, 'disabled');\n }\n\n isItemFocused(processedItem: ProcessedMegaMenuItem): boolean {\n return this.focusedItemId() === this.getItemId(processedItem);\n }\n\n isItemGroup(processedItem: ProcessedMegaMenuItem): boolean {\n return isNotEmpty(processedItem.items);\n }\n\n getAriaSetSize() {\n return this.items()?.filter((processedItem) => this.isItemVisible(processedItem) && !this.getItemProp(processedItem, 'separator')).length;\n }\n\n getAriaPosInset(index: number) {\n return (\n index -\n (this.items()\n ?.slice(0, index)\n .filter((processedItem) => this.isItemVisible(processedItem) && this.getItemProp(processedItem, 'separator')).length || 0) +\n 1\n );\n }\n\n onItemMouseEnter(param: { originalEvent: Event; processedItem: ProcessedMegaMenuItem }) {\n const { originalEvent, processedItem } = param;\n\n this.itemMouseEnter.emit({ originalEvent, processedItem });\n }\n\n getColumnItems(col: ProcessedMegaMenuItem | ProcessedMegaMenuItem[]): ProcessedMegaMenuItem[] {\n return Array.isArray(col) ? col : [col];\n }\n\n getSubmenuItems(submenu: ProcessedMegaMenuItem): ProcessedMegaMenuItem[] | undefined {\n return submenu.items as ProcessedMegaMenuItem[] | undefined;\n }\n\n getPTOptions(processedItem: ProcessedMegaMenuItem, index: number, key: string) {\n const ptContext = {\n context: {\n item: processedItem.item,\n index,\n active: this.isItemActive(processedItem),\n focused: this.isItemFocused(processedItem),\n disabled: this.isItemDisabled(processedItem)\n }\n };\n\n return this.ptm(key, ptContext);\n }\n}\n","import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, effect, ElementRef, inject, input, NgModule, numberAttribute, signal, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\nimport { Bars as BarsIcon } from '@primeicons/angular/bars';\nimport { MotionOptions } from '@primeuix/motion';\nimport { findLastIndex, findSingle, focus, isEmpty, isNotEmpty, isPrintableCharacter, isTouchDevice, resolve, uuid } from '@primeuix/utils';\nimport { MegaMenuItem, SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { MotionModule } from 'primeng/motion';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport { MegaMenuFocusedItemInfo, MegaMenuItemClickEvent, MegaMenuItemMouseEnterEvent, MegaMenuItemTemplateContext, MegaMenuOrientation, MegaMenuPassThrough, ProcessedMegaMenuItem } from 'primeng/types/megamenu';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { MegaMenuSub } from './megamenu-sub';\nimport { MEGAMENU_INSTANCE } from './megamenu-token';\nimport { MegaMenuStyle } from './style/megamenustyle';\n\n/**\n * MegaMenu is navigation component that displays submenus together.\n * @group Components\n */\n@Component({\n selector: 'p-megamenu, p-mega-menu',\n standalone: true,\n imports: [NgTemplateOutlet, MegaMenuSub, BarsIcon, SharedModule, Bind, MotionModule],\n template: `\n @if (startTemplate()) {\n <div [class]=\"cx('start')\" [pBind]=\"ptm('start')\">\n <ng-container *ngTemplateOutlet=\"startTemplate()\" />\n </div>\n }\n @if (!buttonTemplate()) {\n @if (model()?.length) {\n <a\n #menubutton\n role=\"button\"\n tabindex=\"0\"\n [class]=\"cx('button')\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-expanded]=\"mobileActive()\"\n [attr.aria-controls]=\"$id()\"\n [attr.aria-label]=\"navigationAriaLabel\"\n [pBind]=\"ptm('button')\"\n (click)=\"menuButtonClick($event)\"\n (keydown)=\"menuButtonKeydown($event)\"\n >\n @if (!buttoniconTemplate()) {\n <svg data-p-icon=\"bars\" [pBind]=\"ptm('buttonIcon')\" />\n }\n <ng-container *ngTemplateOutlet=\"buttoniconTemplate()\" />\n </a>\n }\n }\n <ng-container *ngTemplateOutlet=\"buttonTemplate()\" />\n <ul\n pMegaMenuSub\n #rootmenu\n [pMotion]=\"!queryMatches() || mobileActive()\"\n [pMotionName]=\"'p-anchored-overlay'\"\n [pMotionOptions]=\"computedMotionOptions()\"\n [motionOptions]=\"computedMotionOptions()\"\n [itemTemplate]=\"itemTemplate()\"\n [items]=\"processedItems()\"\n [attr.id]=\"$id() + '_list'\"\n [menuId]=\"$id()\"\n [root]=\"true\"\n [orientation]=\"orientation()\"\n [ariaLabel]=\"ariaLabel()\"\n [disabled]=\"disabled()\"\n [tabindex]=\"rootMenuTabindex()\"\n [activeItem]=\"activeItem()\"\n [level]=\"0\"\n [ariaLabelledBy]=\"ariaLabelledBy()\"\n [focusedItemId]=\"activeFocusedItemId()\"\n [mobileActive]=\"mobileActive()\"\n (itemClick)=\"onItemClick($event)\"\n (menuFocus)=\"onMenuFocus($event)\"\n (menuBlur)=\"onMenuBlur($event)\"\n (menuKeydown)=\"onKeyDown($event)\"\n (menuMouseDown)=\"onMenuMouseDown($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [queryMatches]=\"queryMatches()\"\n [scrollHeight]=\"scrollHeight()\"\n [pt]=\"pt()\"\n [unstyled]=\"unstyled()\"\n ></ul>\n @if (endTemplate()) {\n <div [class]=\"cx('end')\" [pBind]=\"ptm('end')\">\n <ng-container *ngTemplateOutlet=\"endTemplate()\" />\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [MegaMenuStyle, { provide: MEGAMENU_INSTANCE, useExisting: MegaMenu }, { provide: PARENT_INSTANCE, useExisting: MegaMenu }],\n host: {\n '[class]': 'cx(\"root\")',\n '[id]': '$id()'\n },\n hostDirectives: [Bind]\n})\nexport class MegaMenu extends BaseComponent<MegaMenuPassThrough> {\n componentName = 'MegaMenu';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * An array of menuitems.\n * @group Props\n */\n model = input<MegaMenuItem[]>();\n\n /**\n * Defines the orientation.\n * @group Props\n */\n orientation = input<MegaMenuOrientation>('horizontal');\n\n /**\n * Current id state as a string.\n * @group Props\n */\n id = input<string>();\n\n /**\n * Defines a string value that labels an interactive element.\n * @group Props\n */\n ariaLabel = input<string>();\n\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n\n /**\n * The breakpoint to define the maximum width boundary.\n * @group Props\n */\n breakpoint = input('960px');\n\n /**\n * Height of the viewport, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n scrollHeight = input('20rem');\n\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input(0, { transform: numberAttribute });\n\n /**\n * Defines the motion options for the submenu open/close animation.\n * @group Props\n */\n motionOptions = input<MotionOptions>();\n\n computedMotionOptions = computed<MotionOptions>(() => ({\n ...this.ptm('motion'),\n ...this.motionOptions()\n }));\n\n /**\n * Defines template option for start.\n * @group Templates\n */\n startTemplate = contentChild<TemplateRef<void>>('start', { descendants: false });\n\n /**\n * Defines template option for end.\n * @group Templates\n */\n endTemplate = contentChild<TemplateRef<void>>('end', { descendants: false });\n\n /**\n * Defines template option for menu icon.\n * @group Templates\n */\n menuiconTemplate = contentChild<TemplateRef<void>>('menuicon', { descendants: false });\n\n /**\n * Defines template option for submenu icon.\n * @group Templates\n */\n submenuiconTemplate = contentChild<TemplateRef<void>>('submenuicon', { descendants: false });\n\n /**\n * Custom item template.\n * @param {MegaMenuItemTemplateContext} context - item context.\n * @see {@link MegaMenuItemTemplateContext}\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<MegaMenuItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom menu button template on responsive mode.\n * @group Templates\n */\n buttonTemplate = contentChild<TemplateRef<void>>('button', { descendants: false });\n\n /**\n * Custom menu button icon template on responsive mode.\n * @group Templates\n */\n buttoniconTemplate = contentChild<TemplateRef<void>>('buttonicon', { descendants: false });\n\n menubuttonViewChild = viewChild<ElementRef>('menubutton');\n\n rootmenu = viewChild<MegaMenuSub>('rootmenu');\n\n outsideClickListener: VoidListener;\n\n resizeListener: ((event: Event) => void) | null = null;\n\n dirty: boolean = false;\n\n focused = signal(false);\n\n activeItem = signal<ProcessedMegaMenuItem | null>(null);\n\n focusedItemInfo = signal<MegaMenuFocusedItemInfo>({ index: -1, level: 0, parentKey: '', item: null });\n\n searchValue: string = '';\n\n searchTimeout: ReturnType<typeof setTimeout> | null = null;\n\n _componentStyle = inject(MegaMenuStyle);\n\n private matchMediaListener: (() => void) | null = null;\n\n private query: MediaQueryList | null = null;\n\n queryMatches = signal<boolean>(false);\n\n mobileActive = signal(false);\n\n private _internalId = uuid('pn_id_');\n\n $id = computed(() => this.id() || this._internalId);\n\n processedItems = computed<ProcessedMegaMenuItem[]>(() => this.createProcessedItems(this.model() || []));\n\n visibleItems = computed<ProcessedMegaMenuItem[]>(() => {\n const activeItemValue = this.activeItem();\n const processedItem = isNotEmpty(activeItemValue) ? activeItemValue : null;\n\n return processedItem\n ? (processedItem.items as ProcessedMegaMenuItem[][]).reduce((items: ProcessedMegaMenuItem[], col) => {\n col.forEach((submenu) => {\n (submenu.items as ProcessedMegaMenuItem[]).forEach((a) => {\n items.push(a);\n });\n });\n\n return items;\n }, [])\n : this.processedItems();\n });\n\n focusedItemId = computed(() => {\n const focusedItem = this.focusedItemInfo();\n\n return focusedItem?.item && focusedItem.item?.id ? focusedItem.item.id : isNotEmpty(focusedItem.key) ? `${this.$id()}_${focusedItem.key}` : null;\n });\n\n rootMenuTabindex = computed(() => (!this.disabled() ? this.tabindex() : -1));\n\n activeFocusedItemId = computed(() => (this.focused() ? (this.focusedItemId() ?? undefined) : undefined));\n\n get navigationAriaLabel(): string | undefined {\n return this.config.translation?.aria?.navigation;\n }\n\n constructor() {\n super();\n effect(() => {\n const activeItem = this.activeItem();\n\n if (isNotEmpty(activeItem)) {\n this.bindOutsideClickListener();\n this.bindResizeListener();\n } else {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n }\n });\n }\n\n onInit() {\n this.bindMatchMediaListener();\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n bindMatchMediaListener() {\n if (isPlatformBrowser(this.platformId) && !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.mobileActive.set(false);\n };\n\n query.addEventListener('change', this.matchMediaListener);\n }\n }\n\n unbindMatchMediaListener() {\n if (this.matchMediaListener && this.query) {\n this.query.removeEventListener('change', this.matchMediaListener);\n this.matchMediaListener = null;\n }\n }\n\n createProcessedItems(items: MegaMenuItem[], level = 0, parent: ProcessedMegaMenuItem | Record<string, never> = {}, parentKey = '', columnIndex?: number): ProcessedMegaMenuItem[] {\n const processedItems: ProcessedMegaMenuItem[] = [];\n\n if (items) {\n items.forEach((item, index) => {\n const key = (parentKey !== '' ? parentKey + '_' : '') + (columnIndex !== undefined ? columnIndex + '_' : '') + index;\n const newItem: ProcessedMegaMenuItem = {\n item,\n index,\n level,\n key,\n parent,\n parentKey,\n columnIndex: columnIndex !== undefined ? columnIndex : (parent as ProcessedMegaMenuItem).columnIndex !== undefined ? (parent as ProcessedMegaMenuItem).columnIndex : index\n };\n\n newItem.items =\n level === 0 && item.items && item.items.length > 0\n ? item.items.map((_items, _index) => this.createProcessedItems(_items as MegaMenuItem[], level + 1, newItem, key, _index))\n : this.createProcessedItems((item.items || []) as MegaMenuItem[], level + 1, newItem, key);\n processedItems.push(newItem);\n });\n }\n\n return processedItems;\n }\n\n getItemProp(item: MegaMenuItem, name: string) {\n return item ? resolve(item[name]) : undefined;\n }\n\n onItemClick(event: MegaMenuItemClickEvent) {\n this.dirty = true;\n const { originalEvent, processedItem } = event;\n const grouped = this.isProcessedItemGroup(processedItem);\n const root = isEmpty(processedItem.parent);\n const selected = this.isSelected(processedItem);\n\n if (selected) {\n const { index, key, parentKey, item } = processedItem;\n\n this.activeItem.set(null);\n this.focusedItemInfo.set({ index, level: 0, key, parentKey, item });\n\n this.dirty = !root;\n\n if (!this.mobileActive()) {\n focus(this.rootmenu()?.el?.nativeElement, { preventScroll: true });\n }\n } else {\n if (grouped) {\n this.onItemChange(event);\n } else {\n this.hide(originalEvent);\n }\n }\n }\n\n onItemMouseEnter(event: MegaMenuItemMouseEnterEvent) {\n if (!this.mobileActive() && this.dirty) {\n this.onItemChange(event);\n }\n }\n\n menuButtonClick(event: MouseEvent) {\n this.toggle(event);\n }\n\n menuButtonKeydown(event: KeyboardEvent) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n this.menuButtonClick(event as unknown as MouseEvent);\n }\n }\n\n toggle(event: MouseEvent) {\n if (this.mobileActive()) {\n this.mobileActive.set(false);\n ZIndexUtils.clear(this.rootmenu()?.el.nativeElement);\n this.hide();\n } else {\n this.mobileActive.set(true);\n ZIndexUtils.set('menu', this.rootmenu()?.el.nativeElement, this.config.zIndex.menu);\n setTimeout(() => {\n this.show();\n }, 0);\n }\n\n this.bindOutsideClickListener();\n event.preventDefault();\n }\n\n show() {\n this.focusedItemInfo.set({ index: this.findFirstFocusedItemIndex(), level: 0, parentKey: '', item: null });\n\n focus(this.rootmenu()?.el.nativeElement);\n }\n\n scrollInView(index: number = -1) {\n const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedItemId();\n\n let element: HTMLElement | null | undefined;\n\n if (id === null && this.queryMatches()) {\n element = this.menubuttonViewChild()?.nativeElement;\n } else {\n element = findSingle(this.rootmenu()?.el?.nativeElement, `li[id=\"${id}\"]`) as HTMLElement | null;\n }\n\n if (element) {\n if (element.scrollIntoView) {\n element.scrollIntoView({ block: 'nearest', inline: 'nearest', behavior: 'smooth' });\n }\n }\n }\n\n onItemChange(event: MegaMenuItemClickEvent | MegaMenuItemMouseEnterEvent) {\n const { processedItem } = event;\n\n if (isEmpty(processedItem)) return;\n\n const { index, key, parentKey, items, item } = processedItem;\n const grouped = isNotEmpty(items);\n\n if (grouped) {\n this.activeItem.set(processedItem);\n }\n\n this.focusedItemInfo.set({ index, level: 0, key, parentKey, item });\n\n if (grouped) {\n this.dirty = true;\n }\n\n if ('isFocus' in event && event.isFocus) {\n focus(this.rootmenu()?.el?.nativeElement);\n }\n }\n\n hide(_event?: Event, isFocus?: boolean) {\n if (this.mobileActive()) {\n this.mobileActive.set(false);\n setTimeout(() => {\n focus(this.menubuttonViewChild()?.nativeElement);\n this.scrollInView();\n }, 100);\n }\n\n this.activeItem.set(null);\n this.focusedItemInfo.set({ index: -1, level: 0, key: '', parentKey: '', item: null });\n\n if (isFocus) {\n focus(this.rootmenu()?.el?.nativeElement);\n }\n\n this.dirty = false;\n }\n\n onMenuMouseDown(_event: MouseEvent) {\n this.dirty = true;\n }\n\n onMenuFocus(event: FocusEvent) {\n this.focused.set(true);\n\n const relatedTarget = event.relatedTarget as HTMLElement | null;\n const isFromOutside = !relatedTarget || !this.el.nativeElement.contains(relatedTarget);\n\n if (isFromOutside && this.focusedItemInfo().index === -1 && isEmpty(this.activeItem()) && !this.dirty) {\n const index = this.findFirstFocusedItemIndex();\n const processedItem = this.findVisibleItem(index);\n\n if (processedItem) {\n this.focusedItemInfo.set({ index, level: 0, key: processedItem.key, parentKey: processedItem.parentKey, item: processedItem.item });\n }\n }\n }\n\n onMenuBlur(event: FocusEvent) {\n const relatedTarget = event.relatedTarget as HTMLElement | null;\n\n if (relatedTarget && this.el.nativeElement.contains(relatedTarget)) {\n return;\n }\n\n setTimeout(() => {\n const activeElement = this.document.activeElement;\n\n if (activeElement && this.el.nativeElement.contains(activeElement)) {\n return;\n }\n\n this.focused.set(false);\n this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });\n this.searchValue = '';\n this.dirty = false;\n });\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 findFirstFocusedItemIndex() {\n const selectedIndex = this.findSelectedItemIndex();\n\n return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;\n }\n\n findFirstItemIndex() {\n return this.visibleItems().findIndex((processedItem) => this.isValidItem(processedItem));\n }\n\n findSelectedItemIndex() {\n return this.visibleItems().findIndex((processedItem) => this.isValidSelectedItem(processedItem));\n }\n\n isProcessedItemGroup(processedItem: ProcessedMegaMenuItem): boolean {\n return processedItem && isNotEmpty(processedItem.items);\n }\n\n isSelected(processedItem: ProcessedMegaMenuItem): boolean {\n const activeItemValue = this.activeItem();\n\n return isNotEmpty(activeItemValue) && activeItemValue ? activeItemValue.key === processedItem.key : false;\n }\n\n isValidSelectedItem(processedItem: ProcessedMegaMenuItem): boolean {\n return this.isValidItem(processedItem) && this.isSelected(processedItem);\n }\n\n isValidItem(processedItem: ProcessedMegaMenuItem): boolean {\n return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item);\n }\n\n isItemDisabled(item: MegaMenuItem): boolean {\n return this.getItemProp(item, 'disabled');\n }\n\n isItemSeparator(item: MegaMenuItem): boolean {\n return this.getItemProp(item, 'separator');\n }\n\n isItemMatched(processedItem: ProcessedMegaMenuItem): boolean {\n return this.isValidItem(processedItem) && this.getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase());\n }\n\n isProccessedItemGroup(processedItem: ProcessedMegaMenuItem | null): boolean {\n return !!processedItem && isNotEmpty(processedItem.items);\n }\n\n searchItems(event: KeyboardEvent, char: string) {\n this.searchValue = (this.searchValue || '') + char;\n const visibleItemsList = this.visibleItems();\n\n let itemIndex = -1;\n let matched = false;\n\n if (this.focusedItemInfo().index !== -1) {\n itemIndex = visibleItemsList.slice(this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem));\n itemIndex = itemIndex === -1 ? visibleItemsList.slice(0, this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem)) : itemIndex + this.focusedItemInfo().index;\n } else {\n itemIndex = visibleItemsList.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.changeFocusedItemInfo(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 getProccessedItemLabel(processedItem: ProcessedMegaMenuItem) {\n return processedItem ? this.getItemLabel(processedItem.item) : undefined;\n }\n\n getItemLabel(item: MegaMenuItem) {\n return this.getItemProp(item, 'label');\n }\n\n changeFocusedItemInfo(_event: KeyboardEvent, index: number) {\n const processedItem = this.findVisibleItem(index);\n\n if (isNotEmpty(processedItem) && processedItem) {\n const { key, parentKey, item } = processedItem;\n\n this.focusedItemInfo.set({ index, level: 0, key: key ? key : '', parentKey, item });\n }\n\n this.scrollInView();\n }\n\n onArrowDownKey(event: KeyboardEvent) {\n const activeItemValue = this.activeItem();\n\n if (this.orientation() === 'horizontal') {\n if (isNotEmpty(activeItemValue) && activeItemValue!.key === this.focusedItemInfo().key) {\n const { key, item } = activeItemValue!;\n\n this.focusedItemInfo.set({ index: -1, level: 0, key: '', parentKey: key, item });\n } else {\n const processedItem = this.findVisibleItem(this.focusedItemInfo().index);\n const grouped = this.isProccessedItemGroup(processedItem);\n\n if (grouped && processedItem) {\n const { parentKey, key, item } = processedItem;\n\n this.onItemChange({ originalEvent: event, processedItem });\n this.focusedItemInfo.set({ index: -1, level: 0, key: key, parentKey: parentKey, item: item });\n this.searchValue = '';\n }\n }\n }\n\n const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();\n\n this.changeFocusedItemInfo(event, itemIndex);\n event.preventDefault();\n }\n\n onArrowRightKey(event: KeyboardEvent) {\n const activeItemValue = this.activeItem();\n const visibleItemsList = this.visibleItems();\n let processedItem = this.findVisibleItem(this.focusedItemInfo().index);\n const grouped = this.isProccessedItemGroup(processedItem);\n\n if (grouped && processedItem) {\n if (this.orientation() === 'vertical') {\n if (isNotEmpty(activeItemValue) && activeItemValue!.key === processedItem.key) {\n this.focusedItemInfo.set({ index: -1, level: 0, key: '', parentKey: activeItemValue!.key, item: processedItem.item });\n } else {\n processedItem = this.findVisibleItem(this.focusedItemInfo().index);\n const innerGrouped = this.isProccessedItemGroup(processedItem);\n\n if (innerGrouped && processedItem) {\n this.onItemChange({ originalEvent: event, processedItem });\n this.focusedItemInfo.set({\n index: -1,\n level: 0,\n key: processedItem.key,\n parentKey: processedItem.parentKey,\n item: processedItem.item\n });\n this.searchValue = '';\n }\n }\n }\n\n const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();\n\n this.changeFocusedItemInfo(event, itemIndex);\n } else if (processedItem) {\n const columnIndex = (processedItem.columnIndex || 0) + 1;\n const itemIndex = visibleItemsList.findIndex((item) => item.columnIndex === columnIndex);\n\n if (itemIndex !== -1) {\n this.changeFocusedItemInfo(event, itemIndex);\n }\n }\n\n event.preventDefault();\n }\n\n onArrowUpKey(event: KeyboardEvent) {\n const activeItemValue = this.activeItem();\n\n if (event.altKey && this.orientation() === 'horizontal') {\n if (this.focusedItemInfo().index !== -1) {\n const processedItem = this.findVisibleItem(this.focusedItemInfo().index);\n const grouped = this.isProccessedItemGroup(processedItem);\n\n if (!grouped && isNotEmpty(activeItemValue) && processedItem) {\n if (this.focusedItemInfo().index === 0) {\n this.focusedItemInfo.set({\n index: activeItemValue!.index,\n level: 0,\n key: activeItemValue!.key,\n parentKey: activeItemValue!.parentKey,\n item: processedItem.item\n });\n this.activeItem.set(null);\n } else {\n this.changeFocusedItemInfo(event, this.findFirstItemIndex());\n }\n }\n }\n\n event.preventDefault();\n } else {\n const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();\n\n this.changeFocusedItemInfo(event, itemIndex);\n event.preventDefault();\n }\n }\n\n onArrowLeftKey(event: KeyboardEvent) {\n const activeItemValue = this.activeItem();\n const visibleItemsList = this.visibleItems();\n const processedItem = this.findVisibleItem(this.focusedItemInfo().index);\n const grouped = this.isProccessedItemGroup(processedItem);\n\n if (grouped) {\n if (this.orientation() === 'horizontal') {\n const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();\n\n this.changeFocusedItemInfo(event, itemIndex);\n }\n } else if (processedItem) {\n if (this.orientation() === 'vertical' && isNotEmpty(activeItemValue)) {\n if (processedItem.columnIndex === 0) {\n this.focusedItemInfo.set({\n index: activeItemValue!.index,\n level: 0,\n key: activeItemValue!.key,\n parentKey: activeItemValue!.parentKey,\n item: processedItem.item\n });\n this.activeItem.set(null);\n }\n }\n\n const columnIndex = (processedItem.columnIndex || 0) - 1;\n const itemIndex = visibleItemsList.findIndex((item) => item.columnIndex === columnIndex);\n\n if (itemIndex !== -1) {\n this.changeFocusedItemInfo(event, itemIndex);\n }\n }\n\n event.preventDefault();\n }\n\n onHomeKey(event: KeyboardEvent) {\n this.changeFocusedItemInfo(event, this.findFirstItemIndex());\n event.preventDefault();\n }\n\n onEndKey(event: KeyboardEvent) {\n this.changeFocusedItemInfo(event, this.findLastItemIndex());\n event.preventDefault();\n }\n\n onSpaceKey(event: KeyboardEvent) {\n this.onEnterKey(event);\n }\n\n onEscapeKey(event: KeyboardEvent) {\n const activeItemValue = this.activeItem();\n\n if (isNotEmpty(activeItemValue) && activeItemValue) {\n this.focusedItemInfo.set({ index: activeItemValue.index, level: 0, key: activeItemValue.key, parentKey: '', item: activeItemValue.item });\n this.activeItem.set(null);\n }\n\n event.preventDefault();\n }\n\n onTabKey(event: KeyboardEvent) {\n if (this.focusedItemInfo().index !== -1) {\n const processedItem = this.findVisibleItem(this.focusedItemInfo().index);\n const grouped = this.isProccessedItemGroup(processedItem);\n\n if (!grouped && processedItem) {\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 = findSingle(this.rootmenu()?.el?.nativeElement, `li[id=\"${`${this.focusedItemId()}`}\"]`) as HTMLElement | null;\n const anchorElement = element && ((findSingle(element, '[data-pc-section=\"itemlink\"]') || findSingle(element, 'a,button')) as HTMLElement | null);\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 this.changeFocusedItemInfo(event, this.findFirstFocusedItemIndex());\n }\n }\n\n event.preventDefault();\n }\n\n findVisibleItem(index: number) {\n const visibleItemsList = this.visibleItems();\n\n return isNotEmpty(visibleItemsList) ? visibleItemsList[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) => this.isValidItem(processedItem));\n }\n\n findPrevItemIndex(index: number) {\n const visibleItemsList = this.visibleItems();\n const matchedItemIndex = index > 0 ? findLastIndex(visibleItemsList.slice(0, index), (processedItem) => this.isValidItem(processedItem)) : -1;\n\n return matchedItemIndex > -1 ? matchedItemIndex : index;\n }\n\n findNextItemIndex(index: number) {\n const visibleItemsList = this.visibleItems();\n const matchedItemIndex = index < visibleItemsList.length - 1 ? visibleItemsList.slice(index + 1).findIndex((processedItem) => this.isValidItem(processedItem)) : -1;\n\n return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;\n }\n\n bindResizeListener() {\n if (isPlatformBrowser(this.platformId) && !this.resizeListener) {\n this.resizeListener = (event: Event) => {\n if (!isTouchDevice()) {\n this.hide(event, true);\n }\n\n this.mobileActive.set(false);\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n }\n\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = this.renderer.listen(this.document, 'click', (event) => {\n const isOutsideContainer = this.el?.nativeElement !== event.target && !this.el?.nativeElement.contains(event.target);\n\n if (isOutsideContainer) {\n this.hide();\n }\n });\n }\n }\n\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n this.outsideClickListener();\n this.outsideClickListener = null;\n }\n }\n\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null!;\n }\n }\n\n onDestroy() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindMatchMediaListener();\n }\n}\n\n@NgModule({\n imports: [MegaMenu, SharedModule],\n exports: [MegaMenu, SharedModule]\n})\nexport class MegaMenuModule {}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"primeng-menu.mjs","names":["i2","i3","ChevronDownIcon","i1"],"sources":["../../src/menu/style/menustyle.ts","../../src/menu/menu-token.ts","../../src/menu/menu-item-content.ts","../../src/menu/menu.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/menu';\nimport { BaseStyle } from 'primeng/base';\n\nconst inlineStyles = {\n root: ({ instance }) => ({\n position: instance.popup() ? 'absolute' : 'relative',\n ...instance.style()\n })\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'p-menu p-component',\n {\n 'p-menu-overlay': instance.popup()\n }\n ],\n start: 'p-menu-start',\n list: 'p-menu-list',\n submenuLabel: 'p-menu-submenu-label',\n submenuList: 'p-menu-submenu-list',\n separator: 'p-menu-separator',\n end: 'p-menu-end',\n item: ({ instance, item, id, toggleable }) => [\n 'p-menu-item',\n {\n 'p-menu-item-toggleable': toggleable,\n 'p-focus': instance.focusedOptionId() && id === instance.focusedOptionId(),\n 'p-disabled': instance.disabled(item.disabled)\n },\n item.styleClass\n ],\n itemContent: 'p-menu-item-content',\n itemLink: 'p-menu-item-link',\n itemIcon: ({ item }) => ['p-menu-item-icon', item.icon, item.iconClass],\n itemLabel: 'p-menu-item-label',\n itemSubmenuIcon: 'p-menu-item-submenu-icon'\n};\n\n@Injectable()\nexport class MenuStyle extends BaseStyle {\n name = 'menu';\n\n style = style;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * Menu is a navigation / command component that supports dynamic and static positioning.\n *\n * [Live Demo](https://www.primeng.org/menu/)\n *\n * @module menustyle\n *\n */\n\nexport enum MenuClasses {\n /**\n * Class name of the root element\n */\n root = 'p-menu',\n /**\n * Class name of the start element\n */\n start = 'p-menu-start',\n /**\n * Class name of the list element\n */\n list = 'p-menu-list',\n /**\n * Class name of the submenu label element (non-toggleable group headers)\n */\n submenuLabel = 'p-menu-submenu-label',\n /**\n * Class name of the nested submenu list element\n */\n submenuList = 'p-menu-submenu-list',\n /**\n * Class name of the separator element\n */\n separator = 'p-menu-separator',\n /**\n * Class name of the end element\n */\n end = 'p-menu-end',\n /**\n * Class name of the item element\n */\n item = 'p-menu-item',\n /**\n * Class name of the item content element\n */\n itemContent = 'p-menu-item-content',\n /**\n * Class name of the item link element\n */\n itemLink = 'p-menu-item-link',\n /**\n * Class name of the item icon element\n */\n itemIcon = 'p-menu-item-icon',\n /**\n * Class name of the item label element\n */\n itemLabel = 'p-menu-item-label',\n /**\n * Class name of the item submenu toggle icon element (toggleable items)\n */\n itemSubmenuIcon = 'p-menu-item-submenu-icon'\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const MENU_INSTANCE = new InjectionToken<any>('MENU_INSTANCE');\n","import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, Component, inject, input, numberAttribute, output, Pipe, PipeTransform, PLATFORM_ID, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { RouterModule } from '@angular/router';\nimport { MenuItem, SharedModule } from 'primeng/api';\nimport { BadgeModule } from 'primeng/badge';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { BindModule } from 'primeng/bind';\nimport { Ripple } from 'primeng/ripple';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { MenuItemTemplateContext } from 'primeng/types/menu';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { MenuStyle } from './style/menustyle';\nimport type { Menu } from './menu';\nimport { MENU_INSTANCE } from './menu-token';\n\n@Pipe({\n name: 'safeHtml',\n standalone: true\n})\nexport class SafeHtmlPipe implements PipeTransform {\n private platformId = inject(PLATFORM_ID);\n private sanitizer = inject(DomSanitizer);\n\n public transform(value: string | undefined | null): SafeHtml {\n if (!value || !isPlatformBrowser(this.platformId)) {\n return value ?? '';\n }\n\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n}\n\n@Component({\n selector: '[pMenuItemContent]',\n standalone: true,\n imports: [NgTemplateOutlet, RouterModule, Ripple, TooltipModule, BadgeModule, SharedModule, SafeHtmlPipe, BindModule, ChevronDownIcon],\n template: `\n @let _item = item();\n <div [class]=\"cx('itemContent')\" (click)=\"onItemClick($event, _item)\" [attr.data-pc-section]=\"'itemcontent'\" [pBind]=\"getPTOptions('itemContent')\">\n @if (!itemTemplate()) {\n @if (!_item?.routerLink) {\n <a\n [attr.title]=\"_item?.title\"\n [attr.href]=\"_item?.url || null\"\n [attr.data-automationid]=\"_item?.automationId\"\n [attr.tabindex]=\"-1\"\n [class]=\"cn(cx('itemLink'), _item?.linkClass)\"\n [style]=\"_item?.linkStyle\"\n [target]=\"_item?.target\"\n [pBind]=\"getPTOptions('itemLink')\"\n [attr.data-pc-section]=\"'itemlink'\"\n pRipple\n >\n <ng-container *ngTemplateOutlet=\"itemContent; context: { $implicit: _item }\"></ng-container>\n </a>\n } @else {\n <a\n [routerLink]=\"_item?.routerLink\"\n [attr.data-automationid]=\"_item?.automationId\"\n [attr.tabindex]=\"-1\"\n [attr.title]=\"_item?.title\"\n [queryParams]=\"_item?.queryParams\"\n routerLinkActive=\"p-menu-item-link-active\"\n [routerLinkActiveOptions]=\"getRouterLinkActiveOptions(_item)\"\n [class]=\"cn(cx('itemLink'), _item?.linkClass)\"\n [style]=\"_item?.linkStyle\"\n [target]=\"_item?.target\"\n [fragment]=\"_item?.fragment\"\n [queryParamsHandling]=\"_item?.queryParamsHandling\"\n [preserveFragment]=\"_item?.preserveFragment\"\n [skipLocationChange]=\"_item?.skipLocationChange\"\n [replaceUrl]=\"_item?.replaceUrl\"\n [state]=\"_item?.state\"\n [pBind]=\"getPTOptions('itemLink')\"\n [attr.data-pc-section]=\"'itemlink'\"\n pRipple\n >\n <ng-container *ngTemplateOutlet=\"itemContent; context: { $implicit: _item }\"></ng-container>\n </a>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: _item }\"></ng-container>\n }\n\n <ng-template #itemContent>\n @if (_item?.icon) {\n <span [class]=\"cn(cx('itemIcon', { item: _item }), _item?.iconClass)\" [pBind]=\"getPTOptions('itemIcon')\" [style]=\"_item?.iconStyle\" [attr.data-pc-section]=\"'itemicon'\"></span>\n }\n @if (_item?.escape !== false) {\n <span [class]=\"cn(cx('itemLabel'), _item?.labelClass)\" [style]=\"_item?.labelStyle\" [pBind]=\"getPTOptions('itemLabel')\" [attr.data-pc-section]=\"'itemlabel'\">{{ _item?.label }}</span>\n } @else {\n <span [class]=\"cn(cx('itemLabel'), _item?.labelClass)\" [style]=\"_item?.labelStyle\" [attr.data-pc-section]=\"'itemlabel'\" [innerHTML]=\"_item?.label | safeHtml\" [pBind]=\"getPTOptions('itemLabel')\"></span>\n }\n @if (toggleable()) {\n @if (submenuIconTemplate()) {\n <ng-container *ngTemplateOutlet=\"submenuIconTemplate()!; context: { $implicit: _item }\"></ng-container>\n } @else {\n <svg [pBind]=\"getPTOptions('itemSubmenuIcon')\" data-p-icon=\"chevron-down\" [class]=\"cx('itemSubmenuIcon')\" [attr.aria-hidden]=\"true\" [attr.data-expanded]=\"expanded() || null\" />\n }\n }\n @if (_item?.badge) {\n <p-badge [class]=\"_item?.badgeStyleClass\" [value]=\"_item?.badge\" [pt]=\"getPTOptions('pcBadge')\" [unstyled]=\"unstyled()\" />\n }\n </ng-template>\n </div>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n providers: [MenuStyle]\n})\nexport class MenuItemContent extends BaseComponent {\n item = input<MenuItem | undefined>(undefined, { alias: 'pMenuItemContent' });\n\n itemTemplate = input<TemplateRef<MenuItemTemplateContext> | undefined>();\n\n menuitemId = input<string>('');\n\n idx = input<number>(0);\n\n toggleable = input(false, { transform: booleanAttribute });\n\n expanded = input(false, { transform: booleanAttribute });\n\n depth = input(0, { transform: numberAttribute });\n\n submenuIconTemplate = input<TemplateRef<any> | undefined>();\n\n onMenuItemClick = output<{ originalEvent: Event; item: MenuItem }>();\n\n menu = inject<Menu>(MENU_INSTANCE);\n\n _componentStyle = inject(MenuStyle);\n\n hostName = 'Menu';\n\n onItemClick(event: Event, item: MenuItem | undefined) {\n if (this.toggleable()) {\n event.preventDefault();\n this.menu.toggleSubmenu(item!, this.menuitemId(), this.depth());\n this.menu.focusedOptionIndex.set(this.menuitemId());\n this.menu.focusMenuList();\n\n return;\n }\n\n this.onMenuItemClick.emit({ originalEvent: event, item: item! });\n }\n\n getRouterLinkActiveOptions(item: MenuItem | undefined) {\n return item?.routerLinkActiveOptions || { exact: false };\n }\n\n getPTOptions(key: string) {\n return this.menu.getPTOptions(key, this.item(), this.idx(), this.menuitemId());\n }\n}\n","import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, ElementRef, inject, input, model, NgModule, numberAttribute, output, signal, TemplateRef, viewChild, ViewEncapsulation, ViewRef } from '@angular/core';\nimport { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { absolutePosition, addStyle, appendChild, find, findSingle, focus, isTouchDevice, uuid } from '@primeuix/utils';\nimport { MenuItem, OverlayService, SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { MotionModule } from 'primeng/motion';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport { MenuExpandedKeys, MenuItemTemplateContext, MenuPassThrough, MenuSubmenuHeaderTemplateContext } from 'primeng/types/menu';\nimport type { AppendTo, CSSProperties } from 'primeng/types/shared';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { MenuItemContent, SafeHtmlPipe } from './menu-item-content';\nimport { MENU_INSTANCE } from './menu-token';\nimport { MenuStyle } from './style/menustyle';\n\n/**\n * Menu is a navigation / command component that supports dynamic and static positioning.\n * @group Components\n */\n@Component({\n selector: 'p-menu',\n standalone: true,\n imports: [NgTemplateOutlet, MenuItemContent, TooltipModule, SharedModule, SafeHtmlPipe, BindModule, MotionModule],\n template: `\n @if (!popup() || overlayVisible()) {\n <div\n #container\n [class]=\"cn(cx('root'), styleClass())\"\n [style]=\"sx('root')\"\n (click)=\"onOverlayClick($event)\"\n [attr.id]=\"$id()\"\n [pBind]=\"ptm('root')\"\n [attr.data-p]=\"dataP()\"\n [pMotion]=\"visible() || !popup()\"\n [pMotionName]=\"'p-anchored-overlay'\"\n [pMotionAppear]=\"!!popup()\"\n [pMotionDisabled]=\"!popup()\"\n [pMotionOptions]=\"computedMotionOptions()\"\n (pMotionOnBeforeEnter)=\"onOverlayBeforeEnter($event)\"\n (pMotionOnAfterLeave)=\"onOverlayAfterLeave()\"\n >\n @if (startTemplate()) {\n <div [class]=\"cx('start')\" [pBind]=\"ptm('start')\" [attr.data-pc-section]=\"'start'\">\n <ng-container *ngTemplateOutlet=\"startTemplate()\"></ng-container>\n </div>\n }\n <ul\n #list\n [class]=\"cx('list')\"\n [pBind]=\"ptm('list')\"\n role=\"menu\"\n [attr.id]=\"$id() + '_list'\"\n [attr.tabindex]=\"getTabIndexValue()\"\n [attr.data-pc-section]=\"'menu'\"\n [attr.aria-activedescendant]=\"activedescendant()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledBy]=\"ariaLabelledBy()\"\n (focus)=\"onListFocus($event)\"\n (blur)=\"onListBlur($event)\"\n (keydown)=\"onListKeyDown($event)\"\n >\n <ng-container *ngTemplateOutlet=\"recursiveItems; context: { $implicit: model(), depth: 0, parentId: $id() }\"></ng-container>\n <ng-template #recursiveItems let-items let-depth=\"depth\" let-parentId=\"parentId\">\n @for (item of items; track item.id ?? i; let i = $index) {\n @if (isSeparatorVisible(item)) {\n <li [class]=\"cx('separator')\" [pBind]=\"ptm('separator')\" role=\"separator\" [attr.data-pc-section]=\"'separator'\"></li>\n }\n @if (!item.separator && isVisible(item)) {\n @if (item.items?.length && !isSubmenuToggleable(item, depth)) {\n <li\n [class]=\"cx('submenuLabel')\"\n [attr.data-depth]=\"depth || null\"\n [pBind]=\"ptm('submenuLabel')\"\n [attr.data-automationid]=\"item.automationId\"\n pTooltip\n [tooltipOptions]=\"item.tooltipOptions\"\n [pTooltipUnstyled]=\"unstyled()\"\n role=\"none\"\n [attr.id]=\"menuitemId(item, parentId, i)\"\n [attr.data-pc-section]=\"'submenulabel'\"\n >\n @if (!submenuHeaderTemplate()) {\n @if (item.escape !== false) {\n <span>{{ item.label }}</span>\n } @else {\n <span [innerHTML]=\"item.label | safeHtml\"></span>\n }\n }\n <ng-container *ngTemplateOutlet=\"submenuHeaderTemplate(); context: { $implicit: item }\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"recursiveItems; context: { $implicit: item.items, depth: depth + 1, parentId: menuitemId(item, parentId, i) }\"></ng-container>\n } @else {\n <li\n [class]=\"cn(cx('item', { item, id: menuitemId(item, parentId, i), toggleable: !!item.items?.length && isSubmenuToggleable(item, depth) }), item?.styleClass)\"\n [pBind]=\"ptm('item')\"\n [pMenuItemContent]=\"item\"\n [itemTemplate]=\"itemTemplate()\"\n [idx]=\"i\"\n [menuitemId]=\"menuitemId(item, parentId, i)\"\n [toggleable]=\"!!item.items?.length && isSubmenuToggleable(item, depth)\"\n [expanded]=\"isSubmenuExpanded(item, depth, menuitemId(item, parentId, i))\"\n [depth]=\"depth\"\n [submenuIconTemplate]=\"submenuIconTemplate()\"\n [style]=\"item.style\"\n (onMenuItemClick)=\"itemClick($event, menuitemId(item, parentId, i))\"\n pTooltip\n [tooltipOptions]=\"item.tooltipOptions\"\n [pTooltipUnstyled]=\"unstyled()\"\n [unstyled]=\"unstyled()\"\n role=\"menuitem\"\n [attr.aria-label]=\"label(item.label)\"\n [attr.aria-haspopup]=\"!!item.items?.length && isSubmenuToggleable(item, depth) ? 'true' : null\"\n [attr.aria-expanded]=\"!!item.items?.length && isSubmenuToggleable(item, depth) ? isSubmenuExpanded(item, depth, menuitemId(item, parentId, i)) : null\"\n [attr.data-focused]=\"isItemFocused(menuitemId(item, parentId, i))\"\n [attr.data-disabled]=\"disabled(item.disabled)\"\n [attr.data-toggleable]=\"(!!item.items?.length && isSubmenuToggleable(item, depth)) || null\"\n [attr.data-depth]=\"!!item.items?.length && isSubmenuToggleable(item, depth) ? depth : null\"\n [attr.aria-disabled]=\"disabled(item.disabled)\"\n [attr.id]=\"menuitemId(item, parentId, i)\"\n [attr.data-pc-section]=\"'item'\"\n (click)=\"onItemLiClick($event, item, menuitemId(item, parentId, i), depth)\"\n (mousedown)=\"onItemLiMousedown($event, item, depth)\"\n >\n @if (!!item.items?.length && isSubmenuToggleable(item, depth) && isSubmenuExpanded(item, depth, menuitemId(item, parentId, i))) {\n <ul [class]=\"cx('submenuList')\" [pBind]=\"ptm('submenuList')\" role=\"menu\">\n <ng-container *ngTemplateOutlet=\"recursiveItems; context: { $implicit: item.items, depth: depth + 1, parentId: menuitemId(item, parentId, i) }\"></ng-container>\n </ul>\n }\n </li>\n }\n }\n }\n </ng-template>\n </ul>\n @if (endTemplate()) {\n <div [class]=\"cx('end')\" [pBind]=\"ptm('end')\" [attr.data-pc-section]=\"'end'\">\n <ng-container *ngTemplateOutlet=\"endTemplate()\"></ng-container>\n </div>\n }\n </div>\n }\n `,\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [MenuStyle, { provide: MENU_INSTANCE, useExisting: Menu }, { provide: PARENT_INSTANCE, useExisting: Menu }],\n hostDirectives: [Bind]\n})\nexport class Menu extends BaseComponent<MenuPassThrough> {\n componentName = 'Menu';\n\n /**\n * An array of menuitems.\n * @group Props\n */\n model = input<MenuItem[]>();\n /**\n * Defines if menu would displayed as a popup.\n * @group Props\n */\n popup = 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 * 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 * Current id state as a string.\n * @group Props\n */\n id = input<string>();\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input(0, { 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 * When provided, switches the component to controlled mode; each key is the DOM id of a toggleable submenu header and the value its expansion flag.\n * Use two-way binding with `[(expandedKeys)]`.\n * @group Props\n */\n expandedKeys = model<MenuExpandedKeys>();\n\n /**\n * Callback to invoke when overlay menu is shown.\n * @group Emits\n */\n onShow = output<object>();\n /**\n * Callback to invoke when overlay menu is hidden.\n * @group Emits\n */\n onHide = output<object>();\n /**\n * Callback to invoke when the list loses focus.\n * @param {Event} event - blur event.\n * @group Emits\n */\n onBlur = output<Event>();\n /**\n * Callback to invoke when the list receives focus.\n * @param {Event} event - focus event.\n * @group Emits\n */\n onFocus = output<Event>();\n\n /**\n * Defines template option for start.\n * @group Templates\n */\n startTemplate = contentChild<TemplateRef<void>>('start', { descendants: false });\n\n /**\n * Defines template option for end.\n * @group Templates\n */\n endTemplate = contentChild<TemplateRef<void>>('end', { descendants: false });\n\n /**\n * Custom item template.\n * @param {MenuItemTemplateContext} context - item context.\n * @see {@link MenuItemTemplateContext}\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<MenuItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom submenu header template.\n * @param {MenuSubmenuHeaderTemplateContext} context - submenu header context.\n * @see {@link MenuSubmenuHeaderTemplateContext}\n * @group Templates\n */\n submenuHeaderTemplate = contentChild<TemplateRef<MenuSubmenuHeaderTemplateContext>>('submenuheader', { descendants: false });\n\n /**\n * Custom submenu toggle icon template.\n * @param {MenuSubmenuHeaderTemplateContext} context - submenu header context.\n * @see {@link MenuSubmenuHeaderTemplateContext}\n * @group Templates\n */\n submenuIconTemplate = contentChild<TemplateRef<MenuSubmenuHeaderTemplateContext>>('submenuicon', { descendants: false });\n\n listViewChild = viewChild<ElementRef>('list');\n\n containerViewChild = viewChild<ElementRef>('container');\n\n private _internalId = uuid('pn_id_');\n\n $id = computed(() => this.id() || this._internalId);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n computedMotionOptions = computed<MotionOptions>(() => ({\n ...this.ptm('motion'),\n ...this.motionOptions()\n }));\n\n container: HTMLElement | undefined;\n\n scrollHandler: ConnectedOverlayScrollHandler | null | undefined;\n\n documentClickListener: VoidListener;\n\n documentResizeListener: VoidListener;\n\n preventDocumentDefault: boolean | undefined;\n\n target: HTMLElement | null = null;\n\n visible = signal(false);\n\n focusedOptionId = computed(() => (this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : null));\n\n focusedOptionIndex = signal<string | number>(-1);\n\n selectedOptionIndex = signal<number>(-1);\n\n focused = signal(false);\n\n overlayVisible = signal(false);\n\n d_expandedKeys = signal<MenuExpandedKeys>({});\n\n currentExpandedKeys = computed(() => (this.expandedKeys() !== undefined ? this.expandedKeys()! : this.d_expandedKeys()));\n\n $pcMenu: Menu | undefined = inject(MENU_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n overlayService = inject(OverlayService);\n\n _componentStyle = inject(MenuStyle);\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n dataP = computed(() =>\n this.cn({\n popup: this.popup()\n })\n );\n\n activedescendant = computed(() => (this.focused() ? this.focusedOptionId() : undefined));\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptm('host'));\n }\n getPTOptions(key: string, item: MenuItem | undefined, index: number, id: string) {\n return this.ptm(key, {\n context: {\n item: item,\n index: index,\n focused: this.isItemFocused(id),\n disabled: this.disabled(item?.disabled)\n }\n });\n }\n /**\n * Toggles the visibility of the popup menu.\n * @param {Event} event - Browser event.\n * @group Method\n */\n public toggle(event: Event) {\n if (this.visible()) this.hide();\n else this.show(event);\n\n this.preventDocumentDefault = true;\n }\n\n /**\n * Displays the popup menu.\n * @param {Event} event - Browser event.\n * @group Method\n */\n public show(event: Event) {\n if (this.container && !this.overlayVisible()) {\n this.container = undefined;\n }\n\n this.target = event.currentTarget as HTMLElement | null;\n this.visible.set(true);\n this.preventDocumentDefault = true;\n this.overlayVisible.set(true);\n }\n\n onInit() {\n if (!this.popup()) {\n this.bindDocumentClickListener();\n }\n }\n\n getTabIndexValue(): string | null {\n const tabindexValue = this.tabindex();\n\n return tabindexValue !== undefined ? tabindexValue.toString() : null;\n }\n\n onOverlayBeforeEnter(event: MotionEvent) {\n this.container = event.element as HTMLElement;\n\n if (this.container) {\n addStyle(this.container, { position: 'absolute', top: '0' });\n this.appendOverlay();\n this.moveOnTop();\n\n if (this.$attrSelector) {\n this.container?.setAttribute(this.$attrSelector, '');\n }\n\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n absolutePosition(this.container!, this.target!);\n focus(this.listViewChild()?.nativeElement);\n this.onShow.emit({});\n }\n }\n\n onOverlayAfterLeave() {\n this.restoreOverlayAppend();\n this.onOverlayHide();\n this.overlayVisible.set(false);\n this.onHide.emit({});\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 appendChild(this.el.nativeElement, this.container);\n }\n }\n moveOnTop() {\n if (this.autoZIndex()) {\n ZIndexUtils.set('menu', this.container, this.baseZIndex() + this.config.zIndex.menu);\n }\n }\n\n /**\n * Hides the popup menu.\n * @group Method\n */\n public hide() {\n this.visible.set(false);\n }\n\n onWindowResize() {\n if (this.visible() && !isTouchDevice()) {\n this.hide();\n }\n }\n\n menuitemId(item: MenuItem, id: string, index?: string | number, childIndex?: string | number) {\n return item?.id ?? `${id}_${index}${childIndex !== undefined ? '_' + childIndex : ''}`;\n }\n\n isItemFocused(id: string | number | null) {\n return this.focusedOptionId() === id;\n }\n\n label(label: string | (() => string) | undefined) {\n return typeof label === 'function' ? label() : label;\n }\n\n disabled(disabled: boolean | (() => boolean) | undefined) {\n return typeof disabled === 'function' ? disabled() : typeof disabled === 'undefined' ? false : disabled;\n }\n\n isVisible(item: MenuItem) {\n return item.visible !== false;\n }\n\n isSeparatorVisible(item: MenuItem) {\n return item.separator && this.isVisible(item);\n }\n\n isItemVisible(item: MenuItem) {\n return !item.separator && this.isVisible(item);\n }\n\n isSubmenuSeparatorVisible(item: MenuItem, submenu: MenuItem) {\n return item.separator && (this.isVisible(item) || this.isVisible(submenu));\n }\n\n isSubmenuItemVisible(item: MenuItem, submenu: MenuItem) {\n return !item.separator && this.isVisible(item) && (item.visible !== undefined || this.isVisible(submenu));\n }\n\n onListFocus(event: Event) {\n if (!this.focused()) {\n this.focused.set(true);\n\n if (!this.popup() && !this.focusedOptionId()) {\n this.changeFocusedOptionIndex(0);\n }\n\n this.onFocus.emit(event);\n }\n }\n\n onListBlur(event: FocusEvent | MouseEvent) {\n if (this.focused()) {\n this.focused.set(false);\n this.changeFocusedOptionIndex(-1);\n this.selectedOptionIndex.set(-1);\n this.focusedOptionIndex.set(-1);\n this.onBlur.emit(event);\n }\n }\n\n onListKeyDown(event: KeyboardEvent) {\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 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Enter':\n this.onEnterKey(event);\n break;\n\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Space':\n this.onSpaceKey(event);\n break;\n\n case 'Escape':\n case 'Tab':\n if (this.popup()) {\n if (this.target) {\n focus(this.target);\n }\n\n this.hide();\n }\n\n if (this.overlayVisible()) {\n this.hide();\n }\n\n break;\n\n default:\n break;\n }\n }\n\n onArrowDownKey(event: KeyboardEvent) {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex());\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n }\n\n onArrowUpKey(event: KeyboardEvent) {\n if (event.altKey && this.popup()) {\n if (this.target) {\n focus(this.target);\n }\n\n this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex());\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n }\n }\n\n onHomeKey(event: KeyboardEvent) {\n this.changeFocusedOptionIndex(0);\n event.preventDefault();\n }\n\n onEndKey(event: KeyboardEvent) {\n this.changeFocusedOptionIndex(find(this.containerViewChild()?.nativeElement, 'li[data-pc-section=\"item\"][data-disabled=\"false\"]').length - 1);\n event.preventDefault();\n }\n\n onEnterKey(event: KeyboardEvent) {\n event.preventDefault();\n\n const element = findSingle(this.listViewChild()?.nativeElement, `[id=\"${`${this.focusedOptionIndex()}`}\"]`) as HTMLElement | null;\n\n if (!element) return;\n\n if (element.getAttribute('data-toggleable') === 'true') {\n const content = (findSingle(element, '[data-pc-section=\"itemcontent\"]') || element) as HTMLElement;\n\n content.click();\n\n return;\n }\n\n const anchorElement = findSingle(element, 'a[data-pc-section=\"itemlink\"]') as HTMLElement | null;\n const contentElement = findSingle(element, '[data-pc-section=\"itemcontent\"]') as HTMLElement | null;\n\n if (this.popup() && this.target) {\n focus(this.target);\n }\n\n (anchorElement || contentElement || element).click();\n }\n\n onSpaceKey(event: KeyboardEvent) {\n this.onEnterKey(event);\n }\n\n findNextOptionIndex(index: string | number) {\n const links = find(this.containerViewChild()?.nativeElement, 'li[data-pc-section=\"item\"][data-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;\n }\n\n findPrevOptionIndex(index: string | number) {\n const links = find(this.containerViewChild()?.nativeElement, 'li[data-pc-section=\"item\"][data-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;\n }\n\n changeFocusedOptionIndex(index: number) {\n const links = find(this.containerViewChild()?.nativeElement, 'li[data-pc-section=\"item\"][data-disabled=\"false\"]');\n\n if (links.length > 0) {\n let order = index >= links.length ? links.length - 1 : index < 0 ? 0 : index;\n\n if (order > -1) {\n this.focusedOptionIndex.set(links[order].getAttribute('id') ?? -1);\n }\n }\n }\n\n itemClick(event: { originalEvent: Event; item: MenuItem }, id: string) {\n const { originalEvent, item } = event;\n\n if (!this.focused()) {\n this.focused.set(true);\n this.onFocus.emit(originalEvent);\n }\n\n if (item.disabled) {\n originalEvent.preventDefault();\n\n return;\n }\n\n if (!item.url && !item.routerLink) {\n originalEvent.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: originalEvent,\n item: item\n });\n }\n\n if (this.popup()) {\n this.hide();\n }\n\n if (!this.popup() && this.focusedOptionIndex() !== id) {\n this.focusedOptionIndex.set(id);\n }\n }\n\n onOverlayClick(event: Event) {\n if (this.popup()) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n\n this.preventDocumentDefault = true;\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener && isPlatformBrowser(this.platformId)) {\n const documentTarget = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', (event) => {\n const isOutsideContainer = this.containerViewChild()?.nativeElement && !this.containerViewChild()?.nativeElement.contains(event.target);\n const isOutsideTarget = !(this.target && (this.target === event.target || this.target.contains(event.target)));\n\n if (!this.popup() && isOutsideContainer && isOutsideTarget) {\n this.onListBlur(event);\n }\n\n if (this.preventDocumentDefault && this.overlayVisible() && isOutsideContainer && isOutsideTarget) {\n this.hide();\n this.preventDocumentDefault = false;\n }\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n bindDocumentResizeListener() {\n if (!this.documentResizeListener && isPlatformBrowser(this.platformId)) {\n const window = this.document.defaultView;\n\n this.documentResizeListener = this.renderer.listen(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 && isPlatformBrowser(this.platformId)) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.visible()) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler?.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n this.scrollHandler = null;\n }\n }\n\n onOverlayHide() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.preventDocumentDefault = false;\n\n if (!(this.cd as ViewRef).destroyed) {\n this.target = null;\n }\n\n if (this.container) {\n if (this.autoZIndex()) {\n ZIndexUtils.clear(this.container);\n }\n\n this.container = undefined;\n }\n }\n\n onDestroy() {\n if (this.popup()) {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.container) {\n if (this.autoZIndex()) {\n ZIndexUtils.clear(this.container);\n }\n\n this.container = undefined;\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n\n if (!this.popup()) {\n this.unbindDocumentClickListener();\n }\n }\n\n hasSubMenu(): boolean {\n return this.model()?.some((item) => item.items) ?? false;\n }\n\n getSubmenuKey(submenu: MenuItem, id: string): string {\n return submenu?.key != null ? String(submenu.key) : id;\n }\n\n isSubmenuToggleable(submenu: MenuItem, depth: number = 0): boolean {\n if (submenu.toggleable !== undefined) {\n return submenu.toggleable;\n }\n\n return depth > 0;\n }\n\n isSubmenuExpanded(submenu: MenuItem, depth: number = 0, id?: string): boolean {\n if (!this.isSubmenuToggleable(submenu, depth)) {\n return true;\n }\n\n if (id) {\n const key = this.getSubmenuKey(submenu, id);\n const expandedKeys = this.currentExpandedKeys();\n\n if (expandedKeys && key in expandedKeys) {\n return expandedKeys[key];\n }\n }\n\n return submenu.expanded === true;\n }\n\n toggleSubmenu(submenu: MenuItem, id: string, depth: number = 0) {\n const key = this.getSubmenuKey(submenu, id);\n const isExpanded = this.isSubmenuExpanded(submenu, depth, id);\n const next = { ...(this.currentExpandedKeys() || {}), [key]: !isExpanded };\n\n if (this.expandedKeys() !== undefined) {\n this.expandedKeys.set(next);\n } else {\n this.d_expandedKeys.set(next);\n }\n\n submenu.expanded = !isExpanded;\n }\n\n onItemLiClick(event: Event, item: MenuItem, id: string, depth: number) {\n if (item.items?.length && this.isSubmenuToggleable(item, depth)) {\n event.preventDefault();\n }\n }\n\n onItemLiMousedown(event: Event, item: MenuItem, depth: number) {\n if (item.items?.length && this.isSubmenuToggleable(item, depth)) {\n event.preventDefault();\n }\n }\n\n focusMenuList() {\n const list = this.listViewChild()?.nativeElement;\n\n if (list) focus(list);\n }\n\n isItemHidden(item: MenuItem): boolean {\n if (item.separator) {\n return item.visible === false || !!(item.items && item.items.some((subitem: MenuItem) => subitem.visible !== false));\n }\n\n return item.visible === false;\n }\n}\n\n@NgModule({\n imports: [Menu, SharedModule, SafeHtmlPipe],\n exports: [Menu, SharedModule, SafeHtmlPipe]\n})\nexport class MenuModule {}\n"],"mappings":"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"}
|