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