qirong
2024-02-28 f2ca7c5f9fbc4201b5a5bb490e43b1615b6a0dda
1
import{aq as R,ar as z,aw as B,aJ as G,as as h,aW as w,at as j,r as S,a$ as H,M as v,aB as J,aC as O,d as g,ay as k,o as I,c as V,t as y,w as N,c6 as C,e,X as P,a0 as b,aZ as _,y as D,N as F,z as K,aI as $,n as M,V as Q,b4 as Z,az as Y,bh as x,b as ee,aX as ae,Q as oe,R as le,i as se,aK as ne,aL as te,b9 as T}from"./index.js";const A=Symbol("radioGroupKey"),L=R({size:z,disabled:Boolean,label:{type:[String,Number,Boolean],default:""}}),re=R({...L,modelValue:{type:[String,Number,Boolean],default:""},name:{type:String,default:""},border:Boolean}),U={[B]:s=>G(s)||h(s)||w(s),[j]:s=>G(s)||h(s)||w(s)},q=(s,c)=>{const n=S(),o=H(A,void 0),d=v(()=>!!o),m=v({get(){return d.value?o.modelValue:s.modelValue},set(i){d.value?o.changeEvent(i):c&&c(B,i),n.value.checked=s.modelValue===s.label}}),r=J(v(()=>o==null?void 0:o.size)),u=O(v(()=>o==null?void 0:o.disabled)),l=S(!1),p=v(()=>u.value||d.value&&m.value!==s.label?-1:0);return{radioRef:n,isGroup:d,radioGroup:o,focus:l,size:r,disabled:u,tabIndex:p,modelValue:m}},ie=["value","name","disabled"],de=g({name:"ElRadio"}),ue=g({...de,props:re,emits:U,setup(s,{emit:c}){const n=s,o=k("radio"),{radioRef:d,radioGroup:m,focus:r,size:u,disabled:l,modelValue:p}=q(n,c);function i(){M(()=>c("change",p.value))}return(a,t)=>{var f;return I(),V("label",{class:b([e(o).b(),e(o).is("disabled",e(l)),e(o).is("focus",e(r)),e(o).is("bordered",a.border),e(o).is("checked",e(p)===a.label),e(o).m(e(u))])},[y("span",{class:b([e(o).e("input"),e(o).is("disabled",e(l)),e(o).is("checked",e(p)===a.label)])},[N(y("input",{ref_key:"radioRef",ref:d,"onUpdate:modelValue":t[0]||(t[0]=E=>P(p)?p.value=E:null),class:b(e(o).e("original")),value:a.label,name:a.name||((f=e(m))==null?void 0:f.name),disabled:e(l),type:"radio",onFocus:t[1]||(t[1]=E=>r.value=!0),onBlur:t[2]||(t[2]=E=>r.value=!1),onChange:i},null,42,ie),[[C,e(p)]]),y("span",{class:b(e(o).e("inner"))},null,2)],2),y("span",{class:b(e(o).e("label")),onKeydown:t[3]||(t[3]=K(()=>{},["stop"]))},[_(a.$slots,"default",{},()=>[D(F(a.label),1)])],34)],2)}}});var pe=$(ue,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio.vue"]]);const ce=R({...L,name:{type:String,default:""}}),me=["value","name","disabled"],be=g({name:"ElRadioButton"}),fe=g({...be,props:ce,setup(s){const c=s,n=k("radio"),{radioRef:o,focus:d,size:m,disabled:r,modelValue:u,radioGroup:l}=q(c),p=v(()=>({backgroundColor:(l==null?void 0:l.fill)||"",borderColor:(l==null?void 0:l.fill)||"",boxShadow:l!=null&&l.fill?`-1px 0 0 0 ${l.fill}`:"",color:(l==null?void 0:l.textColor)||""}));return(i,a)=>{var t;return I(),V("label",{class:b([e(n).b("button"),e(n).is("active",e(u)===i.label),e(n).is("disabled",e(r)),e(n).is("focus",e(d)),e(n).bm("button",e(m))])},[N(y("input",{ref_key:"radioRef",ref:o,"onUpdate:modelValue":a[0]||(a[0]=f=>P(u)?u.value=f:null),class:b(e(n).be("button","original-radio")),value:i.label,type:"radio",name:i.name||((t=e(l))==null?void 0:t.name),disabled:e(r),onFocus:a[1]||(a[1]=f=>d.value=!0),onBlur:a[2]||(a[2]=f=>d.value=!1)},null,42,me),[[C,e(u)]]),y("span",{class:b(e(n).be("button","inner")),style:Q(e(u)===i.label?e(p):{}),onKeydown:a[3]||(a[3]=K(()=>{},["stop"]))},[_(i.$slots,"default",{},()=>[D(F(i.label),1)])],38)],2)}}});var W=$(fe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-button.vue"]]);const ve=R({id:{type:String,default:void 0},size:z,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:""},fill:{type:String,default:""},label:{type:String,default:void 0},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0}}),ye=U,ge=["id","aria-label","aria-labelledby"],Re=g({name:"ElRadioGroup"}),Ee=g({...Re,props:ve,emits:ye,setup(s,{emit:c}){const n=s,o=k("radio"),d=Z(),m=S(),{formItem:r}=Y(),{inputId:u,isLabeledByFormItem:l}=x(n,{formItemContext:r}),p=a=>{c(B,a),M(()=>c("change",a))};ee(()=>{const a=m.value.querySelectorAll("[type=radio]"),t=a[0];!Array.from(a).some(f=>f.checked)&&t&&(t.tabIndex=0)});const i=v(()=>n.name||d.value);return ae(A,oe({...le(n),changeEvent:p,name:i})),se(()=>n.modelValue,()=>{n.validateEvent&&(r==null||r.validate("change").catch(a=>ne()))}),(a,t)=>(I(),V("div",{id:e(u),ref_key:"radioGroupRef",ref:m,class:b(e(o).b("group")),role:"radiogroup","aria-label":e(l)?void 0:a.label||"radio-group","aria-labelledby":e(l)?e(r).labelId:void 0},[_(a.$slots,"default")],10,ge))}});var X=$(Ee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-group.vue"]]);const Be=te(pe,{RadioButton:W,RadioGroup:X}),ke=T(X);T(W);export{Be as E,ke as a};