/* Automatically generated by './build/bin/build-entry.js' */

import Pagination from '../packages/pagination/index.js';
import Dialog from '../packages/dialog/index.js';
import Autocomplete from '../packages/autocomplete/index.js';
import Dropdown from '../packages/dropdown/index.js';
import DropdownMenu from '../packages/dropdown-menu/index.js';
import DropdownItem from '../packages/dropdown-item/index.js';
import Menu from '../packages/menu/index.js';
import Submenu from '../packages/submenu/index.js';
import MenuItem from '../packages/menu-item/index.js';
import MenuItemGroup from '../packages/menu-item-group/index.js';
import Input from '../packages/input/index.js';
import InputNumber from '../packages/input-number/index.js';
import Radio from '../packages/radio/index.js';
import RadioGroup from '../packages/radio-group/index.js';
import RadioButton from '../packages/radio-button/index.js';
import Checkbox from '../packages/checkbox/index.js';
import CheckboxButton from '../packages/checkbox-button/index.js';
import CheckboxGroup from '../packages/checkbox-group/index.js';
import Switch from '../packages/switch/index.js';
import Select from '../packages/select/index.js';
import Option from '../packages/option/index.js';
import OptionGroup from '../packages/option-group/index.js';
import Button from '../packages/button/index.js';
import ButtonGroup from '../packages/button-group/index.js';
import Table from '../packages/table/index.js';
import TableColumn from '../packages/table-column/index.js';
import DatePicker from '../packages/date-picker/index.js';
import TimeSelect from '../packages/time-select/index.js';
import TimePicker from '../packages/time-picker/index.js';
import Popover from '../packages/popover/index.js';
import Tooltip from '../packages/tooltip/index.js';
import MessageBox from '../packages/message-box/index.js';
import Breadcrumb from '../packages/breadcrumb/index.js';
import BreadcrumbItem from '../packages/breadcrumb-item/index.js';
import Form from '../packages/form/index.js';
import FormItem from '../packages/form-item/index.js';
import Tabs from '../packages/tabs/index.js';
import TabPane from '../packages/tab-pane/index.js';
import Tag from '../packages/tag/index.js';
import Tree from '../packages/tree/index.js';
import Alert from '../packages/alert/index.js';
import Notification from '../packages/notification/index.js';
import Slider from '../packages/slider/index.js';
import Loading from '../packages/loading/index.js';
import Icon from '../packages/icon/index.js';
import Row from '../packages/row/index.js';
import Col from '../packages/col/index.js';
import Upload from '../packages/upload/index.js';
import Progress from '../packages/progress/index.js';
import Spinner from '../packages/spinner/index.js';
import Message from '../packages/message/index.js';
import Badge from '../packages/badge/index.js';
import Card from '../packages/card/index.js';
import Rate from '../packages/rate/index.js';
import Steps from '../packages/steps/index.js';
import Step from '../packages/step/index.js';
import Carousel from '../packages/carousel/index.js';
import Scrollbar from '../packages/scrollbar/index.js';
import CarouselItem from '../packages/carousel-item/index.js';
import Collapse from '../packages/collapse/index.js';
import CollapseItem from '../packages/collapse-item/index.js';
import Cascader from '../packages/cascader/index.js';
import ColorPicker from '../packages/color-picker/index.js';
import Transfer from '../packages/transfer/index.js';
import Container from '../packages/container/index.js';
import Header from '../packages/header/index.js';
import Aside from '../packages/aside/index.js';
import Main from '../packages/main/index.js';
import Footer from '../packages/footer/index.js';
import Timeline from '../packages/timeline/index.js';
import TimelineItem from '../packages/timeline-item/index.js';
import Link from '../packages/link/index.js';
import Divider from '../packages/divider/index.js';
import Image from '../packages/image/index.js';
import Calendar from '../packages/calendar/index.js';
import Backtop from '../packages/backtop/index.js';
import InfiniteScroll from '../packages/infinite-scroll/index.js';
import PageHeader from '../packages/page-header/index.js';
import CascaderPanel from '../packages/cascader-panel/index.js';
import Avatar from '../packages/avatar/index.js';
import Drawer from '../packages/drawer/index.js';
import Popconfirm from '../packages/popconfirm/index.js';
import AosPage from '../packages/aos-page/index.js';
import AosMainContainer from '../packages/aos-main-container/index.js';
import AosAside from '../packages/aos-aside/index.js';
import AosMainTitle from '../packages/aos-main-title/index.js';
import AosButtonArea from '../packages/aos-button-area/index.js';
import AosForm from '../packages/aos-form/index.js';
import AosFormPanel from '../packages/aos-form-panel/index.js';
import AosTable from '../packages/aos-table/index.js';
import AosTableForm from '../packages/aos-table-form/index.js';
import AosTemplate from '../packages/aos-template/index.js';
import AosRef from '../packages/aos-ref/index.js';
import AosDefdoc from '../packages/aos-defdoc/index.js';
import AosNavList from '../packages/aos-nav-list/index.js';
import AosPanel from '../packages/aos-panel/index.js';
import AosPanelGroup from '../packages/aos-panel-group/index.js';
import AosPanelContain from '../packages/aos-panel-contain/index.js';
import AosBreadcrumb from '../packages/aos-breadcrumb/index.js';
import AosSearch from '../packages/aos-search/index.js';
import AosSearchOp from '../packages/aos-search-op/index.js';
import AosMoney from '../packages/aos-money/index.js';
import AosRate from '../packages/aos-rate/index.js';
import AosFlow from '../packages/aos-flow/index.js';
import AosFlowHistory from '../packages/aos-flow-history/index.js';
import AosFiles from '../packages/aos-files/index.js';
import AosFilesTree from '../packages/aos-files-tree/index.js';
import AosMain from '../packages/aos-main/index.js';
import AosMainHeader from '../packages/aos-main-header/index.js';
import AosMainBox from '../packages/aos-main-box/index.js';
import AosAudio from '../packages/aos-audio/index.js';
import AosWidgetCard from '../packages/aos-widget-card/index.js';
import AosWidgetBox from '../packages/aos-widget-box/index.js';
import AosDragBox from '../packages/aos-drag-box/index.js';
import AosCity from '../packages/aos-city/index.js';
import AosMarkdown from '../packages/aos-markdown/index.js';
import AosCountTime from '../packages/aos-count-time/index.js';
import AosCountButton from '../packages/aos-count-button/index.js';
import AosImage from '../packages/aos-image/index.js';
import AosRefLease from '../packages/aos-ref-lease/index.js';
import AosDefdocLease from '../packages/aos-defdoc-lease/index.js';
import AosTableInline from '../packages/aos-table-inline/index.js';
import AosOperate from '../packages/aos-operate/index.js';
import AosTabs from '../packages/aos-tabs/index.js';
import AosPanelGroupLease from '../packages/aos-panel-group-lease/index.js';
import AosPanelLease from '../packages/aos-panel-lease/index.js';
import AosRuleDefdoc from '../packages/aos-rule-defdoc/index.js';
import AosNumberRange from '../packages/aos-number-range/index.js';
import AosDateType from '../packages/aos-date-type/index.js';
import AosMultipleInput from '../packages/aos-multiple-input/index.js';
import AosInputNumber from '../packages/aos-input-number/index.js';
import AosPhoneCall from '../packages/aos-phone-call/index.js';
import AosDynamicAlive from '../packages/aos-dynamic-alive/index.js';
import AosDynamicComponent from '../packages/aos-dynamic-component/index.js';
import AosFormView from '../packages/aos-form-view/index.js';
import AosOcr from '../packages/aos-ocr/index.js';
import AosVideo from '../packages/aos-video/index.js';
import AosTableFormInline from '../packages/aos-table-form-inline/index.js';
import locale from 'aos-element/src/locale';
import CollapseTransition from 'aos-element/src/transitions/collapse-transition';

