import GnAccordion from "./components/GnAccordion.js";
import GnActionCard from "./components/GnActionCard.js";
import GnActionList from "./components/GnActionList.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 GnCopyButton from "./components/GnCopyButton.js";
import GnChipGroup from "./components/GnChipGroup.js";
import GnCombobox from "./components/GnCombobox.js";
import GnConfirmDialog from "./components/GnConfirmDialog.js";
import GnDescriptionList from "./components/GnDescriptionList.js";
import GnDefinitionList from "./components/GnDefinitionList.js";
import GnDropdown from "./components/GnDropdown.js";
import GnDrawer from "./components/GnDrawer.js";
import GnEmptyState from "./components/GnEmptyState.js";
import GnFileUpload from "./components/GnFileUpload.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 GnList from "./components/GnList.js";
import GnLoader from "./components/GnLoader.js";
import GnLoginCard from "./components/GnLoginCard.js";
import GnMetricCard from "./components/GnMetricCard.js";
import GnModal from "./components/GnModal.js";
import GnNavList from "./components/GnNavList.js";
import GnNavigationShell from "./components/GnNavigationShell.js";
import GnPageHeader from "./components/GnPageHeader.js";
import GnHorizontalCard from "./components/GnHorizontalCard.js";
import GnPagination from "./components/GnPagination.js";
import GnPopover from "./components/GnPopover.js";
import GnProgress from "./components/GnProgress.js";
import GnProgressStages from "./components/GnProgressStages.js";
import GnRadio from "./components/GnRadio.js";
import GnRadioGroup from "./components/GnRadioGroup.js";
import GnRange from "./components/GnRange.js";
import GnRouterTabs from "./components/GnRouterTabs.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 GnStatusCard from "./components/GnStatusCard.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 GnTooltip from "./components/GnTooltip.js";
import GnToolbar from "./components/GnToolbar.js";
import GnToastProvider from "./components/GnToastProvider.js";
import GnUsageMeter from "./components/GnUsageMeter.js";

export const components = {
	GnAccordion,
	GnActionCard,
	GnActionList,
	GnActivityLog,
	GnAlert,
	GnAvatar,
	GnAvatarStack,
	GnBadge,
	GnButton,
	GnCard,
	GnCheckbox,
	GnChip,
	GnChipGroup,
	GnCopyButton,
	GnCombobox,
	GnConfirmDialog,
	GnDescriptionList,
	GnDefinitionList,
	GnDropdown,
	GnDrawer,
	GnEmptyState,
	GnFileUpload,
	GnIconButton,
	GnIdentity,
	GnInput,
	GnInputGroup,
	GnList,
	GnLoader,
	GnLoginCard,
	GnMetricCard,
	GnModal,
	GnNavList,
	GnNavigationShell,
	GnPageHeader,
	GnHorizontalCard,
	GnPagination,
	GnPopover,
	GnProgress,
	GnProgressStages,
	GnRadio,
	GnRadioGroup,
	GnRange,
	GnRouterTabs,
	GnSearchField,
	GnSelect,
	GnSkeleton,
	GnSteps,
	GnStatusCard,
	GnSwitch,
	GnTable,
	GnTabs,
	GnTextarea,
	GnTimeline,
	GnTooltip,
	GnToolbar,
	GnToastProvider,
	GnUsageMeter
};

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