{"version":3,"file":"radio2.mjs","sources":["../../../../../../packages/components/radio/src/radio.vue"],"sourcesContent":["<template>\n  <label\n    :class=\"[{\n      [namespace]: true,\n      'is-radio': true,\n      'is-disabled': isDisabled,\n      'is-focus': focus,\n      'is-checked': modelValue === actualValue,\n      'fill': radioFill,\n      'custom': radioCustom,\n      [radioType]: !!radioType,\n      [radioSize]: !!radioSize,\n      'show-label': showLabel,\n    }]\"\n  >\n    <input\n      ref=\"radioRef\"\n      v-model=\"modelValue\"\n      class=\"radio-input\"\n      :value=\"actualValue\"\n      type=\"radio\"\n      :name=\"name || radioGroup?.name\"\n      :disabled=\"isDisabled\"\n      :checked=\"modelValue === actualValue\"\n      @focus=\"focus = true\"\n      @blur=\"focus = false\"\n      @change=\"handleChange\"\n      @click.stop\n    >\n    <em v-if=\"!radioCustom\" class=\"radio-inner\"></em>\n    <slot v-if=\"radioCustom\"></slot>\n    <span v-else-if=\"showLabel && ($slots.default || label)\" class=\"radio-label\" @keydown.stop>\n      <slot>{{ label }}</slot>\n    </span>\n  </label>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, nextTick } from 'vue'\nimport { useNamespace } from '@hongluan-ui/hooks'\nimport { radioEmits, radioProps } from './radio'\nimport { useRadio } from './use-radio'\n\nexport default defineComponent({\n  name: 'Radio',\n  props: radioProps,\n  emits: radioEmits,\n\n  setup(props, { emit }) {\n    const { namespace } = useNamespace('radio')\n\n    const {\n      radioRef,\n      radioGroup,\n      isGroup,\n      focus,\n      radioSize,\n      radioFill,\n      isDisabled,\n      radioType,\n      radioCustom,\n      tabIndex,\n      modelValue,\n      actualValue,\n    } = useRadio(props, emit)\n\n    function handleChange() {\n      // eslint-disable-next-line vue/require-explicit-emits\n      nextTick(() => emit('change', modelValue.value))\n    }\n\n    return {\n      namespace,\n      actualValue,\n      focus,\n      isGroup,\n      radioGroup,\n      modelValue,\n      tabIndex,\n      radioSize,\n      radioFill,\n      isDisabled,\n      radioType,\n      radioCustom,\n      radioRef,\n      handleChange,\n    }\n  },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;AA2CA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,EAAE,cAAc,aAAa,OAAO;AAE1C,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,SAAS,OAAO,IAAI;AAExB,4BAAwB;AAEtB,eAAS,MAAM,KAAK,UAAU,WAAW,KAAK,CAAC;AAAA;AAGjD,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;;;AAtDS;AAhCA;AAAqB;;AAAsD;AAA8B;AAA0C;AAA2B;AAA2B;AAAkC,OAAkB,iBAAS,EAAK;AAAA;AAA+B;;;AA0B/S;AAZK;AACe,MACnB;AAAM,MACL,OAAO;AAAA,MACR;AAAK,MACJ,MAAM;AAAoB,MAC1B,UAAU;AAAA,MACV;AAAwB,MACxB,SAAK,yBAAO;AAAA,MACZ;AAAW,MACX;AAAQ,MACR;AAAD;AAAW;;AAVQ;KAYV;AAAsC;MAAzB;AAAM;;AAIvB;MAFkD;AAAM,MAAe;AAAD;AAAa;;AAChE,yCAAf,UAAK;AAAA;;;;;;;;;"}