import EksAlert, { Alert } from 'eks-alert/src';
import EksBadge, { Badge } from 'eks-badge/src';
import EksBreadcrumb, { Breadcrumb, BreadcrumbItem } from 'eks-breadcrumb/src';
import EksButton, { Button, ButtonGroup } from 'eks-button/src';
import EksCard, { Card } from 'eks-card/src';
import EksCarousel, { Carousel } from 'eks-carousel/src';
import EksCascader, { Cascader } from 'eks-cascader/src';
import EksCheckbox, { Checkbox } from 'eks-checkbox/src';
import EksCol, { Col } from 'eks-col/src';
import EksCollapse, { Collapse } from 'eks-collapse/src';
import EksContainer, { Container } from 'eks-container/src';
import EksDropdown, { Dropdown, DropdownItem } from 'eks-dropdown/src';
import EksIcon, { feather, Icon } from 'eks-icon/src';
import EksInput, { Input, InputGroup } from 'eks-input/src';
import EksLoading, { Loading, LoadingDirective } from 'eks-loading/src';
import EksNumberInput, { NumberInput } from 'eks-number-input/src';
import EksPopover, { Popover, PopoverDirective, Popper } from 'eks-popover/src';
import EksProgress, { Progress } from 'eks-progress/src';
import EksRadio, { Radio } from 'eks-radio/src';
import EksRate, { Rate } from 'eks-rate/src';
import EksRow, { Row } from 'eks-row/src';
import EksSelect, { Select } from 'eks-select/src';
import EksSlider, { Slider } from 'eks-slider/src';
import EksStep, { Step, StepItem } from 'eks-step/src';
import EksSwitch, { Switch } from 'eks-switch/src';
import EksTable, { Table } from 'eks-table/src';
import EksTag, { Tag } from 'eks-tag/src';
import EksTextarea, { Textarea } from 'eks-textarea/src';
import EksTooltip, { Tooltip, TooltipDirective } from 'eks-tooltip/src';
import EksTree, { Tree } from 'eks-tree/src';
import EksUpload, { Upload } from 'eks-upload/src';

export default {
  Alert,
  Badge,
  Breadcrumb,
  BreadcrumbItem,
  Button,
  ButtonGroup,
  Card,
  Carousel,
  Cascader,
  Checkbox,
  Col,
  Collapse,
  Container,
  Dropdown,
  DropdownItem,
  Icon,
  Input,
  InputGroup,
  Loading,
  LoadingDirective,
  NumberInput,
  Popover,
  PopoverDirective,
  Popper,
  Progress,
  Radio,
  Rate,
  Row,
  Select,
  Slider,
  Step,
  StepItem,
  Switch,
  Table,
  Tag,
  Textarea,
  Tooltip,
  TooltipDirective,
  Tree,
  Upload,
  feather,

  install(Vue: any) {
    Vue.use(EksAlert);
    Vue.use(EksBadge);
    Vue.use(EksBreadcrumb);
    Vue.use(EksButton);
    Vue.use(EksCard);
    Vue.use(EksCarousel);
    Vue.use(EksCascader);
    Vue.use(EksCheckbox);
    Vue.use(EksCol);
    Vue.use(EksCollapse);
    Vue.use(EksContainer);
    Vue.use(EksDropdown);
    Vue.use(EksIcon);
    Vue.use(EksInput);
    Vue.use(EksLoading);
    Vue.use(EksNumberInput);
    Vue.use(EksPopover);
    Vue.use(EksProgress);
    Vue.use(EksRadio);
    Vue.use(EksRate);
    Vue.use(EksRow);
    Vue.use(EksSelect);
    Vue.use(EksSlider);
    Vue.use(EksStep);
    Vue.use(EksSwitch);
    Vue.use(EksTable);
    Vue.use(EksTag);
    Vue.use(EksTextarea);
    Vue.use(EksTooltip);
    Vue.use(EksTree);
    Vue.use(EksUpload);
  },
};
export {
  Alert,
  Badge,
  Breadcrumb,
  BreadcrumbItem,
  Button,
  ButtonGroup,
  Card,
  Carousel,
  Cascader,
  Checkbox,
  Col,
  Collapse,
  Container,
  Dropdown,
  DropdownItem,
  Icon,
  Input,
  InputGroup,
  Loading,
  LoadingDirective,
  NumberInput,
  Popover,
  PopoverDirective,
  Popper,
  Progress,
  Radio,
  Rate,
  Row,
  Select,
  Slider,
  Step,
  StepItem,
  Switch,
  Table,
  Tag,
  Textarea,
  Tooltip,
  TooltipDirective,
  Tree,
  Upload,
  feather,
};
