{"version":3,"file":"SitewideSetup.mjs","sourceRoot":"","sources":["../../../Pages/Sitewide/SitewideSetup.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAgBnE,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAK/C,MAAM,wBAAwB,GAAuB,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAEhG,MAAM,uBAAuB,GAAY,wBAAwB,KAAK,IAAI,CAAC;IAC3E,IAAI,uBAAuB,EAC3B;QACI,wBAAyB,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QAC5E,wBAAyB,CAAC,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,eAAe,CAAC,0CAA0C,CAAC,KAAsB,CAAC,CAAC;KAC5I;IAGD,MAAM,wCAAwC,GAAkB,CAAC,GAAG,QAAQ,CAAC,sBAAsB,CAAC,6BAA6B,CAAC,CAAkB,CAAC;IACrJ,wCAAwC,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE;QAG/E,MAAM,WAAW,GAAW,+BAA+B,CAAC,YAAY,CAAC,6BAA6B,CAAE,CAAC;QACzG,+BAA+B,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IAGH,MAAM,qBAAqB,GAAgB,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAE,CAAC;IACpF,qBAAqB,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAG5D,kBAAkB,CAAC,UAAU,EAAE,CAAC;AACpC,CAAC,CAAC,CAAC","sourcesContent":["import { HamburgerButton } from \"Pages/Sitewide/HamburgerButton.mjs\";\nimport { NavigationMenu } from \"Pages/Sitewide/NavigationMenu.mjs\";\nimport { ToastNotifications } from \"Scripts/ToastNotifications.js\";\n\n// ALLOW ION-ICONS TO BE USED IN REACT COMPONENTS.\n// Without this declaration, TypeScript will raise an error about the use of the \"ion-icon\" web component in React components.\ndeclare global\n{\n namespace JSX\n {\n interface IntrinsicElements\n {\n \"ion-icon\": any;\n }\n }\n}\n\n// PERFORM THE SITEWIDE SETUP WHEN THE DOM LOADS.\ndocument.addEventListener(\"DOMContentLoaded\", () =>\n{\n // ADD THE EVENT LISTENERS TO SUPPORT THE HAMBURGER BUTTON.\n // The hamburger button is used to toggle the visibility of the navigation menu.\n // This should occur when it is clicked, or when the enter key is pressed while it is focused.\n const hamburger_button_element: HTMLElement | null = document.getElementById(\"HamburgerButton\");\n // The hamburger button may not exist if the site is being shown to an unauthenticated user.\n const hamburger_button_exists: boolean = hamburger_button_element !== null;\n if (hamburger_button_exists)\n {\n hamburger_button_element!.onclick = () => NavigationMenu.ToggleVisibility();\n hamburger_button_element!.onkeyup = (event: Event) => HamburgerButton.ToggleNavigationMenuVisibilityWithEnterKey(event as KeyboardEvent);\n }\n\n // ADD THE EVENT LISTENERS TO SUPPORT THE NAVIGATION SUB-MENUS.\n const navigation_sub_menu_toggle_link_elements: HTMLElement[] = [...document.getElementsByClassName(\"toggles-navigation-sub-menu\")] as HTMLElement[];\n navigation_sub_menu_toggle_link_elements.forEach(navigation_sub_menu_toggle_link =>\n {\n // ADD THE EVENT LISTENER TO TOGGLE THE ASSOCIATED SUB-MENU.\n const sub_menu_id: string = navigation_sub_menu_toggle_link.getAttribute(\"data-navigation-sub-menu-id\")!;\n navigation_sub_menu_toggle_link.onclick = () => NavigationMenu.ToggleSubMenuVisibility(sub_menu_id);\n });\n\n // ADD THE EVENT LISTENERS TO SUPPORT THE MODAL OVERLAY.\n const modal_overlay_element: HTMLElement = document.getElementById(\"ModalOverlay\")!;\n modal_overlay_element.onclick = () => NavigationMenu.Hide();\n\n // INITIALIZE THE TOAST NOTIFICATIONS FOR THE WEBSITE.\n ToastNotifications.Initialize();\n});\n"]}