index-d201709a.js 2.2 KB

1
  1. import{c as v,d as m,k as _,x as p,bn as x,j as i,n as f,bo as b,C,q as y,e as B,m as D,t as G,r as I,s as u,_ as $,J as w,f as j,l as q,z as F}from"./index-13ca293b.js";const[P,N]=v("radio-group"),O={disabled:Boolean,iconSize:f,direction:String,modelValue:b,checkedColor:String},S=Symbol(P);var A=m({name:P,props:O,emits:["change","update:modelValue"],setup(e,{emit:c,slots:l}){const{linkChildren:o}=_(S),t=a=>c("update:modelValue",a);return p(()=>e.modelValue,a=>c("change",a)),o({props:e,updateValue:t}),x(()=>e.modelValue),()=>{var a;return i("div",{class:N([e.direction]),role:"radiogroup"},[(a=l.default)==null?void 0:a.call(l)])}}});const U=C(A),V={name:b,shape:y("round"),disabled:Boolean,iconSize:f,modelValue:b,checkedColor:String,labelPosition:String,labelDisabled:Boolean};var E=m({props:B({},V,{bem:D(Function),role:String,parent:Object,checked:Boolean,bindGroup:G}),emits:["click","toggle"],setup(e,{emit:c,slots:l}){const o=I(),t=n=>{if(e.parent&&e.bindGroup)return e.parent.props[n]},a=u(()=>t("disabled")||e.disabled),k=u(()=>t("direction")),z=u(()=>{const n=e.checkedColor||t("checkedColor");if(n&&e.checked&&!a.value)return{borderColor:n,backgroundColor:n}}),R=n=>{const{target:r}=n,d=o.value,s=d===r||(d==null?void 0:d.contains(r));!a.value&&(s||!e.labelDisabled)&&c("toggle"),c("click",n)},g=()=>{const{bem:n,shape:r,checked:d}=e,s=e.iconSize||t("iconSize");return i("div",{ref:o,class:n("icon",[r,{disabled:a.value,checked:d}]),style:{fontSize:w(s)}},[l.icon?l.icon({checked:d,disabled:a.value}):i($,{name:"success",style:z.value},null)])},h=()=>{if(l.default)return i("span",{class:e.bem("label",[e.labelPosition,{disabled:a.value}])},[l.default()])};return()=>{const n=e.labelPosition==="left"?[h(),g()]:[g(),h()];return i("div",{role:e.role,class:e.bem([{disabled:a.value,"label-disabled":e.labelDisabled},k.value]),tabindex:a.value?void 0:0,"aria-checked":e.checked,onClick:R},[n])}}});const[J,K]=v("radio");var L=m({name:J,props:V,emits:["update:modelValue"],setup(e,{emit:c,slots:l}){const{parent:o}=j(S),t=()=>(o?o.props.modelValue:e.modelValue)===e.name,a=()=>{o?o.updateValue(e.name):c("update:modelValue",e.name)};return()=>i(E,F({bem:K,role:"radio",parent:o,checked:t(),onToggle:a},e),q(l,["default","icon"]))}});const Y=C(L);export{U as R,Y as a};