const components = [
  Pagination,
  Dialog,
  Autocomplete,
  Dropdown,
  DropdownMenu,
  DropdownItem,
  Menu,
  Submenu,
  MenuItem,
  MenuItemGroup,
  Input,
  InputNumber,
  Radio,
  RadioGroup,
  RadioButton,
  Checkbox,
  CheckboxButton,
  CheckboxGroup,
  Switch,
  Select,
  Option,
  OptionGroup,
  Button,
  ButtonGroup,
  Table,
  TableColumn,
  DatePicker,
  TimeSelect,
  TimePicker,
  Popover,
  Tooltip,
  Breadcrumb,
  BreadcrumbItem,
  Form,
  FormItem,
  Tabs,
  TabPane,
  Tag,
  Tree,
  Alert,
  Slider,
  Icon,
  Row,
  Col,
  Upload,
  Progress,
  Spinner,
  Badge,
  Card,
  Rate,
  Steps,
  Step,
  Carousel,
  Scrollbar,
  CarouselItem,
  Collapse,
  CollapseItem,
  Cascader,
  ColorPicker,
  Transfer,
  Container,
  Header,
  Aside,
  Main,
  Footer,
  Timeline,
  TimelineItem,
  Link,
  Divider,
  Image,
  Calendar,
  Backtop,
  PageHeader,
  CascaderPanel,
  Avatar,
  Drawer,
  Popconfirm,
  AosPage,
  AosMainContainer,
  AosAside,
  AosMainTitle,
  AosButtonArea,
  AosForm,
  AosFormPanel,
  AosTable,
  AosTableForm,
  AosTemplate,
  AosRef,
  AosDefdoc,
  AosNavList,
  AosPanel,
  AosPanelGroup,
  AosPanelContain,
  AosBreadcrumb,
  AosSearch,
  AosSearchOp,
  AosMoney,
  AosRate,
  AosFlow,
  AosFlowHistory,
  AosFiles,
  AosFilesTree,
  AosMain,
  AosMainHeader,
  AosMainBox,
  AosAudio,
  AosWidgetCard,
  AosWidgetBox,
  AosDragBox,
  AosCity,
  AosMarkdown,
  AosCountTime,
  AosCountButton,
  AosImage,
  AosRefLease,
  AosDefdocLease,
  AosTableInline,
  AosOperate,
  AosTabs,
  AosPanelGroupLease,
  AosPanelLease,
  AosRuleDefdoc,
  AosNumberRange,
  AosDateType,
  AosMultipleInput,
  AosInputNumber,
  AosPhoneCall,
  AosDynamicAlive,
  AosDynamicComponent,
  AosFormView,
  AosOcr,
  AosVideo,
  AosTableFormInline,
  CollapseTransition
];

