aboutsummaryrefslogtreecommitdiffstats
path: root/resources/lib/codex/modules/CdxRadio.js
blob: 2376e46d244694581b5788ffdfdb324d9eafd3f0 (plain) (blame)
1
"use strict";const o=require("vue"),f=require("./CdxLabel.js"),b=require("./useLabelChecker.js"),q=require("./useModelWrapper.js"),u=require("./useGeneratedId.js"),C=require("./useFieldData.js"),$=require("./_plugin-vue_export-helper.js");require("./Icon.js");require("./useComputedDirection.js");require("./useComputedLanguage.js");require("./constants.js");require("./useSplitAttributes.js");require("./useSlotContents2.js");require("./useWarnOnce.js");require("./useComputedDisabled.js");const v=o.defineComponent({name:"CdxRadio",components:{CdxLabel:f},props:{modelValue:{type:[String,Number,Boolean],default:""},inputValue:{type:[String,Number,Boolean],default:!1},name:{type:String,required:!0},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:i,slots:d,attrs:t}){var a;b.useLabelChecker((a=d.default)==null?void 0:a.call(d),t,"CdxRadio");const s=o.computed(()=>({"cdx-radio--inline":e.inline})),{computedDisabled:l}=C(o.toRef(e,"disabled")),n=o.ref(),r=u("radio"),p=u("description"),c=()=>{n.value.focus()},m=q(o.toRef(e,"modelValue"),i);return{rootClasses:s,computedDisabled:l,input:n,radioId:r,descriptionId:p,focusInput:c,wrappedModel:m}}});const y=["id","aria-describedby","name","value","disabled"],h=o.createElementVNode("span",{class:"cdx-radio__icon"},null,-1);function k(e,i,d,t,s,l){const n=o.resolveComponent("cdx-label");return o.openBlock(),o.createElementBlock("span",{class:o.normalizeClass(["cdx-radio",e.rootClasses])},[o.withDirectives(o.createElementVNode("input",{id:e.radioId,ref:"input","onUpdate:modelValue":i[0]||(i[0]=r=>e.wrappedModel=r),class:"cdx-radio__input",type:"radio","aria-describedby":e.$slots.description&&e.$slots.description().length>0?e.descriptionId:void 0,name:e.name,value:e.inputValue,disabled:e.computedDisabled},null,8,y),[[o.vModelRadio,e.wrappedModel]]),h,e.$slots.default&&e.$slots.default().length?(o.openBlock(),o.createBlock(n,{key:0,class:"cdx-radio__label","input-id":e.radioId,"description-id":e.$slots.description&&e.$slots.description().length>0?e.descriptionId:void 0,disabled:e.computedDisabled,onClick:e.focusInput},o.createSlots({default:o.withCtx(()=>[o.renderSlot(e.$slots,"default")]),_:2},[e.$slots.description&&e.$slots.description().length>0?{name:"description",fn:o.withCtx(()=>[o.renderSlot(e.$slots,"description")]),key:"0"}:void 0]),1032,["input-id","description-id","disabled","onClick"])):o.createCommentVNode("v-if",!0)],2)}const V=$._export_sfc(v,[["render",k]]);module.exports=V;