import { VxeUI } from './ui';
import zhCN from './language/zh-CN';
import VxeAlert from './alert';
import VxeAnchor from './anchor';
import VxeAnchorLink from './anchor-link';
import VxeAvatar from './avatar';
import VxeBacktop from './backtop';
import VxeBadge from './badge';
import VxeBreadcrumb from './breadcrumb';
import VxeBreadcrumbItem from './breadcrumb-item';
import VxeButton from './button';
import VxeButtonGroup from './button-group';
import VxeCalendar from './calendar';
import VxeCard from './card';
import VxeCarousel from './carousel';
import VxeCarouselItem from './carousel-item';
import VxeCascader from './cascader';
import VxeCheckbox from './checkbox';
import VxeCheckboxButton from './checkbox-button';
import VxeCheckboxGroup from './checkbox-group';
import VxeCol from './col';
import VxeCollapse from './collapse';
import VxeCollapsePane from './collapse-pane';
import VxeColorPicker from './color-picker';
import VxeCountdown from './countdown';
import VxeDatePanel from './date-panel';
import VxeDatePicker from './date-picker';
import VxeDateRangePicker from './date-range-picker';
import VxeDrawer, { DrawerController } from './drawer';
import VxeEmpty from './empty';
import VxeForm from './form';
import VxeFormGather from './form-gather';
import VxeFormGroup from './form-group';
import VxeFormItem from './form-item';
import VxeIcon from './icon';
import VxeIconPicker from './icon-picker';
import VxeImage from './image';
import VxeImageGroup from './image-group';
import VxeImagePreview from './image-preview';
import VxeInput from './input';
import VxeLayoutAside from './layout-aside';
import VxeLayoutBody from './layout-body';
import VxeLayoutContainer from './layout-container';
import VxeLayoutFooter from './layout-footer';
import VxeLayoutHeader from './layout-header';
import VxeLink from './link';
import VxeList from './list';
import VxeLoading, { LoadingController } from './loading';
import VxeMenu from './menu';
import VxeModal, { ModalController } from './modal';
import VxeNoticeBar from './notice-bar';
import VxeNumberInput from './number-input';
import VxeOptgroup from './optgroup';
import VxeOption from './option';
import VxePager from './pager';
import VxePasswordInput from './password-input';
import VxePrintPageBreak from './print-page-break';
import VxePrint from './print';
import VxePulldown from './pulldown';
import VxeRadio from './radio';
import VxeRadioButton from './radio-button';
import VxeRadioGroup from './radio-group';
import VxeRate from './rate';
import VxeResult from './result';
import VxeRow from './row';
import VxeSegmented from './segmented';
import VxeSelect from './select';
import VxeSplitter from './splitter';
import VxeSplitterPanel from './splitter-panel';
import VxeSplit from './split';
import VxeSplitPane from './split-pane';
import VxeSlider from './slider';
import VxeSteps from './steps';
import VxeSwitch from './switch';
import VxeTabPane from './tab-pane';
import VxeTableSelect from './table-select';
import VxeTabs from './tabs';
import VxeTag from './tag';
import VxeTextEllipsis from './text-ellipsis';
import VxeText from './text';
import VxeTextarea from './textarea';
import VxeTimeline from './timeline';
import VxeTimelineItem from './timeline-item';
import VxeTip from './tip';
import VxeTooltip from './tooltip';
import VxeTour from './tour';
import VxeTree from './tree';
import VxeTreeSelect from './tree-select';
import VxeUpload from './upload';
import VxeWatermark, { WatermarkController } from './watermark';
import { saveLocalFile, readLocalFile } from './upload/src/util';
import { printHtml } from './print/src/util';
const { setI18n, setLanguage, setTheme, setConfig } = VxeUI;
const components = [
    VxeAlert,
    VxeAnchor,
    VxeAnchorLink,
    VxeAvatar,
    VxeBacktop,
    VxeBadge,
    VxeBreadcrumb,
    VxeBreadcrumbItem,
    VxeButton,
    VxeButtonGroup,
    VxeCalendar,
    VxeCard,
    VxeCarousel,
    VxeCarouselItem,
    VxeCascader,
    VxeCheckbox,
    VxeCheckboxButton,
    VxeCheckboxGroup,
    VxeCol,
    VxeCollapse,
    VxeCollapsePane,
    VxeColorPicker,
    VxeCountdown,
    VxeDatePanel,
    VxeDatePicker,
    VxeDateRangePicker,
    VxeDrawer,
    VxeEmpty,
    VxeForm,
    VxeFormGather,
    VxeFormGroup,
    VxeFormItem,
    VxeIcon,
    VxeIconPicker,
    VxeImage,
    VxeImageGroup,
    VxeImagePreview,
    VxeInput,
    VxeLayoutAside,
    VxeLayoutBody,
    VxeLayoutContainer,
    VxeLayoutFooter,
    VxeLayoutHeader,
    VxeLink,
    VxeList,
    VxeLoading,
    VxeMenu,
    VxeModal,
    VxeNoticeBar,
    VxeNumberInput,
    VxeOptgroup,
    VxeOption,
    VxePager,
    VxePasswordInput,
    VxePrintPageBreak,
    VxePrint,
    VxePulldown,
    VxeRadio,
    VxeRadioButton,
    VxeRadioGroup,
    VxeRate,
    VxeResult,
    VxeRow,
    VxeSegmented,
    VxeSelect,
    VxeSplitter,
    VxeSplitterPanel,
    VxeSplit,
    VxeSplitPane,
    VxeSlider,
    VxeSteps,
    VxeSwitch,
    VxeTabPane,
    VxeTableSelect,
    VxeTabs,
    VxeTag,
    VxeTextEllipsis,
    VxeText,
    VxeTextarea,
    VxeTimeline,
    VxeTimelineItem,
    VxeTip,
    VxeTooltip,
    VxeTour,
    VxeTree,
    VxeTreeSelect,
    VxeUpload,
    VxeWatermark
];
export function install(app, options) {
    setConfig(options);
    components.forEach(component => app.use(component));
}
// 默认中文
const defaultLanguage = 'zh-CN';
setI18n(defaultLanguage, zhCN);
setLanguage(defaultLanguage);
setTheme('light');
// 兼容老版本
export const loading = LoadingController;
export const modal = ModalController;
export const drawer = DrawerController;
export const watermark = WatermarkController;
export const print = printHtml;
export const saveFile = saveLocalFile;
export const readFile = readLocalFile;
export * from './ui';
// Components
export * from './alert';
export * from './anchor';
export * from './anchor-link';
export * from './avatar';
export * from './backtop';
export * from './badge';
export * from './breadcrumb';
export * from './breadcrumb-item';
export * from './button';
export * from './button-group';
export * from './calendar';
export * from './card';
export * from './carousel';
export * from './carousel-item';
export * from './cascader';
export * from './checkbox';
export * from './checkbox-button';
export * from './checkbox-group';
export * from './col';
export * from './collapse';
export * from './collapse-pane';
export * from './color-picker';
export * from './countdown';
export * from './date-panel';
export * from './date-picker';
export * from './date-range-picker';
export * from './drawer';
export * from './empty';
export * from './form';
export * from './form-gather';
export * from './form-group';
export * from './form-item';
export * from './icon';
export * from './icon-picker';
export * from './image';
export * from './image-group';
export * from './image-preview';
export * from './input';
export * from './layout-aside';
export * from './layout-body';
export * from './layout-container';
export * from './layout-footer';
export * from './layout-header';
export * from './link';
export * from './list';
export * from './loading';
export * from './menu';
export * from './modal';
export * from './notice-bar';
export * from './number-input';
export * from './optgroup';
export * from './option';
export * from './pager';
export * from './password-input';
export * from './print-page-break';
export * from './print';
export * from './pulldown';
export * from './radio';
export * from './radio-button';
export * from './radio-group';
export * from './rate';
export * from './result';
export * from './row';
export * from './segmented';
export * from './select';
export * from './splitter';
export * from './splitter-panel';
export * from './split';
export * from './split-pane';
export * from './slider';
export * from './steps';
export * from './switch';
export * from './tab-pane';
export * from './table-select';
export * from './tabs';
export * from './tag';
export * from './text-ellipsis';
export * from './text';
export * from './textarea';
export * from './timeline';
export * from './timeline-item';
export * from './tip';
export * from './tooltip';
export * from './tour';
export * from './tree';
export * from './tree-select';
export * from './upload';
export * from './watermark';
