UNPKG

hongluan-ui

Version:
1 lines 3.14 kB
{"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;;;;;;;;;"}