2023-11-15 15:57:04 +08:00

2 lines
4.6 KiB
JavaScript

import{U as S,C as H,g as C,a as N,d as J}from"./event-f85d77b0.js";import{b as E,_ as z,a as $,c as h,v as Q,u as W,C as Z,r as X,a6 as Y}from"./index-cf9a2dd7.js";import{m as w,r as R,I as x,c as v,d as y,b as k,e as I,f as _,g,M as P,u as e,i as A,n as b,h as V,A as D,B as F,_ as G,E as M,j as ee,o as oe,J as ae,O as le,Z as se,w as ne,l as te,Q as T}from"./plugin-vue_export-helper-85a4d40b.js";const K=Symbol("radioGroupKey"),U=E({size:z,disabled:Boolean,label:{type:[String,Number,Boolean],default:""}}),re=E({...U,modelValue:{type:[String,Number,Boolean],default:""},name:{type:String,default:""},border:Boolean}),L={[S]:s=>w(s)||$(s)||h(s),[H]:s=>w(s)||$(s)||h(s)},j=(s,m)=>{const n=R(),a=x(K,void 0),d=v(()=>!!a),c=v({get(){return d.value?a.modelValue:s.modelValue},set(i){d.value?a.changeEvent(i):m&&m(S,i),n.value.checked=s.modelValue===s.label}}),r=Q(v(()=>a==null?void 0:a.size)),u=W(v(()=>a==null?void 0:a.disabled)),l=R(!1),p=v(()=>u.value||d.value&&c.value!==s.label?-1:0);return{radioRef:n,isGroup:d,radioGroup:a,focus:l,size:r,disabled:u,tabIndex:p,modelValue:c}},ie=["value","name","disabled"],de=y({name:"ElRadio"}),ue=y({...de,props:re,emits:L,setup(s,{emit:m}){const n=s,a=k("radio"),{radioRef:d,radioGroup:c,focus:r,size:u,disabled:l,modelValue:p}=j(n,m);function i(){M(()=>m("change",p.value))}return(o,t)=>{var f;return I(),_("label",{class:b([e(a).b(),e(a).is("disabled",e(l)),e(a).is("focus",e(r)),e(a).is("bordered",o.border),e(a).is("checked",e(p)===o.label),e(a).m(e(u))])},[g("span",{class:b([e(a).e("input"),e(a).is("disabled",e(l)),e(a).is("checked",e(p)===o.label)])},[P(g("input",{ref_key:"radioRef",ref:d,"onUpdate:modelValue":t[0]||(t[0]=B=>A(p)?p.value=B:null),class:b(e(a).e("original")),value:o.label,name:o.name||((f=e(c))==null?void 0:f.name),disabled:e(l),type:"radio",onFocus:t[1]||(t[1]=B=>r.value=!0),onBlur:t[2]||(t[2]=B=>r.value=!1),onChange:i},null,42,ie),[[C,e(p)]]),g("span",{class:b(e(a).e("inner"))},null,2)],2),g("span",{class:b(e(a).e("label")),onKeydown:t[3]||(t[3]=N(()=>{},["stop"]))},[V(o.$slots,"default",{},()=>[D(F(o.label),1)])],34)],2)}}});var pe=G(ue,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio.vue"]]);const me=E({...U,name:{type:String,default:""}}),ce=["value","name","disabled"],be=y({name:"ElRadioButton"}),fe=y({...be,props:me,setup(s){const m=s,n=k("radio"),{radioRef:a,focus:d,size:c,disabled:r,modelValue:u,radioGroup:l}=j(m),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,o)=>{var t;return I(),_("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(c))])},[P(g("input",{ref_key:"radioRef",ref:a,"onUpdate:modelValue":o[0]||(o[0]=f=>A(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:o[1]||(o[1]=f=>d.value=!0),onBlur:o[2]||(o[2]=f=>d.value=!1)},null,42,ce),[[C,e(u)]]),g("span",{class:b(e(n).be("button","inner")),style:ee(e(u)===i.label?e(p):{}),onKeydown:o[3]||(o[3]=N(()=>{},["stop"]))},[V(i.$slots,"default",{},()=>[D(F(i.label),1)])],38)],2)}}});var O=G(fe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-button.vue"]]);const ve=E({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}}),ge=L,ye=["id","aria-label","aria-labelledby"],Ee=y({name:"ElRadioGroup"}),Be=y({...Ee,props:ve,emits:ge,setup(s,{emit:m}){const n=s,a=k("radio"),d=Z(),c=R(),{formItem:r}=X(),{inputId:u,isLabeledByFormItem:l}=Y(n,{formItemContext:r}),p=o=>{m(S,o),M(()=>m("change",o))};oe(()=>{const o=c.value.querySelectorAll("[type=radio]"),t=o[0];!Array.from(o).some(f=>f.checked)&&t&&(t.tabIndex=0)});const i=v(()=>n.name||d.value);return ae(K,le({...se(n),changeEvent:p,name:i})),ne(()=>n.modelValue,()=>{n.validateEvent&&(r==null||r.validate("change").catch(o=>J()))}),(o,t)=>(I(),_("div",{id:e(u),ref_key:"radioGroupRef",ref:c,class:b(e(a).b("group")),role:"radiogroup","aria-label":e(l)?void 0:o.label||"radio-group","aria-labelledby":e(l)?e(r).labelId:void 0},[V(o.$slots,"default")],10,ye))}});var q=G(Be,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-group.vue"]]);const Ie=te(pe,{RadioButton:O,RadioGroup:q}),_e=T(q),Ve=T(O);export{Ie as E,Ve as a,_e as b};