element-plus
Version:
A Component Library for Vue 3
1 lines • 3.22 kB
Source Map (JSON)
{"version":3,"file":"radio-button2.mjs","sources":["../../../../../../packages/components/radio/src/radio-button.vue"],"sourcesContent":["<template>\n <label\n :class=\"[\n ns.b('button'),\n ns.is('active', modelValue === label),\n ns.is('disabled', disabled),\n ns.is('focus', focus),\n ns.bm('button', size),\n ]\"\n role=\"radio\"\n :aria-checked=\"modelValue === label\"\n :aria-disabled=\"disabled\"\n :tabindex=\"tabIndex\"\n @keydown.space.stop.prevent=\"modelValue = disabled ? modelValue : label\"\n >\n <input\n ref=\"radioRef\"\n v-model=\"modelValue\"\n :class=\"ns.be('button', 'original-radio')\"\n :value=\"label\"\n type=\"radio\"\n :name=\"name\"\n :disabled=\"disabled\"\n tabindex=\"-1\"\n @focus=\"focus = true\"\n @blur=\"focus = false\"\n />\n <span\n :class=\"ns.be('button', 'inner')\"\n :style=\"modelValue === label ? activeStyle : {}\"\n @keydown.stop\n >\n <slot>\n {{ label }}\n </slot>\n </span>\n </label>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useRadio } from './radio'\nimport { radioButtonProps } from './radio-button'\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElRadioButton',\n props: radioButtonProps,\n\n setup(props, { emit }) {\n const ns = useNamespace('radio')\n const {\n radioRef,\n isGroup,\n focus,\n size,\n disabled,\n tabIndex,\n modelValue,\n radioGroup,\n } = useRadio(props, emit)\n\n const 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\n return {\n ns,\n isGroup,\n size,\n disabled,\n tabIndex,\n modelValue,\n focus,\n activeStyle,\n radioRef,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_normalizeClass","_createElementVNode"],"mappings":";;;;;;;AA6CA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,SAAS,OAAO;AAEpB,UAAM,cAAc,SAAwB,MAAM;AAChD,aAAO;AAAA,QACL,iBAAiB;AAAoB,QACrC,aAAa;AAAoB,QACjC,WAAW,mBAAmB;AAAkC,QAChE,OAAO;AAAyB;AAAA;AAIpC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;2BA/EJ,wBAmCQ;SAlCAA;AAAA,WAAUC,eAAI;AAAA,MAAkB,QAAG,EAAE;AAAA,MAAwC,QAAG,GAAE,eAAa,eAAQ;AAAA,MAAS,QAAG,GAAE,YAAU;AAAA,MAAc,QAAG,GAAE,cAAW;AAAA;;IAQlK;AAAA,IACA,gBAAa,KAAE,eAAQ;AAAA,IACvB,iBAAU;AAAA,IACV,UAAO;AAAA;;mBAGFC,mBAAU;AAAA;MAEb,uBAAO,OAAE;AAAG,MACZ,OAAOD,eAAK;AAAA,MACb,OAAK;AAAA,MACJ,MAAM;AAAA,MACN,WAAU;AAAA,MACX,UAAS,KAAI;AAAA,MACZ,UAAK;AAAA,MACL,SAAI,sCAAE,aAAK;AAAA;iBARO;AAAA;;uBAWb,QAAE;AAAA,MACP,OAAKA,eAAE,qBAAe;AAAA,MACtB,sBAAO,iCAAR,KAAa;AAAA;;OAEb;AAAA,yCACK,UAAK;AAAA;;;;;;;;;"}