primevue
Version:
PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc
2 lines (1 loc) • 2.55 kB
JavaScript
;var e=require("primevue/utils"),t=require("primevue/basecomponent"),a=require("primevue/radiobutton/style"),l=require("vue");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i={name:"RadioButton",extends:{name:"BaseRadioButton",extends:n(t).default,props:{value:null,modelValue:null,binary:Boolean,name:{type:String,default:null},variant:{type:String,default:null},invalid:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},tabindex:{type:Number,default:null},inputId:{type:String,default:null},inputClass:{type:[String,Object],default:null},inputStyle:{type:Object,default:null},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null}},style:n(a).default,provide:function(){return{$parentInstance:this}}},inheritAttrs:!1,emits:["update:modelValue","change","focus","blur"],methods:{getPTOptions:function(e){return("root"===e?this.ptmi:this.ptm)(e,{context:{checked:this.checked,disabled:this.disabled}})},onChange:function(e){this.disabled||this.readonly||(this.$emit("update:modelValue",this.binary?!this.checked:this.value),this.$emit("change",e))},onFocus:function(e){this.$emit("focus",e)},onBlur:function(e){this.$emit("blur",e)}},computed:{checked:function(){return null!=this.modelValue&&(this.binary?!!this.modelValue:e.ObjectUtils.equals(this.modelValue,this.value))}}},u=["data-p-highlight","data-p-disabled"],d=["id","value","name","checked","tabindex","disabled","readonly","aria-labelledby","aria-label","aria-invalid"];i.render=function(e,t,a,n,i,o){return l.openBlock(),l.createElementBlock("div",l.mergeProps({class:e.cx("root")},o.getPTOptions("root"),{"data-p-highlight":o.checked,"data-p-disabled":e.disabled}),[l.createElementVNode("input",l.mergeProps({id:e.inputId,type:"radio",class:[e.cx("input"),e.inputClass],style:e.inputStyle,value:e.value,name:e.name,checked:o.checked,tabindex:e.tabindex,disabled:e.disabled,readonly:e.readonly,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-invalid":e.invalid||void 0,onFocus:t[0]||(t[0]=function(){return o.onFocus&&o.onFocus.apply(o,arguments)}),onBlur:t[1]||(t[1]=function(){return o.onBlur&&o.onBlur.apply(o,arguments)}),onChange:t[2]||(t[2]=function(){return o.onChange&&o.onChange.apply(o,arguments)})},o.getPTOptions("input")),null,16,d),l.createElementVNode("div",l.mergeProps({class:e.cx("box")},o.getPTOptions("box")),[l.createElementVNode("div",l.mergeProps({class:e.cx("icon")},o.getPTOptions("icon")),null,16)],16)],16,u)},module.exports=i;