import ExportSidebarDetail from '@/views/private/components/export-sidebar-detail.vue';
import RenderDisplay from '@/views/private/components/render-display.vue';
import RenderTemplate from '@/views/private/components/render-template.vue';
import SidebarDetail from '@/views/private/components/sidebar-detail.vue';
import UserPopover from '@/views/private/components/user-popover.vue';
import ValueNull from '@/views/private/components/value-null.vue';
import DrawerCollection from '@/views/private/components/drawer-collection.vue';
import DrawerFiles from '@/views/private/components/drawer-files.vue';
import DrawerItem from '@/views/private/components/drawer-item.vue';
import DrawerBatch from '@/views/private/components/drawer-batch.vue';
import { App } from 'vue';
import TransitionBounce from './transition/bounce.vue';
import TransitionDialog from './transition/dialog.vue';
import TransitionExpand from './transition/expand.vue';
import VAvatar from './v-avatar.vue';
import VBadge from './v-badge.vue';
import VBreadcrumb from './v-breadcrumb.vue';
import VButton from './v-button.vue';
import VCard from './v-card.vue';
import VCardActions from './v-card-actions.vue';
import VCardSubtitle from './v-card-subtitle.vue';
import VCardText from './v-card-text.vue';
import VCardTitle from './v-card-title.vue';
import VCheckbox from './v-checkbox.vue';
import VCheckboxTree from './v-checkbox-tree/v-checkbox-tree.vue';
import VChip from './v-chip.vue';
import VDetail from './v-detail.vue';
import VDialog from './v-dialog.vue';
import VDivider from './v-divider.vue';
import VDrawer from './v-drawer.vue';
import VError from './v-error.vue';
import VFancySelect from './v-fancy-select.vue';
import VFieldTemplate from './v-field-template/v-field-template.vue';
import VCollectionFieldTemplate from './v-collection-field-template.vue';
import VFieldList from './v-field-list/v-field-list.vue';
import VForm from './v-form/v-form.vue';
import VHover from './v-hover.vue';
import VHighlight from './v-highlight.vue';
import VIcon from './v-icon/v-icon.vue';
import VImage from './v-image.vue';
import VIconFile from './v-icon-file.vue';
import VInfo from './v-info.vue';
import VInput from './v-input.vue';
import VItemGroup from './v-item-group.vue';
import VItem from './v-item.vue';
import VList from './v-list.vue';
import VListGroup from './v-list-group.vue';
import VListItem from './v-list-item.vue';
import VListItemContent from './v-list-item-content.vue';
import VListItemHint from './v-list-item-hint.vue';
import VListItemIcon from './v-list-item-icon.vue';
import VMenu from './v-menu.vue';
import VNotice from './v-notice.vue';
import VOverlay from './v-overlay.vue';
import VPagination from './v-pagination.vue';
import VProgressCircular from './v-progress-circular.vue';
import VProgressLinear from './v-progress-linear.vue';
import VRadio from './v-radio.vue';
import VRemove from './v-remove.vue';
import VResizeable from './v-resizeable.vue';
import VSelect from './v-select/v-select.vue';
import VSheet from './v-sheet.vue';
import VSkeletonLoader from './v-skeleton-loader.vue';
import VSlider from './v-slider.vue';
import VTable from './v-table/v-table.vue';
import VTabs from './v-tabs.vue';
import VTab from './v-tab.vue';
import VTabItem from './v-tab-item.vue';
import VTabsItems from './v-tabs-items.vue';
import VTemplateInput from './v-template-input.vue';
import VTextOverflow from './v-text-overflow.vue';
import VTextarea from './v-textarea.vue';
import VUpload from './v-upload.vue';
import VDatePicker from './v-date-picker.vue';
import VEmojiPicker from './v-emoji-picker.vue';
import VWorkspace from './v-workspace.vue';
import VWorkspaceTile from './v-workspace-tile.vue';
import VErrorBoundary from './v-error-boundary.vue';

export function registerComponents(app: App): void {
	app.component('VAvatar', VAvatar);
	app.component('VBadge', VBadge);
	app.component('VBreadcrumb', VBreadcrumb);
	app.component('VButton', VButton);
	app.component('VCardActions', VCardActions);
	app.component('VCardSubtitle', VCardSubtitle);
	app.component('VCardText', VCardText);
	app.component('VCardTitle', VCardTitle);
	app.component('VCard', VCard);
	app.component('VCheckbox', VCheckbox);
	app.component('VCheckboxTree', VCheckboxTree);
	app.component('VChip', VChip);
	app.component('VDetail', VDetail);
	app.component('VDialog', VDialog);
	app.component('VDivider', VDivider);
	app.component('VError', VError);
	app.component('VFancySelect', VFancySelect);
	app.component('VFieldTemplate', VFieldTemplate);
	app.component('VCollectionFieldTemplate', VCollectionFieldTemplate);
	app.component('VFieldList', VFieldList);
	app.component('VForm', VForm);
	app.component('VHover', VHover);
	app.component('VHighlight', VHighlight);
	app.component('VIcon', VIcon);
	app.component('VImage', VImage);
	app.component('VIconFile', VIconFile);
	app.component('VInfo', VInfo);
	app.component('VInput', VInput);
	app.component('VItemGroup', VItemGroup);
	app.component('VItem', VItem);
	app.component('VListGroup', VListGroup);
	app.component('VListItemContent', VListItemContent);
	app.component('VListItemHint', VListItemHint);
	app.component('VListItemIcon', VListItemIcon);
	app.component('VRemove', VRemove);
	app.component('VListItem', VListItem);
	app.component('VList', VList);
	app.component('VMenu', VMenu);
	app.component('VDrawer', VDrawer);
	app.component('VNotice', VNotice);
	app.component('VOverlay', VOverlay);
	app.component('VPagination', VPagination);
	app.component('VProgressCircular', VProgressCircular);
	app.component('VProgressLinear', VProgressLinear);
	app.component('VRadio', VRadio);
	app.component('VResizeable', VResizeable);
	app.component('VSelect', VSelect);
	app.component('VSheet', VSheet);
	app.component('VSkeletonLoader', VSkeletonLoader);
	app.component('VSlider', VSlider);
	app.component('VTabItem', VTabItem);
	app.component('VTab', VTab);
	app.component('VTable', VTable);
	app.component('VTabsItems', VTabsItems);
	app.component('VTabs', VTabs);
	app.component('VTemplateInput', VTemplateInput);
	app.component('VTextarea', VTextarea);
	app.component('VTextOverflow', VTextOverflow);
	app.component('VUpload', VUpload);
	app.component('VDatePicker', VDatePicker);
	app.component('VEmojiPicker', VEmojiPicker);
	app.component('VWorkspace', VWorkspace);
	app.component('VWorkspaceTile', VWorkspaceTile);
	app.component('VErrorBoundary', VErrorBoundary);

	app.component('TransitionBounce', TransitionBounce);
	app.component('TransitionDialog', TransitionDialog);
	app.component('TransitionExpand', TransitionExpand);

	app.component('RenderDisplay', RenderDisplay);
	app.component('RenderTemplate', RenderTemplate);
	app.component('ExportSidebarDetail', ExportSidebarDetail);
	app.component('SidebarDetail', SidebarDetail);
	app.component('UserPopover', UserPopover);
	app.component('ValueNull', ValueNull);
	app.component('DrawerCollection', DrawerCollection);
	app.component('DrawerFiles', DrawerFiles);
	app.component('DrawerItem', DrawerItem);
	app.component('DrawerBatch', DrawerBatch);
}
