{"version":3,"file":"index.mjs","sources":["../../../../../../package/formily/radio/src/index.ts"],"sourcesContent":["/* eslint-disable indent */\nimport { connect, mapProps, mapReadPretty } from \"@formily/vue\";\nimport { defineComponent, PropType, h, computed } from \"vue\";\nimport {\n  composeExport,\n  transformComponent,\n  resolveComponent,\n  SlotTypes,\n  PropsType\n} from \"../../__builtins__/shared\";\nimport { PreviewText } from \"../../preview-text\";\n\nimport { ElRadio, ElRadioGroup, RadioProps, ElRadioButton } from \"element-plus\";\nimport { useGlobalConfig } from \"@vue-admin-core/components/config-provider\";\nimport { isFunction } from \"lodash-es\";\n\nexport type ElRadioProps = typeof ElRadio;\nexport type RadioGroupProps = RadioProps & {\n  value: any;\n  options?: (\n    | (Omit<ElRadioProps, \"value\"> & {\n        value: ElRadioProps[\"label\"];\n        label: SlotTypes;\n      })\n    | string\n  )[];\n  optionType: \"defalt\" | \"button\";\n};\n\nconst TransformElRadioGroup = transformComponent(ElRadioGroup, {\n  change: \"input\"\n});\n\nconst RadioGroupOption = defineComponent({\n  name: \"FRadioGroup\",\n  props: {\n    options: {\n      type: Array as PropType<RadioGroupProps[\"options\"]>,\n      default: () => []\n    },\n    optionType: {\n      type: String as PropType<RadioGroupProps[\"optionType\"]>,\n      default: \"default\"\n    },\n    props: {\n      type: Object as PropType<PropsType>,\n      default: () => ({\n        children: \"children\",\n        label: \"label\",\n        value: \"value\",\n        disabled: \"disabled\"\n      })\n    }\n  },\n  setup(customProps, { attrs, slots }) {\n    const config = useGlobalConfig();\n    const label = computed(() => customProps.props.label || \"label\");\n    const value = computed(() => customProps.props.value || \"value\");\n    const options = computed(() => customProps.options || []);\n    return () => {\n      const OptionType = customProps.optionType === \"button\" ? ElRadioButton : ElRadio;\n      const children =\n        options.value.length !== 0\n          ? {\n              default: () =>\n                options.value.map((option) => {\n                  if (typeof option === \"string\") {\n                    return h(\n                      OptionType,\n                      { label: option },\n                      {\n                        default: () => [resolveComponent(slots?.option ?? option, { option })]\n                      }\n                    );\n                  } else {\n                    return h(\n                      OptionType,\n                      {\n                        ...option,\n                        value: undefined,\n                        label: option[value.value] || option[config.value.dictValueKey as string],\n                        disabled: isFunction(customProps.props?.disabled)\n                          ? customProps.props?.disabled(option)\n                          : customProps.props?.disabled\n                            ? option[customProps.props?.disabled]\n                            : false\n                      },\n                      {\n                        default: () => [\n                          resolveComponent(\n                            slots?.option ??\n                              (option[label.value] || option[config.value.dictLabelKey as string]),\n                            {\n                              option\n                            }\n                          )\n                        ]\n                      }\n                    );\n                  }\n                })\n            }\n          : slots;\n      return h(TransformElRadioGroup, attrs, children);\n    };\n  }\n}) as any;\n\nconst RadioGroup: typeof RadioGroupOption = connect(\n  RadioGroupOption,\n  mapProps({ dataSource: \"options\", value: \"modelValue\" }),\n  mapReadPretty(PreviewText.Select)\n);\n\nexport const Radio: typeof ElRadio & { Group: typeof RadioGroup } = composeExport(ElRadio, {\n  Group: RadioGroup\n});\n\nexport default Radio;\n"],"names":["_a"],"mappings":"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"}