aboutsummaryrefslogtreecommitdiffstats
path: root/resources/lib/codex/modules/CdxRadio.cjs
blob: aa0c6826b5b3705a98a95e25dd0ba8a654fcd392 (plain) (blame)
1
"use strict";const t=require("vue"),C=require("./CdxLabel.cjs"),v=require("./useLabelChecker.js"),$=require("./useModelWrapper.cjs"),V=require("./useFieldData.cjs"),p=require("./constants.js"),k=require("./_plugin-vue_export-helper.js"),y=p.makeStringTypeValidator(p.ValidationStatusTypes),I=t.defineComponent({name:"CdxRadio",components:{CdxLabel:C},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},status:{type:String,default:"default",validator:y}},emits:["update:modelValue"],setup(e,{emit:o,slots:s,attrs:n}){var u;v.useLabelChecker((u=s.default)==null?void 0:u.call(s),n,"CdxRadio");const{computedDisabled:a,computedStatus:l}=V(t.toRef(e,"disabled"),t.toRef(e,"status")),d=t.computed(()=>({"cdx-radio--inline":e.inline,["cdx-radio--status-".concat(l.value)]:!0})),i=t.computed(()=>({"cdx-radio__custom-input--inline":e.inline})),r=t.ref(),c=t.useId(),m=t.useId(),f=()=>{r.value.focus()},b=$(t.toRef(e,"modelValue"),o);return{rootClasses:d,computedDisabled:a,input:r,radioId:c,descriptionId:m,focusInput:f,wrappedModel:b,customInputClasses:i}}}),S={class:"cdx-radio__wrapper"},g=["id","aria-describedby","name","value","disabled"];function B(e,o,s,n,a,l){const d=t.resolveComponent("cdx-label");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["cdx-radio",e.rootClasses])},[t.createElementVNode("div",S,[t.withDirectives(t.createElementVNode("input",{id:e.radioId,ref:"input","onUpdate:modelValue":o[0]||(o[0]=i=>e.wrappedModel=i),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,g),[[t.vModelRadio,e.wrappedModel]]),o[1]||(o[1]=t.createElementVNode("span",{class:"cdx-radio__icon"},null,-1)),e.$slots.default&&e.$slots.default().length?(t.openBlock(),t.createBlock(d,{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},t.createSlots({default:t.withCtx(()=>[t.renderSlot(e.$slots,"default")]),_:2},[e.$slots.description&&e.$slots.description().length>0?{name:"description",fn:t.withCtx(()=>[t.renderSlot(e.$slots,"description")]),key:"0"}:void 0]),1032,["input-id","description-id","disabled","onClick"])):t.createCommentVNode("v-if",!0)]),e.$slots["custom-input"]?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["cdx-radio__custom-input",e.customInputClasses])},[t.renderSlot(e.$slots,"custom-input")],2)):t.createCommentVNode("v-if",!0)],2)}const h=k._export_sfc(I,[["render",B]]);module.exports=h;