import Helper from "./components/helper.js";
import Toasts from "./components/toasts.js";
import Modals from "./components/modals.js";
import advancedSelect from "./components/advanced-select.js";
import editableString from "./components/editable-string.js";
import confirmPopup from "./components/confirm-popup.js";
import Drawer from "./components/drawer.js";
import NavigationShell from "./components/navigation-shell.js";
import Overlays from "./components/overlays.js";
import InputPatterns from "./components/input-patterns.js";
import Accordion from "./components/accordion.js";
import Tabs from "./components/tabs.js";
import demoNavigation from "./demo-navigation.js";
import codeExamples from "./code-examples.js";

const api = {
  Helper,
  Toasts,
  Modals,
  advancedSelect,
  editableString,
  confirmPopup,
  Drawer,
  NavigationShell,
  Overlays,
  InputPatterns,
  Accordion,
  Tabs
};

window.GNexusUIKit = api;
Object.assign(window, api);

document.addEventListener("DOMContentLoaded", () => {
  Overlays.init();
  NavigationShell.init();
  InputPatterns.init();
  Accordion.init();
  Tabs.init();
  demoNavigation();
  codeExamples();
});

export {
  Helper,
  Toasts,
  Modals,
  advancedSelect,
  editableString,
  confirmPopup,
  Drawer,
  NavigationShell,
  Overlays,
  InputPatterns,
  Accordion,
  Tabs
};

export default api;
