{"version":3,"file":"radio-group2.mjs","sources":["../../../../../../packages/components/radio/src/radio-group.vue"],"sourcesContent":["<template>\n  <div\n    :id=\"groupId\"\n    ref=\"radioGroupRef\"\n    :class=\"ns.b('group')\"\n    role=\"radiogroup\"\n    :aria-label=\"!isLabeledByFormItem ? ariaLabel || 'radio-group' : undefined\"\n    :aria-labelledby=\"isLabeledByFormItem ? formItem!.labelId : undefined\"\n  >\n    <slot>\n      <el-radio\n        v-for=\"(item, index) in props.options\"\n        :key=\"index\"\n        v-bind=\"getOptionProps(item)\"\n      />\n    </slot>\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n  computed,\n  nextTick,\n  onMounted,\n  provide,\n  reactive,\n  ref,\n  toRefs,\n  watch,\n} from 'vue'\nimport { useFormItem, useFormItemInputId } from '@element-plus/components/form'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport {\n  radioDefaultProps,\n  radioGroupEmits,\n  radioGroupProps,\n} from './radio-group'\nimport { radioGroupKey } from './constants'\nimport { isEqual } from 'lodash-unified'\nimport ElRadio from './radio.vue'\n\nimport type { RadioGroupProps } from './radio-group'\n\ndefineOptions({\n  name: 'ElRadioGroup',\n})\n\nconst props = defineProps(radioGroupProps)\nconst emit = defineEmits(radioGroupEmits)\n\nconst ns = useNamespace('radio')\nconst radioId = useId()\nconst radioGroupRef = ref<HTMLDivElement>()\nconst { formItem } = useFormItem()\nconst { inputId: groupId, isLabeledByFormItem } = useFormItemInputId(props, {\n  formItemContext: formItem,\n})\n\nconst changeEvent = (value: RadioGroupProps['modelValue']) => {\n  emit(UPDATE_MODEL_EVENT, value)\n  nextTick(() => emit(CHANGE_EVENT, value))\n}\n\nonMounted(() => {\n  const radios =\n    radioGroupRef.value!.querySelectorAll<HTMLInputElement>('[type=radio]')\n  const firstLabel = radios[0]\n  if (!Array.from(radios).some((radio) => radio.checked) && firstLabel) {\n    firstLabel.tabIndex = 0\n  }\n})\n\nconst name = computed(() => {\n  return props.name || radioId.value\n})\n\nconst aliasProps = computed(() => ({\n  ...radioDefaultProps,\n  ...props.props,\n}))\nconst getOptionProps = (option: Record<string, any>) => {\n  const base = {\n    label: option[aliasProps.value.label],\n    value: option[aliasProps.value.value],\n    disabled: option[aliasProps.value.disabled],\n  }\n  return { ...option, ...base }\n}\n\nprovide(\n  radioGroupKey,\n  reactive({\n    ...toRefs(props),\n    changeEvent,\n    name,\n  })\n)\n\nwatch(\n  () => props.modelValue,\n  (newVal, oldValue) => {\n    if (props.validateEvent && !isEqual(newVal, oldValue)) {\n      formItem?.validate('change').catch((err) => debugWarn(err))\n    }\n  }\n)\n</script>\n"],"names":["_createElementBlock","_unref","_normalizeClass"],"mappings":"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"}