UNPKG

primevue

Version:

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![npm version](https://badge.fury.io/js/primevue.svg)](https://badge.fury.io/js/primevue) [![Discord Chat](https://img.shields.io/discord/55794023

2 lines (1 loc) 2.06 kB
import e from"primevue/basecomponent";import{ObjectUtils as l}from"primevue/utils";import{openBlock as t,createElementBlock as i,mergeProps as a,createElementVNode as u}from"vue";var d={name:"RadioButton",extends:e,emits:["click","update:modelValue","change","focus","blur"],props:{value:null,modelValue:null,name:{type:String,default:null},disabled:{type:Boolean,default:!1},inputId:{type:String,default:null},inputClass:{type:[String,Object],default:null},inputStyle:{type:Object,default:null},inputProps:{type:null,default:null},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},data:()=>({focused:!1}),methods:{onClick(e){this.disabled||(this.$emit("click",e),this.$emit("update:modelValue",this.value),this.$refs.input.focus(),this.checked||this.$emit("change",e))},onFocus(e){this.focused=!0,this.$emit("focus",e)},onBlur(e){this.focused=!1,this.$emit("blur",e)}},computed:{checked(){return null!=this.modelValue&&l.equals(this.modelValue,this.value)},containerClass(){return["p-radiobutton p-component",{"p-radiobutton-checked":this.checked,"p-radiobutton-disabled":this.disabled,"p-radiobutton-focused":this.focused}]}}};const n=["id","name","checked","disabled","value","aria-labelledby","aria-label"];d.render=function(e,l,d,o,s,c){return t(),i("div",a({class:c.containerClass,onClick:l[2]||(l[2]=e=>c.onClick(e))},e.ptm("root")),[u("div",a({class:"p-hidden-accessible"},e.ptm("hiddenInputWrapper")),[u("input",a({ref:"input",id:d.inputId,type:"radio",class:d.inputClass,style:d.inputStyle,name:d.name,checked:c.checked,disabled:d.disabled,value:d.value,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,onFocus:l[0]||(l[0]=(...e)=>c.onFocus&&c.onFocus(...e)),onBlur:l[1]||(l[1]=(...e)=>c.onBlur&&c.onBlur(...e))},e.ptm("hiddenInput")),null,16,n)],16),u("div",a({ref:"box",class:["p-radiobutton-box",{"p-highlight":c.checked,"p-disabled":d.disabled,"p-focus":s.focused}]},{...d.inputProps,...e.ptm("input")}),[u("div",a({class:"p-radiobutton-icon"},e.ptm("icon")),null,16)],16)],16)};export{d as default};