UNPKG

uv-ui

Version:

基于vue3的移动端组件库

2 lines (1 loc) 2.26 kB
"use strict";const e=require("vue"),h=require("../icon/index.cjs"),k=require("../../hooks/useContext.cjs");require("../../hooks/useCountDown.cjs");require("./radio.vue_vue_type_style_index_0_lang.cjs");const v={key:0,class:"uv-radio-left"},S={key:1,class:"uv-radio-right"},b={name:"UvRadio"},y=Object.assign(b,{props:{modelValue:{type:Boolean,default:!1},shape:{type:String,default:"round"},label:{type:String,default:""},disabled:{type:Boolean,default:!1},checkedColor:{type:String},labelPosition:{type:String,default:"right"},spaceBetween:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(a,{emit:c}){const t=a,i=e.ref(null),o=e.reactive({$el:i,label:t.label,isSelect:!1}),{props:l,updateItem:d,index:r}=k.useParent("radio-group",o);e.onMounted(()=>{l&&l.modelValue===o.label&&(o.isSelect=!0)});const u=e.computed(()=>[t.disabled?"uv-radio-disabled":"",t.spaceBetween?"uv-radio-space-between":""]),f=e.computed(()=>({border:o.isSelect?`1px solid ${t.checkedColor||(l==null?void 0:l.checkedColor)}`:"",backgroundColor:o.isSelect?`${t.checkedColor||(l==null?void 0:l.checkedColor)}`:"",width:`${(l==null?void 0:l.iconSize)||18}px`,height:`${(l==null?void 0:l.iconSize)||18}px`})),m=()=>{t.disabled||(l&&l.modelValue?d(r.value):(o.isSelect=!o.isSelect,c("update:modelValue",!t.modelValue),c("change",t.label)))};return(n,g)=>{var s;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["uv-radio",e.unref(u)]),ref_key:"radioRef",ref:i,onClick:m},[a.labelPosition==="left"?(e.openBlock(),e.createElementBlock("div",v,[e.renderSlot(n.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.label),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["uv-radio-icon",[(((s=e.unref(l))==null?void 0:s.shape)||t.shape)==="round"?"round":"",o.isSelect?"active":""]]),style:e.normalizeStyle(e.unref(f))},[o.isSelect?(e.openBlock(),e.createBlock(e.unref(h),{key:0,name:"select",color:a.disabled?"#c8c9cc":"#fff",size:"18"},null,8,["color"])):e.createCommentVNode("",!0)],6),a.labelPosition==="right"?(e.openBlock(),e.createElementBlock("div",S,[e.renderSlot(n.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.label),1)])])):e.createCommentVNode("",!0)],2)}}});module.exports=y;