const install = function(Vue, opts = {}) {
  locale.use(opts.locale);
  locale.i18n(opts.i18n);

  components.forEach(component => {
    Vue.component(component.name, component);
  });

  Vue.use(InfiniteScroll);
  Vue.use(Loading.directive);

  Vue.prototype.$ELEMENT = {
    size: opts.size || '',
    zIndex: opts.zIndex || 2000
  };

  Vue.prototype.$loading = Loading.service;
  Vue.prototype.$msgbox = MessageBox;
  Vue.prototype.$alert = MessageBox.alert;
  Vue.prototype.$confirm = MessageBox.confirm;
  Vue.prototype.$prompt = MessageBox.prompt;
  Vue.prototype.$notify = Notification;
  Vue.prototype.$message = Message;

};

/* istanbul ignore if */
if (typeof window !== 'undefined' && window.Vue) {
  install(window.Vue);
}

export default {
  version: '2.0.151',
  locale: locale.use,
  i18n: locale.i18n,
  install,
  CollapseTransition,
  Loading,
  Pagination,
  Dialog,
  Autocomplete,
  Dropdown,
  DropdownMenu,
  DropdownItem,
  Menu,
  Submenu,
  MenuItem,
  MenuItemGroup,
  Input,
  InputNumber,
  Radio,
  RadioGroup,
  RadioButton,
  Checkbox,
  CheckboxButton,
  CheckboxGroup,
  Switch,
  Select,
  Option,
  OptionGroup,
  Button,
  ButtonGroup,
  Table,
  TableColumn,
  DatePicker,
  TimeSelect,
  TimePicker,
  Popover,
  Tooltip,
  MessageBox,
  Breadcrumb,
  BreadcrumbItem,
  Form,
  FormItem,
  Tabs,
  TabPane,
  Tag,
  Tree,
  Alert,
  Notification,
  Slider,
  Icon,
  Row,
  Col,
  Upload,
  Progress,
  Spinner,
  Message,
  Badge,
  Card,
  Rate,
  Steps,
  Step,
  Carousel,
  Scrollbar,
  CarouselItem,
  Collapse,
  CollapseItem,
  Cascader,
  ColorPicker,
  Transfer,
  Container,
  Header,
  Aside,
  Main,
  Footer,
  Timeline,
  TimelineItem,
  Link,
  Divider,
  Image,
  Calendar,
  Backtop,
  InfiniteScroll,
  PageHeader,
  CascaderPanel,
  Avatar,
  Drawer,
  Popconfirm,
  AosPage,
  AosMainContainer,
  AosAside,
  AosMainTitle,
  AosButtonArea,
  AosForm,
  AosFormPanel,
  AosTable,
  AosTableForm,
  AosTemplate,
  AosRef,
  AosDefdoc,
  AosNavList,
  AosPanel,
  AosPanelGroup,
  AosPanelContain,
  AosBreadcrumb,
  AosSearch,
  AosSearchOp,
  AosMoney,
  AosRate,
  AosFlow,
  AosFlowHistory,
  AosFiles,
  AosFilesTree,
  AosMain,
  AosMainHeader,
  AosMainBox,
  AosAudio,
  AosWidgetCard,
  AosWidgetBox,
  AosDragBox,
  AosCity,
  AosMarkdown,
  AosCountTime,
  AosCountButton,
  AosImage,
  AosRefLease,
  AosDefdocLease,
  AosTableInline,
  AosOperate,
  AosTabs,
  AosPanelGroupLease,
  AosPanelLease,
  AosRuleDefdoc,
  AosNumberRange,
  AosDateType,
  AosMultipleInput,
  AosInputNumber,
  AosPhoneCall,
  AosDynamicAlive,
  AosDynamicComponent,
  AosFormView,
  AosOcr,
  AosVideo,
  AosTableFormInline
};
