import type { App } from 'vue' import EsSelect from '@eslink-ui/select' import EsSelectMultipart from '@eslink-ui/select-multipart' import EsCol from '@eslink-ui/col' import EsRow from '@eslink-ui/row' import EsCheckboxGroup from '@eslink-ui/checkbox-group' import EsCheckbox from '@eslink-ui/checkbox' import EsModal from '@eslink-ui/modal' import EsButton from '@eslink-ui/button' import EsButtonGroup from '@eslink-ui/button-group' import { use } from '@eslink-ui/locale' // import { version } from '../../ep-version' interface InstallOptions { size: ComponentSize zIndex: number locale?: any } const defaultInstallOpt: InstallOptions = { size: '' as ComponentSize, zIndex: 2000, locale: 'zh-cn', } const components = [ EsSelect, EsSelectMultipart, EsCol, EsRow, EsCheckboxGroup, EsCheckbox, EsModal, EsButton, EsButtonGroup, ] const plugins = [] const install = (app: App, opt: InstallOptions): void => { const option = Object.assign(defaultInstallOpt, opt) use(option.locale) app.config.globalProperties.$ESLINK_UI = option components.forEach(component => { app.component(component.name, component) }) plugins.forEach(plugin => { app.use(plugin as any) }) } export { EsSelect, EsSelectMultipart, EsCheckboxGroup, EsCheckbox, EsModal, EsButton, EsButtonGroup, EsCol, EsRow, } export default { // version, install, }