UNPKG

ll-package

Version:

2 lines (1 loc) 2.17 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),e=require("vue"),G=require("../_util/classNames.js"),P=require("../_util/vue-types/index.js"),C=require("./Radio.js"),j=require("../config-provider/hooks/useConfigInject.js"),u=require("../_util/type.js"),N=require("../form/FormItemContext.js"),F=require("./context.js"),M=require("./style/index.js"),h=()=>({prefixCls:String,value:P.default.any,size:u.stringType(),options:u.arrayType(),disabled:u.booleanType(),name:String,buttonStyle:u.stringType("outline"),id:String,optionType:u.stringType("default"),onChange:u.functionType(),"onUpdate:value":u.functionType()}),_=e.defineComponent({compatConfig:{MODE:3},name:"ARadioGroup",inheritAttrs:!1,props:h(),setup(t,x){let{slots:v,emit:p,attrs:g}=x;const m=N.useInjectFormItemContext(),{prefixCls:r,direction:T,size:y}=j.default("radio",t),[S,q]=M.default(r),n=e.ref(t.value),s=e.ref(!1);e.watch(()=>t.value,a=>{n.value=a,s.value=!1});const $=a=>{const o=n.value,{value:i}=a.target;"value"in t||(n.value=i),!s.value&&i!==o&&(s.value=!0,p("update:value",i),p("change",a),m.onFieldChange()),e.nextTick(()=>{s.value=!1})};return F.useProvideRadioGroupContext({onChange:$,value:n,disabled:e.computed(()=>t.disabled),name:e.computed(()=>t.name),optionType:e.computed(()=>t.optionType)}),()=>{var a;const{options:o,buttonStyle:i,id:I=m.id.value}=t,d=`${r.value}-group`,R=G.default(d,`${d}-${i}`,{[`${d}-${y.value}`]:y.value,[`${d}-rtl`]:T.value==="rtl"},g.class,q.value);let c=null;return o&&o.length>0?c=o.map(l=>{if(typeof l=="string"||typeof l=="number")return e.createVNode(C.default,{key:l,prefixCls:r.value,disabled:t.disabled,value:l,checked:n.value===l},{default:()=>[l]});const{value:f,disabled:V,label:k}=l;return e.createVNode(C.default,{key:`radio-group-value-options-${f}`,prefixCls:r.value,disabled:V||t.disabled,value:f,checked:n.value===f},{default:()=>[k]})}):c=(a=v.default)===null||a===void 0?void 0:a.call(v),S(e.createVNode("div",b.default(b.default({},g),{},{class:R,id:I}),[c]))}}});exports.default=_;exports.radioGroupProps=h;