UNPKG

tdesign-mobile-vue

Version:
1 lines 5.71 kB
{"version":3,"file":"radio-group.mjs","sources":["../../src/radio/radio-group.tsx"],"sourcesContent":["import { provide, defineComponent, computed } from 'vue';\nimport { useDefault } from '../shared';\nimport props from '../radio/radio-group-props';\nimport { RadioOption, RadioOptionObj, RadioValue, TdRadioGroupProps } from '../radio/type';\nimport TRadio from './radio';\nimport config from '../config';\nimport { KeysType } from '../common';\nimport { usePrefixClass } from '../hooks/useClass';\nimport { useTNodeJSX } from '../hooks/tnode';\n\nconst { prefix } = config;\n\nexport default defineComponent({\n name: `${prefix}-radio-group`,\n props,\n setup(props, context) {\n const renderTNodeJSX = useTNodeJSX();\n const radioGroupClass = usePrefixClass('radio-group');\n\n const [groupValue, setGroupValue] = useDefault<RadioValue, TdRadioGroupProps>(\n props,\n context.emit,\n 'value',\n 'change',\n );\n\n const keys = computed((): KeysType => props.keys);\n\n const groupOptions = computed(() => {\n return props.options?.map((option: RadioOption) => {\n let opt = option as RadioOptionObj;\n if (typeof option === 'string' || typeof option === 'number') {\n opt = { value: option, label: option.toString() };\n }\n return opt;\n });\n });\n const handleRadioChange = (val: RadioValue, context: { e: Event; name?: string }) => {\n if (props.allowUncheck && val === groupValue.value) {\n setGroupValue('', context);\n } else {\n setGroupValue(val, context);\n }\n };\n\n provide('rootGroupProps', props);\n provide('rootGroupValue', groupValue);\n provide('rootGroupChange', handleRadioChange);\n return () => {\n return (\n <div class={radioGroupClass.value} role=\"radiogroup\">\n {props.options &&\n groupOptions.value.map((opt, index) => (\n <TRadio\n name={props.name}\n icon={props.icon}\n checked={groupValue.value === opt[keys.value?.value ?? 'value']}\n disabled={opt?.disabled ?? props.disabled}\n value={opt[keys.value?.value ?? 'value']}\n label={opt[keys.value?.label ?? 'label']}\n placement={props.placement}\n />\n ))}\n {!props.options && renderTNodeJSX('default')}\n </div>\n );\n };\n },\n});\n"],"names":["prefix","config","defineComponent","name","props","setup","context","renderTNodeJSX","useTNodeJSX","radioGroupClass","usePrefixClass","_useDefault","useDefault","emit","_useDefault2","_slicedToArray","groupValue","setGroupValue","keys","computed","groupOptions","_props2$options","options","map","option","opt","value","label","toString","handleRadioChange","val","allowUncheck","provide","_createVNode","index","icon","_keys$value","_opt$disabled","disabled","_keys$value$value2","_keys$value2","_keys$value$label","_keys$value3","placement"],"mappings":"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"}