import GnAccordion from "./components/GnAccordion.js";
import GnActivityLog from "./components/GnActivityLog.js";
import GnAlert from "./components/GnAlert.js";
import GnAvatar from "./components/GnAvatar.js";
import GnAvatarStack from "./components/GnAvatarStack.js";
import GnBadge from "./components/GnBadge.js";
import GnButton from "./components/GnButton.js";
import GnCard from "./components/GnCard.js";
import GnCheckbox from "./components/GnCheckbox.js";
import GnChip from "./components/GnChip.js";
import GnChipGroup from "./components/GnChipGroup.js";
import GnConfirmDialog from "./components/GnConfirmDialog.js";
import GnDescriptionList from "./components/GnDescriptionList.js";
import GnDrawer from "./components/GnDrawer.js";
import GnEmptyState from "./components/GnEmptyState.js";
import GnIconButton from "./components/GnIconButton.js";
import GnIdentity from "./components/GnIdentity.js";
import GnInput from "./components/GnInput.js";
import GnInputGroup from "./components/GnInputGroup.js";
import GnModal from "./components/GnModal.js";
import GnPageHeader from "./components/GnPageHeader.js";
import GnPagination from "./components/GnPagination.js";
import GnProgress from "./components/GnProgress.js";
import GnSearchField from "./components/GnSearchField.js";
import GnSelect from "./components/GnSelect.js";
import GnSkeleton from "./components/GnSkeleton.js";
import GnSteps from "./components/GnSteps.js";
import GnSwitch from "./components/GnSwitch.js";
import GnTable from "./components/GnTable.js";
import GnTabs from "./components/GnTabs.js";
import GnTextarea from "./components/GnTextarea.js";
import GnTimeline from "./components/GnTimeline.js";
import GnToolbar from "./components/GnToolbar.js";
import GnToastProvider from "./components/GnToastProvider.js";

export const components = {
	GnAccordion,
	GnActivityLog,
	GnAlert,
	GnAvatar,
	GnAvatarStack,
	GnBadge,
	GnButton,
	GnCard,
	GnCheckbox,
	GnChip,
	GnChipGroup,
	GnConfirmDialog,
	GnDescriptionList,
	GnDrawer,
	GnEmptyState,
	GnIconButton,
	GnIdentity,
	GnInput,
	GnInputGroup,
	GnModal,
	GnPageHeader,
	GnPagination,
	GnProgress,
	GnSearchField,
	GnSelect,
	GnSkeleton,
	GnSteps,
	GnSwitch,
	GnTable,
	GnTabs,
	GnTextarea,
	GnTimeline,
	GnToolbar,
	GnToastProvider
};

export default {
	install(app) {
		Object.entries(components).forEach(([name, component]) => {
			app.component(name, component);
		});
	}
};
