{"version":3,"file":"radio2.mjs","sources":["../../../../../../packages/components/radio/src/radio.vue"],"sourcesContent":["<template>\n  <label\n    :class=\"[\n      ns.b(),\n      ns.is('disabled', disabled),\n      ns.is('focus', focus),\n      ns.is('bordered', border),\n      ns.is('checked', modelValue === label),\n      ns.m(size),\n      rawAttrs.class,\n    ]\"\n    :style=\"containerStyle\"\n    v-bind=\"labelListeners\"\n  >\n    <span\n      :class=\"[\n        ns.e('input'),\n        ns.is('disabled', disabled),\n        ns.is('checked', modelValue === label),\n      ]\"\n    >\n      <input\n        ref=\"radioRef\"\n        v-model=\"modelValue\"\n        :class=\"ns.e('original')\"\n        :value=\"label\"\n        :name=\"name || radioGroup?.name\"\n        :disabled=\"disabled\"\n        type=\"radio\"\n        v-bind=\"inputAttrs\"\n        @focus=\"focus = true\"\n        @blur=\"focus = false\"\n        @change=\"handleChange\"\n      />\n      <span :class=\"ns.e('inner')\" />\n    </span>\n    <span :class=\"ns.e('label')\" @keydown.stop>\n      <slot>\n        {{ label }}\n      </slot>\n    </span>\n  </label>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, useAttrs as useRawAttrs } from 'vue'\nimport { useAttrs, useNamespace } from '@element-plus/hooks'\nimport { radioEmits, radioProps } from './radio'\nimport { useRadio } from './use-radio'\nimport type { StyleValue } from 'vue'\n\ndefineOptions({\n  name: 'ElRadio',\n  inheritAttrs: false,\n})\n\nconst props = defineProps(radioProps)\nconst emit = defineEmits(radioEmits)\nconst rawAttrs = useRawAttrs()\nconst containerStyle = computed<StyleValue>(() => rawAttrs.style as StyleValue)\n\nconst inputAttrs = useAttrs({ excludeListeners: true })\n\nconst labelListeners = useAttrs({\n  excludeKeys: computed<string[]>(() => {\n    return Object.keys(inputAttrs.value)\n  }),\n})\n\nconst ns = useNamespace('radio')\nconst { radioRef, radioGroup, focus, size, disabled, modelValue } = useRadio(\n  props,\n  emit\n)\n\nfunction handleChange() {\n  nextTick(() => emit('change', modelValue.value))\n}\n</script>\n"],"names":["useRawAttrs","useAttrs"],"mappings":";;;;;;;;;;;;;;;;;;;AA0DA,IAAA,MAAA,WAAAA,QAAA,EAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,QAAA,CAAA,MAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAA,UAAA,GAAAC,UAAA,CAAA,EAAA,gBAAA,EAAA,MAAA,CAAA,CAAA;AAEA,IAAA,MAAA,iBAAAA,UAAA,CAAA;AAAA,MACA,WAAA,EAAA,SAAA,MAAA;AACA,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,UAAA,CAAA,KAAA,CAAA,CAAA;AAAA,OACA,CAAA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,GAAA,aAAA,OAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,UAAA,UAAA,EAAA,KAAA,EAAA,MAAA,QAAA,EAAA,UAAA,EAAA,GAAA,QACA,CAAA,KAAA,EACA,IACA,CAAA,CAAA;AAEA,IAAA,SAAA,YAAA,GAAA;AACA,MAAA,QAAA,CAAA,MAAA,IAAA,CAAA,QAAA,EAAA,UAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,KACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}