You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
6.7 KiB
1 lines
6.7 KiB
{"ast":null,"code":"import { defineComponent, ref, onMounted, computed, provide, reactive, toRefs, watch, openBlock, createElementBlock, unref, normalizeClass, renderSlot, nextTick } from 'vue';\nimport { radioGroupProps, radioGroupEmits } from './radio-group.mjs';\nimport { radioGroupKey } from './constants.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { useId } from '../../../hooks/use-id/index.mjs';\nimport { useFormItem, useFormItemInputId } from '../../form/src/hooks/use-form-item.mjs';\nimport { debugWarn } from '../../../utils/error.mjs';\nimport { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';\nconst __default__ = defineComponent({\n name: \"ElRadioGroup\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: radioGroupProps,\n emits: radioGroupEmits,\n setup(__props, {\n emit\n }) {\n const props = __props;\n const ns = useNamespace(\"radio\");\n const radioId = useId();\n const radioGroupRef = ref();\n const {\n formItem\n } = useFormItem();\n const {\n inputId: groupId,\n isLabeledByFormItem\n } = useFormItemInputId(props, {\n formItemContext: formItem\n });\n const changeEvent = value => {\n emit(UPDATE_MODEL_EVENT, value);\n nextTick(() => emit(\"change\", value));\n };\n onMounted(() => {\n const radios = radioGroupRef.value.querySelectorAll(\"[type=radio]\");\n const firstLabel = radios[0];\n if (!Array.from(radios).some(radio => radio.checked) && firstLabel) {\n firstLabel.tabIndex = 0;\n }\n });\n const name = computed(() => {\n return props.name || radioId.value;\n });\n provide(radioGroupKey, reactive({\n ...toRefs(props),\n changeEvent,\n name\n }));\n watch(() => props.modelValue, () => {\n if (props.validateEvent) {\n formItem == null ? void 0 : formItem.validate(\"change\").catch(err => debugWarn(err));\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: unref(groupId),\n ref_key: \"radioGroupRef\",\n ref: radioGroupRef,\n class: normalizeClass(unref(ns).b(\"group\")),\n role: \"radiogroup\",\n \"aria-label\": !unref(isLabeledByFormItem) ? _ctx.ariaLabel || \"radio-group\" : void 0,\n \"aria-labelledby\": unref(isLabeledByFormItem) ? unref(formItem).labelId : void 0\n }, [renderSlot(_ctx.$slots, \"default\")], 10, [\"id\", \"aria-label\", \"aria-labelledby\"]);\n };\n }\n});\nvar RadioGroup = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"radio-group.vue\"]]);\nexport { RadioGroup as default };","map":{"version":3,"names":["name","ns","useNamespace","radioId","useId","radioGroupRef","ref","formItem","useFormItem","inputId","groupId","isLabeledByFormItem","useFormItemInputId","props","formItemContext","changeEvent","value","emit","UPDATE_MODEL_EVENT","nextTick","onMounted","radios","querySelectorAll","firstLabel","Array","from","some","radio","checked","tabIndex","computed","provide","radioGroupKey","reactive","toRefs","watch","modelValue","validateEvent","validate","catch","err","debugWarn","_ctx","_cache","openBlock","createElementBlock","id","unref","ref_key","class","normalizeClass","b"],"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 </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 { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport { radioGroupEmits, radioGroupProps } from './radio-group'\nimport { radioGroupKey } from './constants'\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', 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\nprovide(\n radioGroupKey,\n reactive({\n ...toRefs(props),\n changeEvent,\n name,\n })\n)\n\nwatch(\n () => props.modelValue,\n () => {\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n }\n)\n</script>\n"],"mappings":";;;;;;;;;mCAiCc;EACZA,IAAM;AACR;;;;;;;;;IAKM,MAAAC,EAAA,GAAKC,YAAA,CAAa,OAAO;IAC/B,MAAMC,OAAA,GAAUC,KAAM;IACtB,MAAMC,aAAA,GAAgBC,GAAoB;IACpC;MAAEC;IAAS,IAAIC,WAAY;IACjC,MAAM;MAAEC,OAAS,EAAAC,OAAA;MAASC;IAAoB,IAAIC,kBAAA,CAAmBC,KAAO;MAC1EC,eAAiB,EAAAP;IAAA,CAClB;IAEK,MAAAQ,WAAA,GAAeC,KAAyC;MAC5DC,IAAA,CAAKC,kBAAA,EAAoBF,KAAK;MAC9BG,QAAA,CAAS,MAAMF,IAAA,CAAK,QAAU,EAAAD,KAAK,CAAC;IAAA,CACtC;IAEAI,SAAA,CAAU,MAAM;MACd,MAAMC,MACJ,GAAAhB,aAAA,CAAcW,KAAO,CAAAM,gBAAA,CAAmC,cAAc;MAClE,MAAAC,UAAA,GAAaF,MAAA,CAAO,CAAC;MACvB,KAACG,KAAM,CAAAC,IAAA,CAAKJ,MAAM,EAAEK,IAAK,CAACC,KAAU,IAAAA,KAAA,CAAMC,OAAO,KAAKL,UAAY;QACpEA,UAAA,CAAWM,QAAW;MAAA;IACxB,CACD;IAEK,MAAA7B,IAAA,GAAO8B,QAAA,CAAS,MAAM;MACnB,OAAAjB,KAAA,CAAMb,IAAA,IAAQG,OAAQ,CAAAa,KAAA;IAAA,CAC9B;IAEDe,OAAA,CAAAC,aAAA,EAAAC,QAAA;MACE,GAAAC,MAAA,CAAArB,KAAA;MACAE,WAAS;MACPf;IAAe,CACf;IACAmC,KAAA,OAAAtB,KAAA,CAAAuB,UAAA;MACF,IAACvB,KAAA,CAAAwB,aAAA;QACH9B,QAAA,oBAAAA,QAAA,CAAA+B,QAAA,WAAAC,KAAA,CAAAC,GAAA,IAAAC,SAAA,CAAAD,GAAA;MAEA;IAAA,EACE;IAAY,OACN,CAAAE,IAAA,EAAAC,MAAA;MACJ,OAAAC,SAAyB,IAAAC,kBAAA;QACbC,EAAA,EAAAC,KAAA,CAAArC,OAAA;QACZsC,OAAA;QACF1C,GAAA,EAAAD,aAAA;QACF4C,KAAA,EAAAC,cAAA,CAAAH,KAAA,CAAA9C,EAAA,EAAAkD,CAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|