import type { VueConstructor } from 'vue' import ProTable, { TableAction } from './ProTable' import ProForm, { ProFormItem, FormActions, FormattedNumberInput } from './ProForm' import ProDescriptions from './ProDescriptions' import CollapseContainer from './CollapseContainer' import { ProTableForm } from './ProTableForm' import { useForm } from './ProForm/useForm' import { useProTableForm } from './ProTableForm/useProTableForm' import { useDescription } from './ProDescriptions/useDescription' import { useProTable } from './ProTable/useProTable' import { useComponentSetting } from './useComponentSetting' export { ProForm, ProFormItem, FormActions, FormattedNumberInput, useForm } export { ProTable, useProTable, TableAction } export { ProDescriptions, useDescription } export { CollapseContainer } export { ProTableForm, useProTableForm } export type { ProTableFormColumn, ProTableFormColumnChild, ProTableFormProps, ProTableFormBuiltInComponent, ProTableFormActionType, } from './types' export { useComponentSetting } export type { UseComponentSettingReturn } from './useComponentSetting' export type { UseProTableReturn, UseProTablePropsReactive } from './ProTable/useProTable' export type { UseDescriptionReturn, UseDescriptionPropsReactive } from './ProDescriptions/useDescription' export * from './ProTable/types' export * from './types' export * from './utils/formattedNumber' const components = [ { name: 'ProTable', component: ProTable }, { name: 'TableAction', component: TableAction }, { name: 'ProForm', component: ProForm }, { name: 'ProFormItem', component: ProFormItem }, { name: 'FormActions', component: FormActions }, { name: 'FormattedNumberInput', component: FormattedNumberInput }, { name: 'ProDescriptions', component: ProDescriptions }, { name: 'CollapseContainer', component: CollapseContainer }, { name: 'ProTableForm', component: ProTableForm }, ] export function install(Vue: VueConstructor) { components.forEach(({ name, component }) => { Vue.component(name, component) }) } export default { install, ProTable, ProForm, ProDescriptions, CollapseContainer, TableAction, FormattedNumberInput, ProTableForm, }