import type {Component} from 'vue'
import {
    ElCascader,
    ElCheckboxGroup,
    ElColorPicker,
    ElDatePicker,
    ElInput,
    ElInputNumber,
    ElRadioGroup,
    ElRate,
    ElSelect,
    ElSelectV2,
    ElSlider,
    ElSwitch,
    ElTimePicker,
    ElTimeSelect,
    ElTransfer,
    ElAutocomplete,
    ElDivider,
    ElTreeSelect,
    ElUpload
} from 'element-plus'
import {InputPassword} from '../../../InputPassword'
import {ComponentName} from '../types'

const componentMap: Recordable<Component, ComponentName> = {
    RadioGroup: ElRadioGroup,
    RadioButton: ElRadioGroup,
    CheckboxGroup: ElCheckboxGroup,
    CheckboxButton: ElCheckboxGroup,
    Input: ElInput,
    Autocomplete: ElAutocomplete,
    InputNumber: ElInputNumber,
    Select: ElSelect,
    Cascader: ElCascader,
    Switch: ElSwitch,
    Slider: ElSlider,
    TimePicker: ElTimePicker,
    DatePicker: ElDatePicker,
    Rate: ElRate,
    ColorPicker: ElColorPicker,
    Transfer: ElTransfer,
    Divider: ElDivider,
    TimeSelect: ElTimeSelect,
    SelectV2: ElSelectV2,
    InputPassword: InputPassword,
    TreeSelect: ElTreeSelect,
    Upload: ElUpload
}

export {componentMap}
