{"version":3,"file":"radio2.mjs","sources":["../../../../../../../packages/components/radio/src/radio.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\n\nimport { pick } from '@xzx-design/utils'\nimport { useNamespace, useParent } from '@xzx-design/hooks'\nimport Checker from '@xzx-design/components/checkbox/src/checker.tsx'\nimport { RADIO_KEY } from './types'\nimport { radioProps } from './radio'\n\nconst name = 'XzxRadio'\n\nexport default defineComponent({\n  name,\n  __name: name,\n  props: radioProps,\n\n  emits: ['update:modelValue'],\n\n  setup(props, { emit, slots }) {\n    const ns = useNamespace('radio')\n\n    const { parent } = useParent(RADIO_KEY)\n\n    const checked = () => {\n      const value = parent ? parent.props.modelValue : props.modelValue\n      return value === props.name\n    }\n\n    const toggle = () => {\n      if (parent) {\n        parent.updateValue(props.name)\n      } else {\n        emit('update:modelValue', props.name)\n      }\n    }\n\n    return () => (\n      <Checker\n        v-slots={pick(slots, ['default', 'icon'])}\n        namespace={ns}\n        role=\"radio\"\n        parent={parent}\n        checked={checked()}\n        onToggle={toggle}\n        {...props}\n      />\n    )\n  },\n})\n"],"names":["name","defineComponent","__name","props","radioProps","emits","setup","emit","slots","ns","useNamespace","parent","useParent","RADIO_KEY","checked","value","modelValue","toggle","updateValue","_createVNode","Checker","_mergeProps","pick"],"mappings":";;;;;;;;;;AAQA,MAAMA,IAAO,GAAA,UAAA,CAAA;AAEb,aAAeC,eAAgB,CAAA;AAAA,EAC7BD,IAAAA;AAAAA,EACAE,MAAQF,EAAAA,IAAAA;AAAAA,EACRG,KAAOC,EAAAA,UAAAA;AAAAA,EAEPC,KAAAA,EAAO,CAAC,mBAAmB,CAAA;AAAA,EAE3BC,MAAMH,KAAO,EAAA;AAAA,IAAEI,IAAAA;AAAAA,IAAMC,KAAAA;AAAAA,GAAS,EAAA;AAC5B,IAAMC,MAAAA,EAAAA,GAAKC,aAAa,OAAO,CAAA,CAAA;AAE/B,IAAM,MAAA;AAAA,MAAEC,MAAAA;AAAAA,KAAO,GAAIC,UAAUC,SAAS,CAAA,CAAA;AAEtC,IAAA,MAAMC,UAAUA,MAAM;AACpB,MAAA,MAAMC,KAAQJ,GAAAA,MAAAA,GAASA,MAAOR,CAAAA,KAAAA,CAAMa,aAAab,KAAMa,CAAAA,UAAAA,CAAAA;AACvD,MAAA,OAAOD,UAAUZ,KAAMH,CAAAA,IAAAA,CAAAA;AAAAA,KACzB,CAAA;AAEA,IAAA,MAAMiB,SAASA,MAAM;AACnB,MAAA,IAAIN,MAAQ,EAAA;AACVA,QAAOO,MAAAA,CAAAA,WAAAA,CAAYf,MAAMH,IAAI,CAAA,CAAA;AAAA,OACxB,MAAA;AACLO,QAAK,IAAA,CAAA,mBAAA,EAAqBJ,MAAMH,IAAI,CAAA,CAAA;AAAA,OACtC;AAAA,KACF,CAAA;AAEA,IAAO,OAAA,MAAAmB,WAAAC,CAAAA,OAAAA,EAAAC,UAAA,CAAA;AAAA,MAAA,WAGQZ,EAAAA,EAAAA;AAAAA,MAAE,MAAA,EAAA,OAAA;AAAA,MAAA,QAELE,EAAAA,MAAAA;AAAAA,MAAM,WACLG,OAAQ,EAAA;AAAA,MAAC,UACRG,EAAAA,MAAAA;AAAAA,KAAM,EACZd,KAAK,CANAmB,EAAAA,IAAAA,CAAKd,OAAO,CAAC,SAAA,EAAW,MAAM,CAAC,CAAC,CAAA,CAAA;AAAA,GAS/C;AACF,CAAC,CAAA;;;;"}