UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 3.94 kB
{"version":3,"file":"radio-button.vue2.mjs","sources":["../../../../../../packages/components/radio/src/radio-button.vue"],"sourcesContent":["<template>\n <label\n :class=\"[\n ns.b('button'),\n ns.is('active', modelValue === actualValue),\n ns.is('disabled', disabled),\n ns.is('focus', focus),\n ns.bm('button', size),\n ]\"\n >\n <input\n ref=\"radioRef\"\n v-model=\"modelValue\"\n :class=\"ns.be('button', 'original-radio')\"\n :value=\"actualValue\"\n type=\"radio\"\n :name=\"name || radioGroup?.name\"\n :disabled=\"disabled\"\n @focus=\"focus = true\"\n @blur=\"focus = false\"\n @click.stop\n />\n <span\n :class=\"ns.be('button', 'inner')\"\n :style=\"modelValue === actualValue ? activeStyle : {}\"\n @keydown.stop\n >\n <slot>\n {{ label }}\n </slot>\n </span>\n </label>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useRadio } from './use-radio'\nimport { radioButtonPropsDefaults } from './radio-button'\n\nimport type { RadioButtonProps } from './radio-button'\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n name: 'ElRadioButton',\n})\n\nconst props = withDefaults(defineProps<RadioButtonProps>(), {\n ...radioButtonPropsDefaults,\n})\n\nconst ns = useNamespace('radio')\nconst { radioRef, focus, size, disabled, modelValue, radioGroup, actualValue } =\n useRadio(props)\n\nconst activeStyle = computed<CSSProperties>(() => {\n return {\n backgroundColor: radioGroup?.fill || '',\n borderColor: radioGroup?.fill || '',\n boxShadow: radioGroup?.fill ? `-1px 0 0 0 ${radioGroup.fill}` : '',\n color: radioGroup?.textColor || '',\n }\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createElementVNode","_normalizeStyle","_renderSlot"],"mappings":";;;;;;;;;;;;;AA+CA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAId,IAAA,MAAM,EAAA,GAAK,aAAa,OAAO,CAAA;AAC/B,IAAA,MAAM,EAAE,QAAA,EAAU,KAAA,EAAO,IAAA,EAAM,QAAA,EAAU,YAAY,UAAA,EAAY,WAAA,EAAY,GAC3E,QAAA,CAAS,KAAK,CAAA;AAEhB,IAAA,MAAM,WAAA,GAAc,SAAwB,MAAM;AAChD,MAAA,OAAO;AAAA,QACL,eAAA,EAAA,CAAiB,yCAAY,IAAA,KAAQ,EAAA;AAAA,QACrC,WAAA,EAAA,CAAa,yCAAY,IAAA,KAAQ,EAAA;AAAA,QACjC,YAAW,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAY,IAAA,IAAO,CAAA,WAAA,EAAc,UAAA,CAAW,IAAI,CAAA,CAAA,GAAK,EAAA;AAAA,QAChE,KAAA,EAAA,CAAO,yCAAY,SAAA,KAAa;AAAA,OAClC;AAAA,IACF,CAAC,CAAA;;;0BA7DCA,kBAAA;AAAA,QA8BQ,OAAA;AAAA,QAAA;AAAA,UA7BL,OAAKC,cAAA,CAAA;AAAA,YAAUC,KAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,QAAA,CAAA;AAAA,YAAkBA,KAAA,CAAA,EAAA,CAAA,CAAG,EAAA,CAAE,QAAA,EAAWA,MAAA,UAAA,CAAA,KAAeA,KAAA,CAAA,WAAA,CAAW,CAAA;AAAA,YAASA,MAAA,EAAA,CAAA,CAAG,GAAE,UAAA,EAAaA,KAAA,CAAA,QAAA,CAAQ,CAAA;AAAA,YAASA,MAAA,EAAA,CAAA,CAAG,GAAE,OAAA,EAAUA,KAAA,CAAA,KAAA,CAAK,CAAA;AAAA,YAASA,MAAA,EAAA,CAAA,CAAG,GAAE,QAAA,EAAWA,KAAA,CAAA,IAAA,CAAI;AAAA;;;yBAQ7KC,mBAWE,OAAA,EAAA;AAAA,qBAVI,UAAA;AAAA,YAAJ,GAAA,EAAI,QAAA;AAAA,6FACK,UAAA,CAAU,QAAA,MAAA,GAAA,IAAA,CAAA;AAAA,YAClB,KAAA,EAAKF,eAAEC,KAAA,CAAA,EAAA,EAAG,EAAA,CAAE,QAAA,EAAA,gBAAA,CAAA,CAAA;AAAA,YACZ,KAAA,EAAOA,MAAA,WAAA,CAAA;AAAA,YACR,IAAA,EAAK,OAAA;AAAA,YACJ,MAAM,OAAA,CAAA,IAAA,KAAA,CAAQ,EAAA,GAAAA,KAAA,CAAA,UAAA,MAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAY,IAAA,CAAA;AAAA,YAC1B,QAAA,EAAUA,MAAA,QAAA,CAAA;AAAA,YACV,OAAA,wCAAO,KAAA,CAAA,KAAA,GAAK,IAAA,CAAA;AAAA,YACZ,MAAA,wCAAM,KAAA,CAAA,KAAA,GAAK,KAAA,CAAA;AAAA,YACX,OAAA,0CAAD,MAAA;AAAA,YAAA,CAAA,EAAW,CAAA,MAAA,CAAA,CAAA;AAAA;0BARFA,KAAA,CAAA,UAAA,CAAU;AAAA;UAUrBC,kBAAA;AAAA,YAQO,MAAA;AAAA,YAAA;AAAA,cAPJ,KAAA,EAAKF,eAAEC,KAAA,CAAA,EAAA,EAAG,EAAA,CAAE,QAAA,EAAA,OAAA,CAAA,CAAA;AAAA,cACZ,KAAA,EAAKE,cAAA,CAAEF,KAAA,CAAA,UAAA,CAAA,KAAeA,KAAA,CAAA,WAAA,CAAA,GAAc,WAAA,CAAA,KAAA,GAAW,EAAA,CAAA;AAAA,cAC/C,SAAA,0CAAD,MAAA;AAAA,cAAA,CAAA,EAAa,CAAA,MAAA,CAAA,CAAA;AAAA;;cAEbG,WAEO,IAAA,wBAFP,MAEO;AAAA;kCADF,QAAA,KAAK,CAAA;AAAA,kBAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;"}