UNPKG

ideaz-element

Version:

<p align="center"> <a href="" target="_blank" rel="noopener noreferrer"> <img src="./docs/public/logo.svg" alt="Ideaz Element" width="180" style="width: 180px;" /> </a> </p>

1 lines 4.05 kB
{"version":3,"file":"index.mjs","sources":["../../../../../packages/element/radio/src/index.tsx"],"sourcesContent":["import { ElRadioGroup } from 'element-plus'\nimport { resolveDynamicComponent } from '@ideaz/shared'\nimport { isFunction, isValid } from '@ideaz/utils'\nimport { get, omit } from 'lodash-unified'\nimport type { RadioOptionsItem } from '../../types'\nimport { FILTER_RADIO_PROPS, radioProps } from './props'\n\nexport default defineComponent({\n name: 'ZRadio',\n props: radioProps,\n emits: ['input', 'update:modelValue'],\n setup(props, { emit }) {\n const { vModelVal } = useVModel(props, emit)\n const size = useFormSize()\n const attrs = useAttrs()\n\n const getChildComponentName = (option: RadioOptionsItem) => {\n if (!option.type && props.type)\n return `el-${props.type}`\n if (option.type === 'radio' || option.type === 'radio-button')\n return `el-${option.type}`\n return 'el-radio'\n }\n\n return () => {\n return (\n <ElRadioGroup\n {...{ ...attrs, ...omit(props, FILTER_RADIO_PROPS) }}\n modelValue={vModelVal.value}\n size={size.value}\n onUpdate:modelValue={(val: string | number | boolean | undefined) => (vModelVal.value = val)}\n >\n {props.options.map((option) => {\n const ChildName = getChildComponentName(option)\n return resolveDynamicComponent({\n name: ChildName,\n attrs: {\n ...option,\n border: isValid(option.border) ? option.border : props.border,\n value: get(option, props.alias?.value || 'value', ''),\n disabled: get(option, props.alias?.disabled || 'disabled', false),\n key: get(option, props.alias?.value || 'value', ''),\n onClick: (e: MouseEvent) => {\n if (props.isCancel) {\n e.preventDefault()\n if (vModelVal.value === option.value)\n vModelVal.value = ''\n else\n vModelVal.value = option.value\n }\n if (isFunction(option.onClick))\n option.onClick(e)\n },\n },\n content: () => get(option, props.alias?.label || 'label', ''),\n })\n })}\n </ElRadioGroup>\n )\n }\n },\n})\n"],"names":["_isSlot","s","isVNode","Radio","defineComponent","name","props","emits","emit","vModelVal","useVModel","size","useFormSize","attrs","useAttrs","option","_slot","createVNode","ElRadioGroup","mergeProps","omit","FILTER_RADIO_PROPS","val","ChildName","getChildComponentName","resolveDynamicComponent","border","value","disabled","key","isFunction","e","content"],"mappings":";;;;;;;;;;;;AAKwD,SAAAA,EAAAC,GAAA;AAAA,SAAA,OAAAA,KAAA,cAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,MAAA,qBAAA,CAAAC,EAAAD,CAAA;AAAA;AAExD,MAAAE,IAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,OAAAA,CAAAA,SAAAA,mBAAAA;AAAAA;IACeC,MAAAA;AAAAA,EAAK,GAAA;;MACVC,WAAAA;AAAAA,IAAU,IAAAC,EAAAJ,GAAAE,CAAA,GAClBG,IAAAC,EAAA,GACAC,IAAAC,EAAA,cAGE,CAAAC,EAAA,QAAAT,EAAA,OAAA,MAAAA,EAAA,IAAA,KAEAS,EAAA,SAAA,WAAAA,EAAA,SAAA,iBAAA,MAAAA,EAAA,IAAA,KAEA;AAGF,WAAA,MAAA;AAAa,UAAAC;AACX,aAAAC,EAAAC,GAAAC,EAAA;AAAA,QAEU,GAAAN;AAAA,QAAU,GAAAO,EAAAd,GAAAe,CAAA;AAAA,MAAkC,GAAA;AAAA;;QAElC,uBAAA,CAAAC,MAAAb,EAAA,QAAAa;AAAA;;AAId,cAAAC,IAAAC,EAAAT,CAAA;AACA,eAAAU,EAAA;AAAA,UACEpB,MAAAA;AAAAA,UACAQ,OAAAA;AAAAA,YACE,GAAAE;AAAA,YACAW,QAAAA,EAAAA,EAAAA,MAAAA,IAAAA,EAAAA,SAAAA,EAAAA;AAAAA,YACAC,OAAAA,EAAAA,KAAAA,IAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,UAAAA,SAAAA,EAAAA;AAAAA,YACAC,UAAAA,EAAAA,KAAAA,IAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,aAAAA,YAAAA,EAAAA;AAAAA,YACAC,KAAAA,EAAAA,KAAAA,IAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,UAAAA,SAAAA,EAAAA;AAAAA;0GASEC,EAAAf,EAAA,OAAA,KAAAA,EAAA,QAAAgB,CAAA;AAAA,YAEF;AAAA;UAEFC,SAAAA,MAAAA;;AAAAA,mBAAAA,EAAAA,KAAAA,IAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,UAAAA,SAAAA,EAAAA;AAAAA;AAAAA,QACF,CAAA;AAAA;;MACA,CAAA;AAAA;EAIV;AACF,CAAA;"}