accessibleprimevue
Version:
Note: This is the forked version of the Primefaces/PrimeVue repository. Since V3 has reached its EOL this is use to fix identified accessibility bugs in the v3 version of primevue. PrimeVue is an open source UI library for Vue featuring a rich set of 80+
2 lines (1 loc) • 4.6 kB
JavaScript
var e=require("primevue/button"),t=require("primevue/icons/chevrondown"),n=require("primevue/tieredmenu"),o=require("primevue/utils"),l=require("primevue/basecomponent"),i=require("primevue/splitbutton/style"),u=require("vue");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=s(e),r=s(t),d=s(n),c={name:"SplitButton",extends:{name:"BaseSplitButton",extends:s(l).default,props:{label:{type:String,default:null},icon:{type:String,default:null},model:{type:Array,default:null},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},appendTo:{type:[String,Object],default:"body"},disabled:{type:Boolean,default:!1},class:{type:null,default:null},style:{type:null,default:null},buttonProps:{type:null,default:null},menuButtonProps:{type:null,default:null},menuButtonIcon:{type:String,default:void 0},severity:{type:String,default:null},raised:{type:Boolean,default:!1},rounded:{type:Boolean,default:!1},text:{type:Boolean,default:!1},outlined:{type:Boolean,default:!1},size:{type:String,default:null},plain:{type:Boolean,default:!1}},style:s(i).default,provide:function(){return{$parentInstance:this}}},inheritAttrs:!1,emits:["click"],data:function(){return{id:this.$attrs.id,isExpanded:!1}},watch:{"$attrs.id":function(e){this.id=e||o.UniqueComponentId()}},mounted:function(){var e=this;this.id=this.id||o.UniqueComponentId(),this.$watch("$refs.menu.visible",(function(t){e.isExpanded=t}))},methods:{onDropdownButtonClick:function(e){e&&e.preventDefault(),this.$refs.menu.toggle({currentTarget:this.$el,relatedTarget:this.$refs.button.$el}),this.isExpanded=this.$refs.menu.visible},onDropdownKeydown:function(e){"ArrowDown"!==e.code&&"ArrowUp"!==e.code||(this.onDropdownButtonClick(),e.preventDefault())},onDefaultButtonClick:function(e){this.isExpanded&&this.$refs.menu.hide(e),this.$emit("click",e)}},computed:{containerClass:function(){return[this.cx("root"),this.class]}},components:{PVSButton:a.default,PVSMenu:d.default,ChevronDownIcon:r.default}},p=["data-p-severity"];c.render=function(e,t,n,o,l,i){var s=u.resolveComponent("PVSButton"),a=u.resolveComponent("PVSMenu");return u.openBlock(),u.createElementBlock("div",u.mergeProps({class:i.containerClass,style:e.style},e.ptmi("root"),{"data-p-severity":e.severity}),[u.createVNode(s,u.mergeProps({type:"button",class:e.cx("button"),label:e.label,icon:e.icon,disabled:e.disabled,severity:e.severity,text:e.text,outlined:e.outlined,size:e.size,"aria-label":e.label,onClick:i.onDefaultButtonClick},e.buttonProps,{pt:e.ptm("button"),unstyled:e.unstyled}),u.createSlots({default:u.withCtx((function(){return[u.renderSlot(e.$slots,"default")]})),_:2},[e.$slots.icon?{name:"icon",fn:u.withCtx((function(t){return[u.renderSlot(e.$slots,"icon",{class:u.normalizeClass(t.class)},(function(){return[u.createElementVNode("span",u.mergeProps({class:[e.icon,t.class]},e.ptm("button").icon,{"data-pc-section":"buttonicon"}),null,16)]}))]})),key:"0"}:void 0]),1040,["class","label","icon","disabled","severity","text","outlined","size","aria-label","onClick","pt","unstyled"]),u.createVNode(s,u.mergeProps({ref:"button",type:"button",class:e.cx("menuButton"),disabled:e.disabled,"aria-haspopup":"true","aria-expanded":l.isExpanded,"aria-controls":l.id+"_overlay",onClick:i.onDropdownButtonClick,onKeydown:i.onDropdownKeydown,severity:e.severity,text:e.text,outlined:e.outlined,size:e.size},e.menuButtonProps,{pt:e.ptm("menuButton"),unstyled:e.unstyled}),{icon:u.withCtx((function(t){return[u.renderSlot(e.$slots,"menubuttonicon",{class:u.normalizeClass(t.class)},(function(){return[(u.openBlock(),u.createBlock(u.resolveDynamicComponent(e.menuButtonIcon?"span":"ChevronDownIcon"),u.mergeProps({class:[e.menuButtonIcon,t.class]},e.ptm("menuButton").icon,{"data-pc-section":"menubuttonicon"}),null,16,["class"]))]}))]})),_:3},16,["class","disabled","aria-expanded","aria-controls","onClick","onKeydown","severity","text","outlined","size","pt","unstyled"]),u.createVNode(a,{ref:"menu",id:l.id+"_overlay",model:e.model,popup:!0,autoZIndex:e.autoZIndex,baseZIndex:e.baseZIndex,appendTo:e.appendTo,unstyled:e.unstyled,pt:e.ptm("menu")},u.createSlots({_:2},[e.$slots.menuitemicon?{name:"itemicon",fn:u.withCtx((function(t){return[u.renderSlot(e.$slots,"menuitemicon",{item:t.item,class:u.normalizeClass(t.class)})]})),key:"0"}:void 0,e.$slots.item?{name:"item",fn:u.withCtx((function(t){return[u.renderSlot(e.$slots,"item",{item:t.item,hasSubmenu:t.hasSubmenu,label:t.label,props:t.props})]})),key:"1"}:void 0]),1032,["id","model","autoZIndex","baseZIndex","appendTo","unstyled","pt"])],16,p)},module.exports=c;
;