main.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { formatDocs } from './docs-formatting';
  2. // import { initGraphQlPlaygroundWidgets } from './graphql-playground-widget';
  3. import { initNavMenu } from './nav-menu';
  4. import { SearchWidget } from './search-widget';
  5. import { initTabs } from './tabs';
  6. import { TocHighlighter } from './toc-highlighter';
  7. import 'alpinejs';
  8. import { popover } from './alpine-components/popover';
  9. import { scrollSpy } from './alpine-components/scroll-spy';
  10. window.Components = {};
  11. window.Components.popover = popover;
  12. window.Components.scrollSpy = scrollSpy;
  13. // tslint:disable-next-line
  14. require('../styles/main.scss');
  15. document.addEventListener(
  16. 'DOMContentLoaded',
  17. async () => {
  18. const toc = document.querySelector('#TableOfContents') as HTMLDivElement;
  19. const tocHighlighter = new TocHighlighter(toc);
  20. tocHighlighter.highlight();
  21. const searchInput = document.querySelector('#searchInput') as HTMLInputElement;
  22. const autocompleteWrapper = document.querySelector('#autocomplete-wrapper') as HTMLDivElement;
  23. const searchTrigger = document.querySelector('#searchInputTrigger') as HTMLInputElement;
  24. const searchOverlay = document.querySelector('#searchOverlay') as HTMLDivElement;
  25. if (searchTrigger) {
  26. const searchWidget = new SearchWidget(
  27. searchInput,
  28. autocompleteWrapper,
  29. searchOverlay,
  30. searchTrigger,
  31. );
  32. }
  33. initTabs();
  34. initNavMenu();
  35. formatDocs();
  36. },
  37. false,
  38. );