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 line
5.2 KiB
1 line
5.2 KiB
{"ast":null,"code":"import { defineComponent, nextTick, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, withDirectives, isRef, withModifiers, vModelRadio, renderSlot, createTextVNode, toDisplayString } from 'vue';\nimport '../../../hooks/index.mjs';\nimport { radioProps, radioEmits } from './radio.mjs';\nimport { useRadio } from './use-radio.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nconst __default__ = defineComponent({\n name: \"ElRadio\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: radioProps,\n emits: radioEmits,\n setup(__props, {\n emit\n }) {\n const props = __props;\n const ns = useNamespace(\"radio\");\n const {\n radioRef,\n radioGroup,\n focus,\n size,\n disabled,\n modelValue,\n actualValue\n } = useRadio(props, emit);\n function handleChange() {\n nextTick(() => emit(\"change\", modelValue.value));\n }\n return (_ctx, _cache) => {\n var _a;\n return openBlock(), createElementBlock(\"label\", {\n class: normalizeClass([unref(ns).b(), unref(ns).is(\"disabled\", unref(disabled)), unref(ns).is(\"focus\", unref(focus)), unref(ns).is(\"bordered\", _ctx.border), unref(ns).is(\"checked\", unref(modelValue) === unref(actualValue)), unref(ns).m(unref(size))])\n }, [createElementVNode(\"span\", {\n class: normalizeClass([unref(ns).e(\"input\"), unref(ns).is(\"disabled\", unref(disabled)), unref(ns).is(\"checked\", unref(modelValue) === unref(actualValue))])\n }, [withDirectives(createElementVNode(\"input\", {\n ref_key: \"radioRef\",\n ref: radioRef,\n \"onUpdate:modelValue\": $event => isRef(modelValue) ? modelValue.value = $event : null,\n class: normalizeClass(unref(ns).e(\"original\")),\n value: unref(actualValue),\n name: _ctx.name || ((_a = unref(radioGroup)) == null ? void 0 : _a.name),\n disabled: unref(disabled),\n checked: unref(modelValue) === unref(actualValue),\n type: \"radio\",\n onFocus: $event => focus.value = true,\n onBlur: $event => focus.value = false,\n onChange: handleChange,\n onClick: withModifiers(() => {}, [\"stop\"])\n }, null, 42, [\"onUpdate:modelValue\", \"value\", \"name\", \"disabled\", \"checked\", \"onFocus\", \"onBlur\", \"onClick\"]), [[vModelRadio, unref(modelValue)]]), createElementVNode(\"span\", {\n class: normalizeClass(unref(ns).e(\"inner\"))\n }, null, 2)], 2), createElementVNode(\"span\", {\n class: normalizeClass(unref(ns).e(\"label\")),\n onKeydown: withModifiers(() => {}, [\"stop\"])\n }, [renderSlot(_ctx.$slots, \"default\", {}, () => [createTextVNode(toDisplayString(_ctx.label), 1)])], 42, [\"onKeydown\"])], 2);\n };\n }\n});\nvar Radio = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"radio.vue\"]]);\nexport { Radio as default };","map":{"version":3,"names":["name","ns","useNamespace","radioRef","radioGroup","focus","size","disabled","modelValue","actualValue","useRadio","props","emit","handleChange","nextTick","value"],"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 === actualValue),\n ns.m(size),\n ]\"\n >\n <span\n :class=\"[\n ns.e('input'),\n ns.is('disabled', disabled),\n ns.is('checked', modelValue === actualValue),\n ]\"\n >\n <input\n ref=\"radioRef\"\n v-model=\"modelValue\"\n :class=\"ns.e('original')\"\n :value=\"actualValue\"\n :name=\"name || radioGroup?.name\"\n :disabled=\"disabled\"\n :checked=\"modelValue === actualValue\"\n type=\"radio\"\n @focus=\"focus = true\"\n @blur=\"focus = false\"\n @change=\"handleChange\"\n @click.stop\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 { nextTick } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { radioEmits, radioProps } from './radio'\nimport { useRadio } from './use-radio'\n\ndefineOptions({\n name: 'ElRadio',\n})\n\nconst props = defineProps(radioProps)\nconst emit = defineEmits(radioEmits)\n\nconst ns = useNamespace('radio')\nconst { radioRef, radioGroup, focus, size, disabled, modelValue, actualValue } =\n useRadio(props, emit)\n\nfunction handleChange() {\n nextTick(() => emit('change', modelValue.value))\n}\n</script>\n"],"mappings":";;;;;;mCAgDc;EACZA,IAAM;AACR;;;;;;;;;IAKM,MAAAC,EAAA,GAAKC,YAAA,CAAa,OAAO;IACzB;MAAEC,QAAU;MAAAC,UAAA;MAAYC,KAAO;MAAAC,IAAA;MAAMC,QAAU;MAAAC,UAAA;MAAYC;IAAY,IAC3EC,QAAS,CAAAC,KAAA,EAAOC,IAAI;IAEtB,SAASC,YAAeA,CAAA;MACtBC,QAAA,CAAS,MAAMF,IAAA,CAAK,QAAU,EAAAJ,UAAA,CAAWO,KAAK,CAAC;IAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |