primevue 3.41.0 → 3.41.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/button/BaseButton.vue +4 -0
- package/button/Button.d.ts +4 -0
- package/button/Button.vue +1 -1
- package/button/button.cjs.js +6 -1
- package/button/button.cjs.min.js +1 -1
- package/button/button.esm.js +6 -1
- package/button/button.esm.min.js +1 -1
- package/button/button.js +6 -1
- package/button/button.min.js +1 -1
- package/calendar/Calendar.d.ts +18 -0
- package/calendar/Calendar.vue +34 -10
- package/calendar/calendar.cjs.js +53 -26
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +53 -26
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +53 -26
- package/calendar/calendar.min.js +1 -1
- package/column/Column.d.ts +4 -0
- package/core/core.js +7 -2
- package/core/core.min.js +2 -2
- package/datatable/DataTable.vue +4 -7
- package/datatable/HeaderCell.vue +1 -1
- package/datatable/datatable.cjs.js +6 -9
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +6 -9
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +6 -9
- package/datatable/datatable.min.js +1 -1
- package/dock/Dock.vue +27 -5
- package/dock/dock.cjs.js +27 -6
- package/dock/dock.cjs.min.js +1 -1
- package/dock/dock.esm.js +27 -6
- package/dock/dock.esm.min.js +1 -1
- package/dock/dock.js +27 -6
- package/dock/dock.min.js +1 -1
- package/listbox/BaseListbox.vue +12 -3
- package/listbox/Listbox.d.ts +1 -1
- package/listbox/listbox.cjs.js +12 -3
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.esm.js +12 -3
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +12 -3
- package/listbox/listbox.min.js +1 -1
- package/megamenu/MegaMenu.d.ts +23 -0
- package/megamenu/MegaMenu.vue +45 -26
- package/megamenu/megamenu.cjs.js +63 -39
- package/megamenu/megamenu.cjs.min.js +1 -1
- package/megamenu/megamenu.esm.js +63 -39
- package/megamenu/megamenu.esm.min.js +1 -1
- package/megamenu/megamenu.js +63 -39
- package/megamenu/megamenu.min.js +1 -1
- package/menubar/Menubar.d.ts +27 -3
- package/menubar/Menubar.vue +48 -29
- package/menubar/menubar.cjs.js +68 -44
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +68 -44
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +68 -44
- package/menubar/menubar.min.js +1 -1
- package/package.json +1 -1
- package/panelmenu/style/panelmenustyle.cjs.js +1 -1
- package/panelmenu/style/panelmenustyle.cjs.min.js +1 -1
- package/panelmenu/style/panelmenustyle.esm.js +1 -1
- package/panelmenu/style/panelmenustyle.esm.min.js +1 -1
- package/panelmenu/style/panelmenustyle.js +1 -1
- package/panelmenu/style/panelmenustyle.min.js +1 -1
- package/styleclass/StyleClass.d.ts +10 -0
- package/styleclass/styleclass.cjs.js +18 -0
- package/styleclass/styleclass.cjs.min.js +1 -1
- package/styleclass/styleclass.esm.js +18 -0
- package/styleclass/styleclass.esm.min.js +1 -1
- package/styleclass/styleclass.js +18 -0
- package/styleclass/styleclass.min.js +1 -1
- package/web-types.json +1 -1
package/megamenu/megamenu.js
CHANGED
|
@@ -334,6 +334,7 @@ this.primevue.megamenu = (function (BarsIcon, utils, BaseComponent, MegaMenuStyl
|
|
|
334
334
|
emits: ['focus', 'blur'],
|
|
335
335
|
outsideClickListener: null,
|
|
336
336
|
resizeListener: null,
|
|
337
|
+
matchMediaListener: null,
|
|
337
338
|
container: null,
|
|
338
339
|
menubar: null,
|
|
339
340
|
searchTimeout: null,
|
|
@@ -350,6 +351,7 @@ this.primevue.megamenu = (function (BarsIcon, utils, BaseComponent, MegaMenuStyl
|
|
|
350
351
|
},
|
|
351
352
|
activeItem: null,
|
|
352
353
|
dirty: false,
|
|
354
|
+
query: null,
|
|
353
355
|
queryMatches: false
|
|
354
356
|
};
|
|
355
357
|
},
|
|
@@ -368,19 +370,14 @@ this.primevue.megamenu = (function (BarsIcon, utils, BaseComponent, MegaMenuStyl
|
|
|
368
370
|
}
|
|
369
371
|
},
|
|
370
372
|
mounted: function mounted() {
|
|
371
|
-
var _this = this;
|
|
372
373
|
this.id = this.id || utils.UniqueComponentId();
|
|
373
|
-
|
|
374
|
-
this.queryMatches = query.matches;
|
|
375
|
-
query.addEventListener('change', function () {
|
|
376
|
-
_this.queryMatches = query.matches;
|
|
377
|
-
_this.mobileActive = false;
|
|
378
|
-
});
|
|
374
|
+
this.bindMatchMediaListener();
|
|
379
375
|
},
|
|
380
376
|
beforeUnmount: function beforeUnmount() {
|
|
381
377
|
this.mobileActive = false;
|
|
382
378
|
this.unbindOutsideClickListener();
|
|
383
379
|
this.unbindResizeListener();
|
|
380
|
+
this.unbindMatchMediaListener();
|
|
384
381
|
},
|
|
385
382
|
methods: {
|
|
386
383
|
getItemProp: function getItemProp(item, name) {
|
|
@@ -405,7 +402,7 @@ this.primevue.megamenu = (function (BarsIcon, utils, BaseComponent, MegaMenuStyl
|
|
|
405
402
|
return processedItem && utils.ObjectUtils.isNotEmpty(processedItem.items);
|
|
406
403
|
},
|
|
407
404
|
toggle: function toggle(event) {
|
|
408
|
-
var
|
|
405
|
+
var _this = this;
|
|
409
406
|
if (this.mobileActive) {
|
|
410
407
|
this.mobileActive = false;
|
|
411
408
|
utils.ZIndexUtils.clear(this.menubar);
|
|
@@ -414,7 +411,7 @@ this.primevue.megamenu = (function (BarsIcon, utils, BaseComponent, MegaMenuStyl
|
|
|
414
411
|
this.mobileActive = true;
|
|
415
412
|
utils.ZIndexUtils.set('menu', this.menubar, this.$primevue.config.zIndex.menu);
|
|
416
413
|
setTimeout(function () {
|
|
417
|
-
|
|
414
|
+
_this.show();
|
|
418
415
|
}, 1);
|
|
419
416
|
}
|
|
420
417
|
this.bindOutsideClickListener();
|
|
@@ -429,11 +426,11 @@ this.primevue.megamenu = (function (BarsIcon, utils, BaseComponent, MegaMenuStyl
|
|
|
429
426
|
utils.DomHandler.focus(this.menubar);
|
|
430
427
|
},
|
|
431
428
|
hide: function hide(event, isFocus) {
|
|
432
|
-
var
|
|
429
|
+
var _this2 = this;
|
|
433
430
|
if (this.mobileActive) {
|
|
434
431
|
this.mobileActive = false;
|
|
435
432
|
setTimeout(function () {
|
|
436
|
-
utils.DomHandler.focus(
|
|
433
|
+
utils.DomHandler.focus(_this2.$refs.menubutton);
|
|
437
434
|
}, 0);
|
|
438
435
|
}
|
|
439
436
|
this.activeItem = null;
|
|
@@ -743,13 +740,13 @@ this.primevue.megamenu = (function (BarsIcon, utils, BaseComponent, MegaMenuStyl
|
|
|
743
740
|
this.hide();
|
|
744
741
|
},
|
|
745
742
|
bindOutsideClickListener: function bindOutsideClickListener() {
|
|
746
|
-
var
|
|
743
|
+
var _this3 = this;
|
|
747
744
|
if (!this.outsideClickListener) {
|
|
748
745
|
this.outsideClickListener = function (event) {
|
|
749
|
-
var isOutsideContainer =
|
|
750
|
-
var isOutsideTarget = !(
|
|
746
|
+
var isOutsideContainer = _this3.container && !_this3.container.contains(event.target);
|
|
747
|
+
var isOutsideTarget = !(_this3.target && (_this3.target === event.target || _this3.target.contains(event.target)));
|
|
751
748
|
if (isOutsideContainer && isOutsideTarget) {
|
|
752
|
-
|
|
749
|
+
_this3.hide();
|
|
753
750
|
}
|
|
754
751
|
};
|
|
755
752
|
document.addEventListener('click', this.outsideClickListener);
|
|
@@ -762,13 +759,13 @@ this.primevue.megamenu = (function (BarsIcon, utils, BaseComponent, MegaMenuStyl
|
|
|
762
759
|
}
|
|
763
760
|
},
|
|
764
761
|
bindResizeListener: function bindResizeListener() {
|
|
765
|
-
var
|
|
762
|
+
var _this4 = this;
|
|
766
763
|
if (!this.resizeListener) {
|
|
767
764
|
this.resizeListener = function (event) {
|
|
768
765
|
if (!utils.DomHandler.isTouchDevice()) {
|
|
769
|
-
|
|
766
|
+
_this4.hide(event, true);
|
|
770
767
|
}
|
|
771
|
-
|
|
768
|
+
_this4.mobileActive = false;
|
|
772
769
|
};
|
|
773
770
|
window.addEventListener('resize', this.resizeListener);
|
|
774
771
|
}
|
|
@@ -779,6 +776,25 @@ this.primevue.megamenu = (function (BarsIcon, utils, BaseComponent, MegaMenuStyl
|
|
|
779
776
|
this.resizeListener = null;
|
|
780
777
|
}
|
|
781
778
|
},
|
|
779
|
+
bindMatchMediaListener: function bindMatchMediaListener() {
|
|
780
|
+
var _this5 = this;
|
|
781
|
+
if (!this.matchMediaListener) {
|
|
782
|
+
var query = matchMedia("(max-width: ".concat(this.breakpoint, ")"));
|
|
783
|
+
this.query = query;
|
|
784
|
+
this.queryMatches = query.matches;
|
|
785
|
+
this.matchMediaListener = function () {
|
|
786
|
+
_this5.queryMatches = query.matches;
|
|
787
|
+
_this5.mobileActive = false;
|
|
788
|
+
};
|
|
789
|
+
this.query.addEventListener('change', this.matchMediaListener);
|
|
790
|
+
}
|
|
791
|
+
},
|
|
792
|
+
unbindMatchMediaListener: function unbindMatchMediaListener() {
|
|
793
|
+
if (this.matchMediaListener) {
|
|
794
|
+
this.query.removeEventListener('change', this.matchMediaListener);
|
|
795
|
+
this.matchMediaListener = null;
|
|
796
|
+
}
|
|
797
|
+
},
|
|
782
798
|
isItemMatched: function isItemMatched(processedItem) {
|
|
783
799
|
return this.isValidItem(processedItem) && this.getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase());
|
|
784
800
|
},
|
|
@@ -952,7 +968,6 @@ this.primevue.megamenu = (function (BarsIcon, utils, BaseComponent, MegaMenuStyl
|
|
|
952
968
|
var _hoisted_1 = ["id"];
|
|
953
969
|
var _hoisted_2 = ["aria-haspopup", "aria-expanded", "aria-controls", "aria-label"];
|
|
954
970
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
955
|
-
var _ctx$$primevue$config;
|
|
956
971
|
var _component_BarsIcon = vue.resolveComponent("BarsIcon");
|
|
957
972
|
var _component_MegaMenuSub = vue.resolveComponent("MegaMenuSub");
|
|
958
973
|
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
@@ -964,25 +979,34 @@ this.primevue.megamenu = (function (BarsIcon, utils, BaseComponent, MegaMenuStyl
|
|
|
964
979
|
}), [_ctx.$slots.start ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
965
980
|
key: 0,
|
|
966
981
|
"class": _ctx.cx('start')
|
|
967
|
-
}, _ctx.ptm('start')), [vue.renderSlot(_ctx.$slots, "start")], 16)) : vue.createCommentVNode("", true),
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
"
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
982
|
+
}, _ctx.ptm('start')), [vue.renderSlot(_ctx.$slots, "start")], 16)) : vue.createCommentVNode("", true), vue.renderSlot(_ctx.$slots, "menubutton", {
|
|
983
|
+
id: $data.id,
|
|
984
|
+
"class": vue.normalizeClass(_ctx.cx('menubutton')),
|
|
985
|
+
toggleCallback: function toggleCallback(event) {
|
|
986
|
+
return $options.menuButtonClick(event);
|
|
987
|
+
}
|
|
988
|
+
}, function () {
|
|
989
|
+
var _ctx$$primevue$config;
|
|
990
|
+
return [_ctx.model && _ctx.model.length > 0 ? (vue.openBlock(), vue.createElementBlock("a", vue.mergeProps({
|
|
991
|
+
key: 0,
|
|
992
|
+
ref: "menubutton",
|
|
993
|
+
role: "button",
|
|
994
|
+
tabindex: "0",
|
|
995
|
+
"class": _ctx.cx('menubutton'),
|
|
996
|
+
"aria-haspopup": _ctx.model.length && _ctx.model.length > 0 ? true : false,
|
|
997
|
+
"aria-expanded": $data.mobileActive,
|
|
998
|
+
"aria-controls": $data.id,
|
|
999
|
+
"aria-label": (_ctx$$primevue$config = _ctx.$primevue.config.locale.aria) === null || _ctx$$primevue$config === void 0 ? void 0 : _ctx$$primevue$config.navigation,
|
|
1000
|
+
onClick: _cache[0] || (_cache[0] = function ($event) {
|
|
1001
|
+
return $options.menuButtonClick($event);
|
|
1002
|
+
}),
|
|
1003
|
+
onKeydown: _cache[1] || (_cache[1] = function ($event) {
|
|
1004
|
+
return $options.menuButtonKeydown($event);
|
|
1005
|
+
})
|
|
1006
|
+
}, _ctx.ptm('menubutton')), [vue.renderSlot(_ctx.$slots, "menubuttonicon", {}, function () {
|
|
1007
|
+
return [vue.createVNode(_component_BarsIcon, vue.normalizeProps(vue.guardReactiveProps(_ctx.ptm('menubuttonicon'))), null, 16)];
|
|
1008
|
+
})], 16, _hoisted_2)) : vue.createCommentVNode("", true)];
|
|
1009
|
+
}), vue.createVNode(_component_MegaMenuSub, {
|
|
986
1010
|
ref: $options.menubarRef,
|
|
987
1011
|
id: $data.id + '_list',
|
|
988
1012
|
tabindex: !_ctx.disabled ? _ctx.tabindex : -1,
|
|
@@ -1008,7 +1032,7 @@ this.primevue.megamenu = (function (BarsIcon, utils, BaseComponent, MegaMenuStyl
|
|
|
1008
1032
|
onItemClick: $options.onItemClick,
|
|
1009
1033
|
onItemMouseenter: $options.onItemMouseEnter
|
|
1010
1034
|
}, null, 8, ["id", "tabindex", "aria-label", "aria-labelledby", "aria-disabled", "aria-orientation", "aria-activedescendant", "menuId", "focusedItemId", "items", "horizontal", "templates", "activeItem", "mobileActive", "pt", "unstyled", "onFocus", "onBlur", "onKeydown", "onItemClick", "onItemMouseenter"]), _ctx.$slots.end ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
1011
|
-
key:
|
|
1035
|
+
key: 1,
|
|
1012
1036
|
"class": _ctx.cx('end')
|
|
1013
1037
|
}, _ctx.ptm('end')), [vue.renderSlot(_ctx.$slots, "end")], 16)) : vue.createCommentVNode("", true)], 16, _hoisted_1);
|
|
1014
1038
|
}
|
package/megamenu/megamenu.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
this.primevue=this.primevue||{},this.primevue.megamenu=function(e,t,i,n,s,o,r,c){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=a(e),l=a(i),u=a(n),d=a(s),I={name:"BaseMegaMenu",extends:l.default,props:{model:{type:Array,default:null},orientation:{type:String,default:"horizontal"},breakpoint:{type:String,default:"960px"},disabled:{type:Boolean,default:!1},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},style:u.default,provide:function(){return{$parentInstance:this}}},h={name:"MegaMenuSub",hostName:"MegaMenu",extends:l.default,emits:["item-click","item-mouseenter"],props:{menuId:{type:String,default:null},focusedItemId:{type:String,default:null},horizontal:{type:Boolean,default:!1},submenu:{type:Object,default:null},mobileActive:{type:Boolean,default:!1},items:{type:Array,default:null},level:{type:Number,default:0},templates:{type:Object,default:null},activeItem:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getSubListId:function(e){return"".concat(this.getItemId(e),"_list")},getSubListKey:function(e){return this.getSubListId(e)},getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,i,n){return e&&e.item?t.ObjectUtils.getItemValue(e.item[i],n):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,i){return this.ptm(i,{context:{item:e,index:t,active:this.isItemActive(e),focused:this.isItemFocused(e),disabled:this.isItemDisabled(e)}})},isItemActive:function(e){return!!t.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===e.key},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1},getMenuItemProps:function(e,t){return{action:c.mergeProps({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions(e,t,"action")),icon:c.mergeProps({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions(e,t,"icon")),label:c.mergeProps({class:this.cx("label")},this.getPTOptions(e,t,"label")),submenuicon:c.mergeProps({class:this.cx("submenuIcon")},this.getPTOptions(e,t,"submenuIcon"))}}},components:{AngleRightIcon:a(o).default,AngleDownIcon:d.default},directives:{ripple:a(r).default}},f=["tabindex"],p=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],b=["onClick","onMouseenter"],v=["href","target"],g=["id"];h.render=function(e,t,i,n,s,o){var r=c.resolveComponent("MegaMenuSub",!0),a=c.resolveDirective("ripple");return c.openBlock(),c.createElementBlock("ul",c.mergeProps({class:e.cx(0===i.level?"menu":"submenu"),tabindex:i.tabindex},e.ptm(0===i.level?"menu":"submenu")),[i.submenu?(c.openBlock(),c.createElementBlock("li",c.mergeProps({key:0,class:[e.cx("submenuHeader",{submenu:i.submenu}),o.getItemProp(i.submenu,"class")],style:o.getItemProp(i.submenu,"style"),role:"presentation"},e.ptm("submenuHeader")),c.toDisplayString(o.getItemLabel(i.submenu)),17)):c.createCommentVNode("",!0),(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(i.items,(function(n,s){return c.openBlock(),c.createElementBlock(c.Fragment,{key:o.getItemKey(n)},[o.isItemVisible(n)&&!o.getItemProp(n,"separator")?(c.openBlock(),c.createElementBlock("li",c.mergeProps({key:0,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("menuitem",{processedItem:n}),o.getItemProp(n,"class")],role:"menuitem","aria-label":o.getItemLabel(n),"aria-disabled":o.isItemDisabled(n)||void 0,"aria-expanded":o.isItemGroup(n)?o.isItemActive(n):void 0,"aria-haspopup":o.isItemGroup(n)&&!o.getItemProp(n,"to")?"menu":void 0,"aria-level":i.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions(n,s,"menuitem"),{"data-p-highlight":o.isItemActive(n),"data-p-focused":o.isItemFocused(n),"data-p-disabled":o.isItemDisabled(n)}),[c.createElementVNode("div",c.mergeProps({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,n)},onMouseenter:function(e){return o.onItemMouseEnter(e,n)}},o.getPTOptions(n,s,"content")),[i.templates.item?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(i.templates.item),{key:1,item:n.item,hasSubmenu:o.isItemGroup(n),label:o.getItemLabel(n),props:o.getMenuItemProps(n,s)},null,8,["item","hasSubmenu","label","props"])):c.withDirectives((c.openBlock(),c.createElementBlock("a",c.mergeProps({key:0,href:o.getItemProp(n,"url"),class:e.cx("action"),target:o.getItemProp(n,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions(n,s,"action")),[i.templates.itemicon?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(i.templates.itemicon),{key:0,item:n.item,class:c.normalizeClass([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(c.openBlock(),c.createElementBlock("span",c.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions(n,s,"icon")),null,16)):c.createCommentVNode("",!0),c.createElementVNode("span",c.mergeProps({class:e.cx(0===i.level?"label":"submenuLabel")},o.getPTOptions(n,s,0===i.level?"label":"submenuLabel")),c.toDisplayString(o.getItemLabel(n)),17),o.isItemGroup(n)?(c.openBlock(),c.createElementBlock(c.Fragment,{key:2},[i.templates.submenuicon?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(i.templates.submenuicon),c.mergeProps({key:0,active:o.isItemActive(n),class:e.cx("submenuIcon")},o.getPTOptions(n,s,"submenuIcon")),null,16,["active","class"])):(c.openBlock(),c.createBlock(c.resolveDynamicComponent(i.horizontal||i.mobileActive?"AngleDownIcon":"AngleRightIcon"),c.mergeProps({key:1,class:e.cx("submenuIcon")},o.getPTOptions(n,s,"submenuIcon")),null,16,["class"]))],64)):c.createCommentVNode("",!0)],16,v)),[[a]])],16,b),o.isItemVisible(n)&&o.isItemGroup(n)?(c.openBlock(),c.createElementBlock("div",c.mergeProps({key:0,class:e.cx("panel")},e.ptm("panel")),[c.createElementVNode("div",c.mergeProps({class:e.cx("grid")},e.ptm("grid")),[(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(n.items,(function(s){return c.openBlock(),c.createElementBlock("div",c.mergeProps({key:o.getItemKey(s),class:e.cx("column",{processedItem:n})},e.ptm("column")),[(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(s,(function(s){return c.openBlock(),c.createBlock(r,{key:o.getSubListKey(s),id:o.getSubListId(s),style:c.normalizeStyle(e.sx("submenu",!0,{processedItem:n})),role:"menu",menuId:i.menuId,focusedItemId:i.focusedItemId,submenu:s,items:s.items,templates:i.templates,level:i.level+1,mobileActive:i.mobileActive,pt:e.pt,unstyled:e.unstyled,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)})},null,8,["id","style","menuId","focusedItemId","submenu","items","templates","level","mobileActive","pt","unstyled"])})),128))],16)})),128))],16)],16)):c.createCommentVNode("",!0)],16,p)):c.createCommentVNode("",!0),o.isItemVisible(n)&&o.getItemProp(n,"separator")?(c.openBlock(),c.createElementBlock("li",c.mergeProps({key:1,id:o.getItemId(n),class:[e.cx("separator"),o.getItemProp(n,"class")],style:o.getItemProp(n,"style"),role:"separator"},e.ptm("separator")),null,16,g)):c.createCommentVNode("",!0)],64)})),128))],16,f)};var y={name:"MegaMenu",extends:I,emits:["focus","blur"],outsideClickListener:null,resizeListener:null,container:null,menubar:null,searchTimeout:null,searchValue:null,data:function(){return{id:this.$attrs.id,mobileActive:!1,focused:!1,focusedItemInfo:{index:-1,key:"",parentKey:""},activeItem:null,dirty:!1,queryMatches:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeItem:function(e){t.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):(this.unbindOutsideClickListener(),this.unbindResizeListener())}},mounted:function(){var e=this;this.id=this.id||t.UniqueComponentId();var i=matchMedia("(max-width: ".concat(this.breakpoint,")"));this.queryMatches=i.matches,i.addEventListener("change",(function(){e.queryMatches=i.matches,e.mobileActive=!1}))},beforeUnmount:function(){this.mobileActive=!1,this.unbindOutsideClickListener(),this.unbindResizeListener()},methods:{getItemProp:function(e,i){return e?t.ObjectUtils.getItemValue(e[i]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.ObjectUtils.isNotEmpty(e.items)},toggle:function(e){var i=this;this.mobileActive?(this.mobileActive=!1,t.ZIndexUtils.clear(this.menubar),this.hide()):(this.mobileActive=!0,t.ZIndexUtils.set("menu",this.menubar,this.$primevue.config.zIndex.menu),setTimeout((function(){i.show()}),1)),this.bindOutsideClickListener(),e.preventDefault()},show:function(){this.focusedItemInfo={index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},t.DomHandler.focus(this.menubar)},hide:function(e,i){var n=this;this.mobileActive&&(this.mobileActive=!1,setTimeout((function(){t.DomHandler.focus(n.$refs.menubutton)}),0)),this.activeItem=null,this.focusedItemInfo={index:-1,key:"",parentKey:""},i&&t.DomHandler.focus(this.menubar),this.dirty=!1},onFocus:function(e){if(this.focused=!0,-1===this.focusedItemInfo.index){var t=this.findFirstFocusedItemIndex(),i=this.findVisibleItem(t);this.focusedItemInfo={index:t,key:i.key,parentKey:i.parentKey}}this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,key:"",parentKey:""},this.searchValue="",this.dirty=!1,this.$emit("blur",e)},onKeyDown:function(e){if(this.disabled)e.preventDefault();else{var i=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":this.onArrowLeftKey(e);break;case"ArrowRight":this.onArrowRightKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"Space":this.onSpaceKey(e);break;case"Enter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Tab":this.onTabKey(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!i&&t.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}}},onItemChange:function(e){var i=e.processedItem,n=e.isFocus;if(!t.ObjectUtils.isEmpty(i)){var s=i.index,o=i.key,r=i.parentKey,c=t.ObjectUtils.isNotEmpty(i.items);c&&(this.activeItem=i),this.focusedItemInfo={index:s,key:o,parentKey:r},c&&(this.dirty=!0),n&&t.DomHandler.focus(this.menubar)}},onItemClick:function(e){var i=e.originalEvent,n=e.processedItem,s=this.isProccessedItemGroup(n),o=t.ObjectUtils.isEmpty(n.parent);if(this.isSelected(n)){var r=n.index,c=n.key,a=n.parentKey;this.activeItem=null,this.focusedItemInfo={index:r,key:c,parentKey:a},this.dirty=!o,t.DomHandler.focus(this.menubar)}else if(s)this.onItemChange(e);else{var m=o?n:this.activeItem;this.hide(i),this.changeFocusedItemInfo(i,m?m.index:-1),this.mobileActive=!1,t.DomHandler.focus(this.menubar)}},onItemMouseEnter:function(e){!this.mobileActive&&this.dirty&&this.onItemChange(e)},menuButtonClick:function(e){this.toggle(e)},menuButtonKeydown:function(e){("Enter"===e.code||"Space"===e.code)&&this.menuButtonClick(e)},onArrowDownKey:function(e){if(this.horizontal)if(t.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===this.focusedItemInfo.key)this.focusedItemInfo={index:-1,key:"",parentKey:this.activeItem.key};else{var i=this.findVisibleItem(this.focusedItemInfo.index);this.isProccessedItemGroup(i)&&(this.onItemChange({originalEvent:e,processedItem:i}),this.focusedItemInfo={index:-1,key:i.key,parentKey:i.parentKey},this.searchValue="")}var n=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemInfo(e,n),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey&&this.horizontal){if(-1!==this.focusedItemInfo.index){var i=this.findVisibleItem(this.focusedItemInfo.index);!this.isProccessedItemGroup(i)&&t.ObjectUtils.isNotEmpty(this.activeItem)&&(0===this.focusedItemInfo.index?(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key,parentKey:this.activeItem.parentKey},this.activeItem=null):this.changeFocusedItemInfo(e,this.findFirstItemIndex()))}e.preventDefault()}else{var n=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemInfo(e,n),e.preventDefault()}},onArrowLeftKey:function(e){var i=this.findVisibleItem(this.focusedItemInfo.index);if(this.isProccessedItemGroup(i)){if(this.horizontal){var n=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemInfo(e,n)}}else{this.vertical&&t.ObjectUtils.isNotEmpty(this.activeItem)&&0===i.columnIndex&&(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key,parentKey:this.activeItem.parentKey},this.activeItem=null);var s=i.columnIndex-1,o=this.visibleItems.findIndex((function(e){return e.columnIndex===s}));-1!==o&&this.changeFocusedItemInfo(e,o)}e.preventDefault()},onArrowRightKey:function(e){var i=this.findVisibleItem(this.focusedItemInfo.index);if(this.isProccessedItemGroup(i)){if(this.vertical)if(t.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===i.key)this.focusedItemInfo={index:-1,key:"",parentKey:this.activeItem.key};else{var n=this.findVisibleItem(this.focusedItemInfo.index);this.isProccessedItemGroup(n)&&(this.onItemChange({originalEvent:e,processedItem:n}),this.focusedItemInfo={index:-1,key:n.key,parentKey:n.parentKey},this.searchValue="")}var s=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemInfo(e,s)}else{var o=i.columnIndex+1,r=this.visibleItems.findIndex((function(e){return e.columnIndex===o}));-1!==r&&this.changeFocusedItemInfo(e,r)}e.preventDefault()},onHomeKey:function(e){this.changeFocusedItemInfo(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemInfo(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var i=t.DomHandler.findSingle(this.menubar,'li[id="'.concat("".concat(this.focusedItemId),'"]')),n=i&&t.DomHandler.findSingle(i,'a[data-pc-section="action"]');n?n.click():i&&i.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&this.changeFocusedItemInfo(e,this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){t.ObjectUtils.isNotEmpty(this.activeItem)&&(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key},this.activeItem=null),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.findVisibleItem(this.focusedItemInfo.index);!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var i=e.container&&!e.container.contains(t.target),n=!(e.target&&(e.target===t.target||e.target.contains(t.target)));i&&n&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(i){t.DomHandler.isTouchDevice()||e.hide(i,!0),e.mobileActive=!1},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(e){return!!t.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===e.key},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.ObjectUtils.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItemIndex:function(e){var t=this,i=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return i>-1?i+e+1:e},findPrevItemIndex:function(e){var i=this,n=e>0?t.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(function(e){return i.isValidItem(e)})):-1;return n>-1?n:e},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},findVisibleItem:function(e){return t.ObjectUtils.isNotEmpty(this.visibleItems)?this.visibleItems[e]:null},searchItems:function(e,t){var i=this;this.searchValue=(this.searchValue||"")+t;var n=-1,s=!1;return-1!==(n=-1!==this.focusedItemInfo.index?-1===(n=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})):n+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return i.isItemMatched(e)})))&&(s=!0),-1===n&&-1===this.focusedItemInfo.index&&(n=this.findFirstFocusedItemIndex()),-1!==n&&this.changeFocusedItemInfo(e,n),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){i.searchValue="",i.searchTimeout=null}),500),s},changeFocusedItemInfo:function(e,i){var n=this.findVisibleItem(i);this.focusedItemInfo.index=i,this.focusedItemInfo.key=t.ObjectUtils.isNotEmpty(n)?n.key:"",this.scrollInView()},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,i=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,n=t.DomHandler.findSingle(this.menubar,'li[id="'.concat(i,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=arguments.length>4?arguments[4]:void 0,r=[];return e&&e.forEach((function(e,c){var a=(""!==s?s+"_":"")+(void 0!==o?o+"_":"")+c,m={item:e,index:c,level:i,key:a,parent:n,parentKey:s,columnIndex:void 0!==o?o:void 0!==n.columnIndex?n.columnIndex:c};m.items=0===i&&e.items&&e.items.length>0?e.items.map((function(e,n){return t.createProcessedItems(e,i+1,m,a,n)})):t.createProcessedItems(e.items,i+1,m,a),r.push(m)})),r},containerRef:function(e){this.container=e},menubarRef:function(e){this.menubar=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=t.ObjectUtils.isNotEmpty(this.activeItem)?this.activeItem:null;return e&&e.key===this.focusedItemInfo.parentKey?e.items.reduce((function(e,t){return t.forEach((function(t){t.items.forEach((function(t){e.push(t)}))})),e}),[]):this.processedItems},horizontal:function(){return"horizontal"===this.orientation},vertical:function(){return"vertical"===this.orientation},focusedItemId:function(){return t.ObjectUtils.isNotEmpty(this.focusedItemInfo.key)?"".concat(this.id,"_").concat(this.focusedItemInfo.key):null}},components:{MegaMenuSub:h,BarsIcon:m.default}},k=["id"],x=["aria-haspopup","aria-expanded","aria-controls","aria-label"];return y.render=function(e,t,i,n,s,o){var r,a=c.resolveComponent("BarsIcon"),m=c.resolveComponent("MegaMenuSub");return c.openBlock(),c.createElementBlock("div",c.mergeProps({ref:o.containerRef,id:s.id,class:e.cx("root")},e.ptm("root"),{"data-pc-name":"megamenu"}),[e.$slots.start?(c.openBlock(),c.createElementBlock("div",c.mergeProps({key:0,class:e.cx("start")},e.ptm("start")),[c.renderSlot(e.$slots,"start")],16)):c.createCommentVNode("",!0),e.model&&e.model.length>0?(c.openBlock(),c.createElementBlock("a",c.mergeProps({key:1,ref:"menubutton",role:"button",tabindex:"0",class:e.cx("menubutton"),"aria-haspopup":!!(e.model.length&&e.model.length>0),"aria-expanded":s.mobileActive,"aria-controls":s.id,"aria-label":null===(r=e.$primevue.config.locale.aria)||void 0===r?void 0:r.navigation,onClick:t[0]||(t[0]=function(e){return o.menuButtonClick(e)}),onKeydown:t[1]||(t[1]=function(e){return o.menuButtonKeydown(e)})},e.ptm("menubutton")),[c.renderSlot(e.$slots,"menubuttonicon",{},(function(){return[c.createVNode(a,c.normalizeProps(c.guardReactiveProps(e.ptm("menubuttonicon"))),null,16)]}))],16,x)):c.createCommentVNode("",!0),c.createVNode(m,{ref:o.menubarRef,id:s.id+"_list",tabindex:e.disabled?-1:e.tabindex,role:"menubar","aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-disabled":e.disabled||void 0,"aria-orientation":e.orientation,"aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,horizontal:o.horizontal,templates:e.$slots,activeItem:s.activeItem,mobileActive:s.mobileActive,level:0,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","tabindex","aria-label","aria-labelledby","aria-disabled","aria-orientation","aria-activedescendant","menuId","focusedItemId","items","horizontal","templates","activeItem","mobileActive","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"]),e.$slots.end?(c.openBlock(),c.createElementBlock("div",c.mergeProps({key:2,class:e.cx("end")},e.ptm("end")),[c.renderSlot(e.$slots,"end")],16)):c.createCommentVNode("",!0)],16,k)},y}(primevue.icons.bars,primevue.utils,primevue.basecomponent,primevue.megamenu.style,primevue.icons.angledown,primevue.icons.angleright,primevue.ripple,Vue);
|
|
1
|
+
this.primevue=this.primevue||{},this.primevue.megamenu=function(e,t,i,n,s,o,r,c){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=a(e),l=a(i),u=a(n),d=a(s),I={name:"BaseMegaMenu",extends:l.default,props:{model:{type:Array,default:null},orientation:{type:String,default:"horizontal"},breakpoint:{type:String,default:"960px"},disabled:{type:Boolean,default:!1},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},style:u.default,provide:function(){return{$parentInstance:this}}},h={name:"MegaMenuSub",hostName:"MegaMenu",extends:l.default,emits:["item-click","item-mouseenter"],props:{menuId:{type:String,default:null},focusedItemId:{type:String,default:null},horizontal:{type:Boolean,default:!1},submenu:{type:Object,default:null},mobileActive:{type:Boolean,default:!1},items:{type:Array,default:null},level:{type:Number,default:0},templates:{type:Object,default:null},activeItem:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getSubListId:function(e){return"".concat(this.getItemId(e),"_list")},getSubListKey:function(e){return this.getSubListId(e)},getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,i,n){return e&&e.item?t.ObjectUtils.getItemValue(e.item[i],n):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,i){return this.ptm(i,{context:{item:e,index:t,active:this.isItemActive(e),focused:this.isItemFocused(e),disabled:this.isItemDisabled(e)}})},isItemActive:function(e){return!!t.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===e.key},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1},getMenuItemProps:function(e,t){return{action:c.mergeProps({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions(e,t,"action")),icon:c.mergeProps({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions(e,t,"icon")),label:c.mergeProps({class:this.cx("label")},this.getPTOptions(e,t,"label")),submenuicon:c.mergeProps({class:this.cx("submenuIcon")},this.getPTOptions(e,t,"submenuIcon"))}}},components:{AngleRightIcon:a(o).default,AngleDownIcon:d.default},directives:{ripple:a(r).default}},f=["tabindex"],p=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],b=["onClick","onMouseenter"],v=["href","target"],g=["id"];h.render=function(e,t,i,n,s,o){var r=c.resolveComponent("MegaMenuSub",!0),a=c.resolveDirective("ripple");return c.openBlock(),c.createElementBlock("ul",c.mergeProps({class:e.cx(0===i.level?"menu":"submenu"),tabindex:i.tabindex},e.ptm(0===i.level?"menu":"submenu")),[i.submenu?(c.openBlock(),c.createElementBlock("li",c.mergeProps({key:0,class:[e.cx("submenuHeader",{submenu:i.submenu}),o.getItemProp(i.submenu,"class")],style:o.getItemProp(i.submenu,"style"),role:"presentation"},e.ptm("submenuHeader")),c.toDisplayString(o.getItemLabel(i.submenu)),17)):c.createCommentVNode("",!0),(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(i.items,(function(n,s){return c.openBlock(),c.createElementBlock(c.Fragment,{key:o.getItemKey(n)},[o.isItemVisible(n)&&!o.getItemProp(n,"separator")?(c.openBlock(),c.createElementBlock("li",c.mergeProps({key:0,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("menuitem",{processedItem:n}),o.getItemProp(n,"class")],role:"menuitem","aria-label":o.getItemLabel(n),"aria-disabled":o.isItemDisabled(n)||void 0,"aria-expanded":o.isItemGroup(n)?o.isItemActive(n):void 0,"aria-haspopup":o.isItemGroup(n)&&!o.getItemProp(n,"to")?"menu":void 0,"aria-level":i.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions(n,s,"menuitem"),{"data-p-highlight":o.isItemActive(n),"data-p-focused":o.isItemFocused(n),"data-p-disabled":o.isItemDisabled(n)}),[c.createElementVNode("div",c.mergeProps({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,n)},onMouseenter:function(e){return o.onItemMouseEnter(e,n)}},o.getPTOptions(n,s,"content")),[i.templates.item?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(i.templates.item),{key:1,item:n.item,hasSubmenu:o.isItemGroup(n),label:o.getItemLabel(n),props:o.getMenuItemProps(n,s)},null,8,["item","hasSubmenu","label","props"])):c.withDirectives((c.openBlock(),c.createElementBlock("a",c.mergeProps({key:0,href:o.getItemProp(n,"url"),class:e.cx("action"),target:o.getItemProp(n,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions(n,s,"action")),[i.templates.itemicon?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(i.templates.itemicon),{key:0,item:n.item,class:c.normalizeClass([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(c.openBlock(),c.createElementBlock("span",c.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions(n,s,"icon")),null,16)):c.createCommentVNode("",!0),c.createElementVNode("span",c.mergeProps({class:e.cx(0===i.level?"label":"submenuLabel")},o.getPTOptions(n,s,0===i.level?"label":"submenuLabel")),c.toDisplayString(o.getItemLabel(n)),17),o.isItemGroup(n)?(c.openBlock(),c.createElementBlock(c.Fragment,{key:2},[i.templates.submenuicon?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(i.templates.submenuicon),c.mergeProps({key:0,active:o.isItemActive(n),class:e.cx("submenuIcon")},o.getPTOptions(n,s,"submenuIcon")),null,16,["active","class"])):(c.openBlock(),c.createBlock(c.resolveDynamicComponent(i.horizontal||i.mobileActive?"AngleDownIcon":"AngleRightIcon"),c.mergeProps({key:1,class:e.cx("submenuIcon")},o.getPTOptions(n,s,"submenuIcon")),null,16,["class"]))],64)):c.createCommentVNode("",!0)],16,v)),[[a]])],16,b),o.isItemVisible(n)&&o.isItemGroup(n)?(c.openBlock(),c.createElementBlock("div",c.mergeProps({key:0,class:e.cx("panel")},e.ptm("panel")),[c.createElementVNode("div",c.mergeProps({class:e.cx("grid")},e.ptm("grid")),[(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(n.items,(function(s){return c.openBlock(),c.createElementBlock("div",c.mergeProps({key:o.getItemKey(s),class:e.cx("column",{processedItem:n})},e.ptm("column")),[(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(s,(function(s){return c.openBlock(),c.createBlock(r,{key:o.getSubListKey(s),id:o.getSubListId(s),style:c.normalizeStyle(e.sx("submenu",!0,{processedItem:n})),role:"menu",menuId:i.menuId,focusedItemId:i.focusedItemId,submenu:s,items:s.items,templates:i.templates,level:i.level+1,mobileActive:i.mobileActive,pt:e.pt,unstyled:e.unstyled,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)})},null,8,["id","style","menuId","focusedItemId","submenu","items","templates","level","mobileActive","pt","unstyled"])})),128))],16)})),128))],16)],16)):c.createCommentVNode("",!0)],16,p)):c.createCommentVNode("",!0),o.isItemVisible(n)&&o.getItemProp(n,"separator")?(c.openBlock(),c.createElementBlock("li",c.mergeProps({key:1,id:o.getItemId(n),class:[e.cx("separator"),o.getItemProp(n,"class")],style:o.getItemProp(n,"style"),role:"separator"},e.ptm("separator")),null,16,g)):c.createCommentVNode("",!0)],64)})),128))],16,f)};var y={name:"MegaMenu",extends:I,emits:["focus","blur"],outsideClickListener:null,resizeListener:null,matchMediaListener:null,container:null,menubar:null,searchTimeout:null,searchValue:null,data:function(){return{id:this.$attrs.id,mobileActive:!1,focused:!1,focusedItemInfo:{index:-1,key:"",parentKey:""},activeItem:null,dirty:!1,query:null,queryMatches:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeItem:function(e){t.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):(this.unbindOutsideClickListener(),this.unbindResizeListener())}},mounted:function(){this.id=this.id||t.UniqueComponentId(),this.bindMatchMediaListener()},beforeUnmount:function(){this.mobileActive=!1,this.unbindOutsideClickListener(),this.unbindResizeListener(),this.unbindMatchMediaListener()},methods:{getItemProp:function(e,i){return e?t.ObjectUtils.getItemValue(e[i]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.ObjectUtils.isNotEmpty(e.items)},toggle:function(e){var i=this;this.mobileActive?(this.mobileActive=!1,t.ZIndexUtils.clear(this.menubar),this.hide()):(this.mobileActive=!0,t.ZIndexUtils.set("menu",this.menubar,this.$primevue.config.zIndex.menu),setTimeout((function(){i.show()}),1)),this.bindOutsideClickListener(),e.preventDefault()},show:function(){this.focusedItemInfo={index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},t.DomHandler.focus(this.menubar)},hide:function(e,i){var n=this;this.mobileActive&&(this.mobileActive=!1,setTimeout((function(){t.DomHandler.focus(n.$refs.menubutton)}),0)),this.activeItem=null,this.focusedItemInfo={index:-1,key:"",parentKey:""},i&&t.DomHandler.focus(this.menubar),this.dirty=!1},onFocus:function(e){if(this.focused=!0,-1===this.focusedItemInfo.index){var t=this.findFirstFocusedItemIndex(),i=this.findVisibleItem(t);this.focusedItemInfo={index:t,key:i.key,parentKey:i.parentKey}}this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,key:"",parentKey:""},this.searchValue="",this.dirty=!1,this.$emit("blur",e)},onKeyDown:function(e){if(this.disabled)e.preventDefault();else{var i=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":this.onArrowLeftKey(e);break;case"ArrowRight":this.onArrowRightKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"Space":this.onSpaceKey(e);break;case"Enter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Tab":this.onTabKey(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!i&&t.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}}},onItemChange:function(e){var i=e.processedItem,n=e.isFocus;if(!t.ObjectUtils.isEmpty(i)){var s=i.index,o=i.key,r=i.parentKey,c=t.ObjectUtils.isNotEmpty(i.items);c&&(this.activeItem=i),this.focusedItemInfo={index:s,key:o,parentKey:r},c&&(this.dirty=!0),n&&t.DomHandler.focus(this.menubar)}},onItemClick:function(e){var i=e.originalEvent,n=e.processedItem,s=this.isProccessedItemGroup(n),o=t.ObjectUtils.isEmpty(n.parent);if(this.isSelected(n)){var r=n.index,c=n.key,a=n.parentKey;this.activeItem=null,this.focusedItemInfo={index:r,key:c,parentKey:a},this.dirty=!o,t.DomHandler.focus(this.menubar)}else if(s)this.onItemChange(e);else{var m=o?n:this.activeItem;this.hide(i),this.changeFocusedItemInfo(i,m?m.index:-1),this.mobileActive=!1,t.DomHandler.focus(this.menubar)}},onItemMouseEnter:function(e){!this.mobileActive&&this.dirty&&this.onItemChange(e)},menuButtonClick:function(e){this.toggle(e)},menuButtonKeydown:function(e){("Enter"===e.code||"Space"===e.code)&&this.menuButtonClick(e)},onArrowDownKey:function(e){if(this.horizontal)if(t.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===this.focusedItemInfo.key)this.focusedItemInfo={index:-1,key:"",parentKey:this.activeItem.key};else{var i=this.findVisibleItem(this.focusedItemInfo.index);this.isProccessedItemGroup(i)&&(this.onItemChange({originalEvent:e,processedItem:i}),this.focusedItemInfo={index:-1,key:i.key,parentKey:i.parentKey},this.searchValue="")}var n=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemInfo(e,n),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey&&this.horizontal){if(-1!==this.focusedItemInfo.index){var i=this.findVisibleItem(this.focusedItemInfo.index);!this.isProccessedItemGroup(i)&&t.ObjectUtils.isNotEmpty(this.activeItem)&&(0===this.focusedItemInfo.index?(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key,parentKey:this.activeItem.parentKey},this.activeItem=null):this.changeFocusedItemInfo(e,this.findFirstItemIndex()))}e.preventDefault()}else{var n=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemInfo(e,n),e.preventDefault()}},onArrowLeftKey:function(e){var i=this.findVisibleItem(this.focusedItemInfo.index);if(this.isProccessedItemGroup(i)){if(this.horizontal){var n=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemInfo(e,n)}}else{this.vertical&&t.ObjectUtils.isNotEmpty(this.activeItem)&&0===i.columnIndex&&(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key,parentKey:this.activeItem.parentKey},this.activeItem=null);var s=i.columnIndex-1,o=this.visibleItems.findIndex((function(e){return e.columnIndex===s}));-1!==o&&this.changeFocusedItemInfo(e,o)}e.preventDefault()},onArrowRightKey:function(e){var i=this.findVisibleItem(this.focusedItemInfo.index);if(this.isProccessedItemGroup(i)){if(this.vertical)if(t.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===i.key)this.focusedItemInfo={index:-1,key:"",parentKey:this.activeItem.key};else{var n=this.findVisibleItem(this.focusedItemInfo.index);this.isProccessedItemGroup(n)&&(this.onItemChange({originalEvent:e,processedItem:n}),this.focusedItemInfo={index:-1,key:n.key,parentKey:n.parentKey},this.searchValue="")}var s=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemInfo(e,s)}else{var o=i.columnIndex+1,r=this.visibleItems.findIndex((function(e){return e.columnIndex===o}));-1!==r&&this.changeFocusedItemInfo(e,r)}e.preventDefault()},onHomeKey:function(e){this.changeFocusedItemInfo(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemInfo(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var i=t.DomHandler.findSingle(this.menubar,'li[id="'.concat("".concat(this.focusedItemId),'"]')),n=i&&t.DomHandler.findSingle(i,'a[data-pc-section="action"]');n?n.click():i&&i.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&this.changeFocusedItemInfo(e,this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){t.ObjectUtils.isNotEmpty(this.activeItem)&&(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key},this.activeItem=null),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.findVisibleItem(this.focusedItemInfo.index);!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var i=e.container&&!e.container.contains(t.target),n=!(e.target&&(e.target===t.target||e.target.contains(t.target)));i&&n&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(i){t.DomHandler.isTouchDevice()||e.hide(i,!0),e.mobileActive=!1},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindMatchMediaListener:function(){var e=this;if(!this.matchMediaListener){var t=matchMedia("(max-width: ".concat(this.breakpoint,")"));this.query=t,this.queryMatches=t.matches,this.matchMediaListener=function(){e.queryMatches=t.matches,e.mobileActive=!1},this.query.addEventListener("change",this.matchMediaListener)}},unbindMatchMediaListener:function(){this.matchMediaListener&&(this.query.removeEventListener("change",this.matchMediaListener),this.matchMediaListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(e){return!!t.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===e.key},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.ObjectUtils.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItemIndex:function(e){var t=this,i=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return i>-1?i+e+1:e},findPrevItemIndex:function(e){var i=this,n=e>0?t.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(function(e){return i.isValidItem(e)})):-1;return n>-1?n:e},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},findVisibleItem:function(e){return t.ObjectUtils.isNotEmpty(this.visibleItems)?this.visibleItems[e]:null},searchItems:function(e,t){var i=this;this.searchValue=(this.searchValue||"")+t;var n=-1,s=!1;return-1!==(n=-1!==this.focusedItemInfo.index?-1===(n=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})):n+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return i.isItemMatched(e)})))&&(s=!0),-1===n&&-1===this.focusedItemInfo.index&&(n=this.findFirstFocusedItemIndex()),-1!==n&&this.changeFocusedItemInfo(e,n),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){i.searchValue="",i.searchTimeout=null}),500),s},changeFocusedItemInfo:function(e,i){var n=this.findVisibleItem(i);this.focusedItemInfo.index=i,this.focusedItemInfo.key=t.ObjectUtils.isNotEmpty(n)?n.key:"",this.scrollInView()},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,i=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,n=t.DomHandler.findSingle(this.menubar,'li[id="'.concat(i,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=arguments.length>4?arguments[4]:void 0,r=[];return e&&e.forEach((function(e,c){var a=(""!==s?s+"_":"")+(void 0!==o?o+"_":"")+c,m={item:e,index:c,level:i,key:a,parent:n,parentKey:s,columnIndex:void 0!==o?o:void 0!==n.columnIndex?n.columnIndex:c};m.items=0===i&&e.items&&e.items.length>0?e.items.map((function(e,n){return t.createProcessedItems(e,i+1,m,a,n)})):t.createProcessedItems(e.items,i+1,m,a),r.push(m)})),r},containerRef:function(e){this.container=e},menubarRef:function(e){this.menubar=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=t.ObjectUtils.isNotEmpty(this.activeItem)?this.activeItem:null;return e&&e.key===this.focusedItemInfo.parentKey?e.items.reduce((function(e,t){return t.forEach((function(t){t.items.forEach((function(t){e.push(t)}))})),e}),[]):this.processedItems},horizontal:function(){return"horizontal"===this.orientation},vertical:function(){return"vertical"===this.orientation},focusedItemId:function(){return t.ObjectUtils.isNotEmpty(this.focusedItemInfo.key)?"".concat(this.id,"_").concat(this.focusedItemInfo.key):null}},components:{MegaMenuSub:h,BarsIcon:m.default}},k=["id"],x=["aria-haspopup","aria-expanded","aria-controls","aria-label"];return y.render=function(e,t,i,n,s,o){var r=c.resolveComponent("BarsIcon"),a=c.resolveComponent("MegaMenuSub");return c.openBlock(),c.createElementBlock("div",c.mergeProps({ref:o.containerRef,id:s.id,class:e.cx("root")},e.ptm("root"),{"data-pc-name":"megamenu"}),[e.$slots.start?(c.openBlock(),c.createElementBlock("div",c.mergeProps({key:0,class:e.cx("start")},e.ptm("start")),[c.renderSlot(e.$slots,"start")],16)):c.createCommentVNode("",!0),c.renderSlot(e.$slots,"menubutton",{id:s.id,class:c.normalizeClass(e.cx("menubutton")),toggleCallback:function(e){return o.menuButtonClick(e)}},(function(){var i;return[e.model&&e.model.length>0?(c.openBlock(),c.createElementBlock("a",c.mergeProps({key:0,ref:"menubutton",role:"button",tabindex:"0",class:e.cx("menubutton"),"aria-haspopup":!!(e.model.length&&e.model.length>0),"aria-expanded":s.mobileActive,"aria-controls":s.id,"aria-label":null===(i=e.$primevue.config.locale.aria)||void 0===i?void 0:i.navigation,onClick:t[0]||(t[0]=function(e){return o.menuButtonClick(e)}),onKeydown:t[1]||(t[1]=function(e){return o.menuButtonKeydown(e)})},e.ptm("menubutton")),[c.renderSlot(e.$slots,"menubuttonicon",{},(function(){return[c.createVNode(r,c.normalizeProps(c.guardReactiveProps(e.ptm("menubuttonicon"))),null,16)]}))],16,x)):c.createCommentVNode("",!0)]})),c.createVNode(a,{ref:o.menubarRef,id:s.id+"_list",tabindex:e.disabled?-1:e.tabindex,role:"menubar","aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-disabled":e.disabled||void 0,"aria-orientation":e.orientation,"aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,horizontal:o.horizontal,templates:e.$slots,activeItem:s.activeItem,mobileActive:s.mobileActive,level:0,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","tabindex","aria-label","aria-labelledby","aria-disabled","aria-orientation","aria-activedescendant","menuId","focusedItemId","items","horizontal","templates","activeItem","mobileActive","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"]),e.$slots.end?(c.openBlock(),c.createElementBlock("div",c.mergeProps({key:1,class:e.cx("end")},e.ptm("end")),[c.renderSlot(e.$slots,"end")],16)):c.createCommentVNode("",!0)],16,k)},y}(primevue.icons.bars,primevue.utils,primevue.basecomponent,primevue.megamenu.style,primevue.icons.angledown,primevue.icons.angleright,primevue.ripple,Vue);
|
package/menubar/Menubar.d.ts
CHANGED
|
@@ -83,13 +83,13 @@ export interface MenubarPassThroughOptions {
|
|
|
83
83
|
*/
|
|
84
84
|
separator?: MenubarPassThroughOptionType;
|
|
85
85
|
/**
|
|
86
|
-
* Used to pass attributes to the mobile
|
|
86
|
+
* Used to pass attributes to the mobile menu button's DOM element.
|
|
87
87
|
*/
|
|
88
88
|
button?: MenubarPassThroughOptionType;
|
|
89
89
|
/**
|
|
90
|
-
* Used to pass attributes to the mobile
|
|
90
|
+
* Used to pass attributes to the mobile menu button icon's DOM element.
|
|
91
91
|
*/
|
|
92
|
-
|
|
92
|
+
menubuttonicon?: MenubarPassThroughOptionType;
|
|
93
93
|
/**
|
|
94
94
|
* Used to pass attributes to the submenu's DOM element.
|
|
95
95
|
*/
|
|
@@ -305,10 +305,34 @@ export interface MenubarSlots {
|
|
|
305
305
|
*/
|
|
306
306
|
hasSubmenu: boolean;
|
|
307
307
|
}): VNode[];
|
|
308
|
+
/**
|
|
309
|
+
* Custom menu button template on responsive mode.
|
|
310
|
+
* @param {Object} scope - menu button slot's params.
|
|
311
|
+
*/
|
|
312
|
+
menubutton(scope: {
|
|
313
|
+
/**
|
|
314
|
+
* Current id state as a string
|
|
315
|
+
*/
|
|
316
|
+
id: string;
|
|
317
|
+
/**
|
|
318
|
+
* Style class of component
|
|
319
|
+
*/
|
|
320
|
+
class: string;
|
|
321
|
+
/**
|
|
322
|
+
*
|
|
323
|
+
* Toggle event
|
|
324
|
+
*/
|
|
325
|
+
toggleCallback: () => void;
|
|
326
|
+
}): VNode[];
|
|
308
327
|
/**
|
|
309
328
|
* Custom popup icon template on responsive mode.
|
|
329
|
+
* @deprecated since v3.42.0. Use 'menubuttonicon' slot instead.
|
|
310
330
|
*/
|
|
311
331
|
popupicon(): VNode[];
|
|
332
|
+
/**
|
|
333
|
+
* Custom menu button icon template on responsive mode.
|
|
334
|
+
*/
|
|
335
|
+
menubuttonicon(): VNode[];
|
|
312
336
|
/**
|
|
313
337
|
* Custom submenu icon template.
|
|
314
338
|
* @param {Object} scope - submenuicon slot's params.
|
package/menubar/Menubar.vue
CHANGED
|
@@ -3,24 +3,26 @@
|
|
|
3
3
|
<div v-if="$slots.start" :class="cx('start')" v-bind="ptm('start')">
|
|
4
4
|
<slot name="start"></slot>
|
|
5
5
|
</div>
|
|
6
|
-
<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
|
|
6
|
+
<slot :id="id" name="menubutton" :class="cx('button')" :toggleCallback="(event) => menuButtonClick(event)">
|
|
7
|
+
<a
|
|
8
|
+
v-if="model && model.length > 0"
|
|
9
|
+
ref="menubutton"
|
|
10
|
+
role="button"
|
|
11
|
+
tabindex="0"
|
|
12
|
+
:class="cx('button')"
|
|
13
|
+
:aria-haspopup="model.length && model.length > 0 ? true : false"
|
|
14
|
+
:aria-expanded="mobileActive"
|
|
15
|
+
:aria-controls="id"
|
|
16
|
+
:aria-label="$primevue.config.locale.aria?.navigation"
|
|
17
|
+
@click="menuButtonClick($event)"
|
|
18
|
+
@keydown="menuButtonKeydown($event)"
|
|
19
|
+
v-bind="{ ...buttonProps, ...ptm('button') }"
|
|
20
|
+
>
|
|
21
|
+
<slot name="menubuttonicon">
|
|
22
|
+
<BarsIcon v-bind="ptm('menubuttonicon')" />
|
|
23
|
+
</slot>
|
|
24
|
+
</a>
|
|
25
|
+
</slot>
|
|
24
26
|
<MenubarSub
|
|
25
27
|
:ref="menubarRef"
|
|
26
28
|
:id="id"
|
|
@@ -61,6 +63,7 @@ export default {
|
|
|
61
63
|
name: 'Menubar',
|
|
62
64
|
extends: BaseMenubar,
|
|
63
65
|
emits: ['focus', 'blur'],
|
|
66
|
+
matchMediaListener: null,
|
|
64
67
|
data() {
|
|
65
68
|
return {
|
|
66
69
|
id: this.$attrs.id,
|
|
@@ -69,6 +72,7 @@ export default {
|
|
|
69
72
|
focusedItemInfo: { index: -1, level: 0, parentKey: '' },
|
|
70
73
|
activeItemPath: [],
|
|
71
74
|
dirty: false,
|
|
75
|
+
query: null,
|
|
72
76
|
queryMatches: false
|
|
73
77
|
};
|
|
74
78
|
},
|
|
@@ -91,19 +95,13 @@ export default {
|
|
|
91
95
|
menubar: null,
|
|
92
96
|
mounted() {
|
|
93
97
|
this.id = this.id || UniqueComponentId();
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
this.queryMatches = query.matches;
|
|
97
|
-
|
|
98
|
-
query.addEventListener('change', () => {
|
|
99
|
-
this.queryMatches = query.matches;
|
|
100
|
-
this.mobileActive = false;
|
|
101
|
-
});
|
|
98
|
+
this.bindMatchMediaListener();
|
|
102
99
|
},
|
|
103
100
|
beforeUnmount() {
|
|
104
101
|
this.mobileActive = false;
|
|
105
102
|
this.unbindOutsideClickListener();
|
|
106
103
|
this.unbindResizeListener();
|
|
104
|
+
this.unbindMatchMediaListener();
|
|
107
105
|
|
|
108
106
|
if (this.container) {
|
|
109
107
|
ZIndexUtils.clear(this.container);
|
|
@@ -426,10 +424,10 @@ export default {
|
|
|
426
424
|
bindOutsideClickListener() {
|
|
427
425
|
if (!this.outsideClickListener) {
|
|
428
426
|
this.outsideClickListener = (event) => {
|
|
429
|
-
const isOutsideContainer = this.
|
|
430
|
-
const
|
|
427
|
+
const isOutsideContainer = this.container && !this.container.contains(event.target);
|
|
428
|
+
const isOutsideTarget = !(this.target && (this.target === event.target || this.target.contains(event.target)));
|
|
431
429
|
|
|
432
|
-
if (
|
|
430
|
+
if (isOutsideContainer && isOutsideTarget) {
|
|
433
431
|
this.hide();
|
|
434
432
|
}
|
|
435
433
|
};
|
|
@@ -462,6 +460,27 @@ export default {
|
|
|
462
460
|
this.resizeListener = null;
|
|
463
461
|
}
|
|
464
462
|
},
|
|
463
|
+
bindMatchMediaListener() {
|
|
464
|
+
if (!this.matchMediaListener) {
|
|
465
|
+
const query = matchMedia(`(max-width: ${this.breakpoint})`);
|
|
466
|
+
|
|
467
|
+
this.query = query;
|
|
468
|
+
this.queryMatches = query.matches;
|
|
469
|
+
|
|
470
|
+
this.matchMediaListener = () => {
|
|
471
|
+
this.queryMatches = query.matches;
|
|
472
|
+
this.mobileActive = false;
|
|
473
|
+
};
|
|
474
|
+
|
|
475
|
+
this.query.addEventListener('change', this.matchMediaListener);
|
|
476
|
+
}
|
|
477
|
+
},
|
|
478
|
+
unbindMatchMediaListener() {
|
|
479
|
+
if (this.matchMediaListener) {
|
|
480
|
+
this.query.removeEventListener('change', this.matchMediaListener);
|
|
481
|
+
this.matchMediaListener = null;
|
|
482
|
+
}
|
|
483
|
+
},
|
|
465
484
|
isItemMatched(processedItem) {
|
|
466
485
|
return this.isValidItem(processedItem) && this.getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase());
|
|
467
486
|
},
|