@axos-web-dev/shared-components 1.0.100-dev.73-nav → 1.0.100-dev.73-compact-executive-bio

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/dist/ATMLocator/ATMLocator.js +4 -4
  2. package/dist/Accordion/Accordion.css.js +1 -1
  3. package/dist/Accordion/Accordion.js +2 -4
  4. package/dist/AlertBanner/AlertBanner.css.js +1 -1
  5. package/dist/AlertBanner/index.js +1 -3
  6. package/dist/Article/Article.css.js +1 -1
  7. package/dist/ArticlesSet/ArticlesSet.css.js +1 -1
  8. package/dist/Auth/ErrorAlert.css.js +1 -1
  9. package/dist/Auth/ErrorAlert.js +5 -5
  10. package/dist/Auth/Logout.js +1 -1
  11. package/dist/Auth/SignIn.css.js +1 -1
  12. package/dist/Auth/SignInPassword.js +1 -1
  13. package/dist/Avatar/Avatar.module.js +1 -1
  14. package/dist/AwardsBanner/AwardsBanner.css.js +1 -1
  15. package/dist/AwardsItem/AwardsItem.css.js +1 -1
  16. package/dist/Blockquote/Blockquote.module.js +1 -1
  17. package/dist/BulletItem/BulletItem.css.js +1 -1
  18. package/dist/BulletItem/BulletItem.js +1 -3
  19. package/dist/Button/Button.css.js +1 -1
  20. package/dist/Button/Button.js +4 -4
  21. package/dist/Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js +1 -1
  22. package/dist/Calculators/ApyCalculator/ApyCalculator.css.js +1 -1
  23. package/dist/Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js +1 -1
  24. package/dist/Calculators/AxosOneCalculator/index.js +2 -4
  25. package/dist/Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js +1 -1
  26. package/dist/Calculators/BalanceAPYCalculator/index.js +2 -4
  27. package/dist/Calculators/BuyDownCalculator/BuyDownCalculator.css.js +1 -1
  28. package/dist/Calculators/BuyDownCalculator/index.js +2 -2
  29. package/dist/Calculators/Calculator.js +4 -4
  30. package/dist/Calculators/MarginTradingCalculator/MarginTradingCalculator.css.js +1 -1
  31. package/dist/Calculators/MarginTradingCalculator/index.js +2 -2
  32. package/dist/Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js +1 -1
  33. package/dist/Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js +1 -1
  34. package/dist/Calculators/SummitApyCalculator/BalanceAPYCalculator.css.js +1 -1
  35. package/dist/Calculators/SummitApyCalculator/index.js +2 -4
  36. package/dist/Calculators/calculator.css.js +1 -1
  37. package/dist/CallToActionBar/CallToActionBar.css.js +1 -1
  38. package/dist/CallToActionBar/index.js +1 -1
  39. package/dist/Carousel/Carousel.css.js +1 -1
  40. package/dist/Carousel/index.js +5 -5
  41. package/dist/Chatbot/AnimatedGradientBorder.css.js +1 -1
  42. package/dist/Chatbot/Bubble.css.js +1 -1
  43. package/dist/Chatbot/Bubble.js +1 -1
  44. package/dist/Chatbot/ChatWindow.css.js +1 -1
  45. package/dist/Chatbot/ChatWindow.js +11 -10
  46. package/dist/Chatbot/Chatbot.css.js +1 -1
  47. package/dist/Chatbot/Chatbot.d.ts +1 -1
  48. package/dist/Chatbot/Chatbot.js +30 -14
  49. package/dist/Chatbot/ChatbotMessage.js +1 -1
  50. package/dist/Chatbot/ThankYouMessage.js +2 -2
  51. package/dist/Chatbot/store/chat.d.ts +3 -0
  52. package/dist/Chatbot/store/chat.js +6 -2
  53. package/dist/Chevron/Chevron.css.js +1 -1
  54. package/dist/Chevron/index.js +5 -5
  55. package/dist/CollectInformationAlert/CollectInformationAlert.css.js +1 -1
  56. package/dist/CollectInformationAlert/index.js +1 -3
  57. package/dist/Comparison/Comparison.css.js +2 -3
  58. package/dist/Comparison/Comparison.js +5 -5
  59. package/dist/Comparison/ComparisonSet.js +1 -1
  60. package/dist/ContentBanner/ContentBanner.css.js +1 -1
  61. package/dist/DownloadTile/DownloadTile.css.js +1 -1
  62. package/dist/DownloadTile/index.js +0 -6
  63. package/dist/ExecutiveBio/ExecutiveBio.css.d.ts +1 -0
  64. package/dist/ExecutiveBio/ExecutiveBio.css.js +49 -47
  65. package/dist/ExecutiveBio/ExecutiveBio.interface.d.ts +1 -1
  66. package/dist/ExecutiveBio/ExecutiveBio.js +134 -127
  67. package/dist/ExecutiveBio/index.js +2 -1
  68. package/dist/FaqAccordion/FaqAccordion.css.js +1 -1
  69. package/dist/FaqAccordion/index.js +5 -5
  70. package/dist/FdicCallout/FdicCallout.module.js +1 -1
  71. package/dist/FooterDisclosure/FooterDisclosure.css.js +1 -1
  72. package/dist/FooterDisclosure/LVF/LaVictorieFooter.css.js +1 -1
  73. package/dist/FooterDisclosure/LVF/LaVictorieFooter.js +2 -4
  74. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.css.js +1 -1
  75. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +4 -4
  76. package/dist/Forms/ApplicationStart.js +2 -4
  77. package/dist/Forms/ApplyNow.js +5 -5
  78. package/dist/Forms/ClearingForm.js +2 -4
  79. package/dist/Forms/CommercialDeposits.js +2 -4
  80. package/dist/Forms/CommercialDepositsNoLendingOption.js +2 -4
  81. package/dist/Forms/CommercialLending.js +2 -4
  82. package/dist/Forms/CommercialPremiumFinance.js +2 -4
  83. package/dist/Forms/ConstructionLendingDynamic.js +2 -4
  84. package/dist/Forms/ContactCompany.js +2 -4
  85. package/dist/Forms/ContactCompanyTitle.js +2 -4
  86. package/dist/Forms/ContactUs.js +2 -4
  87. package/dist/Forms/ContactUsAAS.js +2 -4
  88. package/dist/Forms/ContactUsBusiness.js +5 -5
  89. package/dist/Forms/ContactUsBusinessNameEmail.js +5 -5
  90. package/dist/Forms/ContactUsLVF.js +2 -4
  91. package/dist/Forms/ContactUsNMLSId.js +5 -5
  92. package/dist/Forms/CpraRequest.js +2 -4
  93. package/dist/Forms/CraPublicFile.js +5 -5
  94. package/dist/Forms/DealerServices.js +2 -4
  95. package/dist/Forms/EmailOnly.js +5 -5
  96. package/dist/Forms/EmailUs.js +2 -4
  97. package/dist/Forms/Forms.css.js +1 -1
  98. package/dist/Forms/HoneyPot/HoneyPot.css.js +1 -1
  99. package/dist/Forms/MortgageRate/MortgageRateForm.js +5 -5
  100. package/dist/Forms/MortgageRate/MortgageRateQuoteFilters.js +1 -1
  101. package/dist/Forms/MortgageRate/MortgageRateWatch.js +4 -4
  102. package/dist/Forms/MortgageWarehouseLending.js +5 -5
  103. package/dist/Forms/QuickPricer/QuickPricerForm.js +3 -5
  104. package/dist/Forms/QuickPricer/QuickPricerResults.css.js +1 -1
  105. package/dist/Forms/QuickPricer/UserInformation.css.js +1 -1
  106. package/dist/Forms/ScheduleCall.js +2 -4
  107. package/dist/Forms/ScheduleCallPremier.js +2 -4
  108. package/dist/Forms/SuccesForm.js +4 -4
  109. package/dist/Forms/VendorQuestionnaire.js +1 -1
  110. package/dist/Forms/WcplSurvey.js +2 -4
  111. package/dist/HelpArticle/HelpArticle.css.js +1 -1
  112. package/dist/HeroBanner/HeroBanner.css.js +1 -1
  113. package/dist/HeroBanner/HeroBanner.js +3 -5
  114. package/dist/HeroBanner/LargeBanner.css.js +1 -1
  115. package/dist/HeroBanner/SelectionBanner.css.js +1 -1
  116. package/dist/Hyperlink/Hyperlink.css.js +1 -1
  117. package/dist/Hyperlink/index.js +4 -4
  118. package/dist/IconBillboard/IconBillboard.css.js +1 -1
  119. package/dist/IconBillboard/IconBillboard.js +1 -1
  120. package/dist/ImageBillboard/ImageBillboard.css.js +2 -1
  121. package/dist/ImageBillboard/ImageBillboard.js +1 -3
  122. package/dist/ImageBillboard/ImageBillboardSet.js +3 -4
  123. package/dist/ImageLink/ImageLink.css.js +1 -1
  124. package/dist/ImageLink/ImageLink.js +4 -4
  125. package/dist/ImageLink/ImageLinkSet.js +4 -4
  126. package/dist/ImageLink/index.js +4 -4
  127. package/dist/Input/Checkbox.css.js +1 -1
  128. package/dist/Input/Dropdown.css.js +1 -1
  129. package/dist/Input/Input.css.js +1 -1
  130. package/dist/Input/RadioButton.css.js +1 -1
  131. package/dist/Inputs/Input.css.js +1 -1
  132. package/dist/Insight/Featured/CategorySelector.css.js +1 -1
  133. package/dist/Insight/Featured/CategorySelector.js +6 -6
  134. package/dist/Insight/Featured/Featured.css.js +1 -1
  135. package/dist/Insight/Featured/Featured.js +5 -5
  136. package/dist/Insight/Featured/Header.css.js +1 -1
  137. package/dist/Insight/Featured/Header.js +5 -5
  138. package/dist/Insight/Insight.css.js +1 -1
  139. package/dist/Interstitial/Interstitial-variants.css.js +1 -1
  140. package/dist/Interstitial/Interstitial.module.js +1 -1
  141. package/dist/LandingPageHeader/LandingPageHeader.css.js +1 -1
  142. package/dist/LandingPageHeader/LandingPageHeader.js +1 -1
  143. package/dist/LoadingIndicator/LoadingIndicator.css.js +1 -1
  144. package/dist/Modal/Modal.css.js +1 -1
  145. package/dist/Modal/Modal.js +4 -4
  146. package/dist/Modal/contextApi/store.js +1 -1
  147. package/dist/NavigationMenu/AxosALTS/NavBar.css.js +1 -1
  148. package/dist/NavigationMenu/AxosALTS/NavBar.module.js +1 -1
  149. package/dist/NavigationMenu/AxosALTS/NavData.js +4 -4
  150. package/dist/NavigationMenu/AxosALTS/index.js +4 -4
  151. package/dist/NavigationMenu/AxosAdvisor/NavBar.css.js +1 -1
  152. package/dist/NavigationMenu/AxosAdvisor/NavBar.module.js +52 -52
  153. package/dist/NavigationMenu/AxosAdvisor/SubNavbar.css.js +1 -1
  154. package/dist/NavigationMenu/AxosAdvisorServices/NavBar.css.js +1 -1
  155. package/dist/NavigationMenu/AxosAdvisorServices/NavBar.module.js +1 -1
  156. package/dist/NavigationMenu/AxosAdvisorServices/SubNavbar.css.js +1 -1
  157. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.d.ts +1 -12
  158. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.js +153 -168
  159. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.module.js +1 -1
  160. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.d.ts +264 -37
  161. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +525 -57
  162. package/dist/NavigationMenu/AxosBank/NavBar.css.js +1 -1
  163. package/dist/NavigationMenu/AxosBank/NavBar.module.js +39 -42
  164. package/dist/NavigationMenu/AxosBank/NavData.js +4 -4
  165. package/dist/NavigationMenu/AxosBank/SubNavBar.d.ts +1 -6
  166. package/dist/NavigationMenu/AxosBank/SubNavBar.js +3106 -110
  167. package/dist/NavigationMenu/AxosBank/SubNavbar.css.js +1 -1
  168. package/dist/NavigationMenu/AxosBank/index.d.ts +4 -6
  169. package/dist/NavigationMenu/AxosBank/index.js +386 -85
  170. package/dist/NavigationMenu/AxosClearing/NavBar.css.js +1 -1
  171. package/dist/NavigationMenu/AxosClearing/NavBar.module.js +1 -1
  172. package/dist/NavigationMenu/AxosFiduciary/NavBar.module.js +1 -1
  173. package/dist/NavigationMenu/LaVictoire/NavBar.css.js +1 -1
  174. package/dist/NavigationMenu/LaVictoire/NavBar.module.js +1 -1
  175. package/dist/NavigationMenu/LaVictoire/NavData.js +4 -4
  176. package/dist/NavigationMenu/LaVictoire/index.js +4 -4
  177. package/dist/NavigationMenu/NavDataJson.js +4 -4
  178. package/dist/NavigationMenu/NavItem/index.js +1 -11
  179. package/dist/NavigationMenu/Navbar.d.ts +1 -4
  180. package/dist/NavigationMenu/Navbar.js +5 -6
  181. package/dist/NavigationMenu/SignInNavButton.js +4 -4
  182. package/dist/PageNavItem/PageNavItem.css.js +1 -1
  183. package/dist/PageNavSet/PageNavSet.js +1 -1
  184. package/dist/PageNavSet/PageNavigationSet.css.js +1 -1
  185. package/dist/Pagination/Pagination.css.js +1 -1
  186. package/dist/Pagination/Pagination.js +2 -4
  187. package/dist/SecondaryFooter/SecondaryFooter.css.js +1 -1
  188. package/dist/SecondaryFooter/index.js +1 -1
  189. package/dist/SetContainer/SetContainer.css.js +3 -1
  190. package/dist/SetContainer/SetContainer.js +5 -5
  191. package/dist/SocialMediaBar/SocialMediaBar.css.js +1 -1
  192. package/dist/SocialMediaBar/iconsRepository.js +4 -4
  193. package/dist/StepItem/StepItem.css.js +1 -1
  194. package/dist/StepItemSet/StepItemSet.css.js +1 -1
  195. package/dist/StepItemSet/StepItemSet.js +1 -1
  196. package/dist/Tab/Tab.css.js +1 -1
  197. package/dist/Table/Table.css.js +1 -1
  198. package/dist/Table/Table.d.ts +1 -1
  199. package/dist/Table/Table.js +2 -4
  200. package/dist/TextBlock/TextBlock.css.js +1 -1
  201. package/dist/TextBlock/TextBlock.js +1 -1
  202. package/dist/Topic/Topic.css.js +1 -1
  203. package/dist/TopicalNavItem/TopicalNavItem.css.js +1 -1
  204. package/dist/TopicalNavSet/TopicalNavSet.css.js +1 -1
  205. package/dist/Typography/Typography.css.js +1 -1
  206. package/dist/VideoTile/VideoTile.css.js +1 -1
  207. package/dist/VideoTile/VideoTile.js +4 -4
  208. package/dist/VideoWrapper/VideoWrapper.css.js +1 -1
  209. package/dist/VideoWrapper/index.js +4 -4
  210. package/dist/WalnutIframe/wrapper.module.js +1 -1
  211. package/dist/assets/Chatbot/ChatWindow.css +9 -4
  212. package/dist/assets/ExecutiveBio/ExecutiveBio.css +200 -153
  213. package/dist/assets/NavigationMenu/AxosAdvisor/NavBar.css.css +609 -609
  214. package/dist/assets/NavigationMenu/AxosBank/NavBar.css.css +445 -483
  215. package/dist/assets/SetContainer/SetContainer.css +25 -0
  216. package/dist/globals.css.js +1 -1
  217. package/dist/icons/ArrowIcon/ArrowIcon.css.js +1 -1
  218. package/dist/icons/CheckIcon/CheckIcon.css.js +1 -1
  219. package/dist/icons/DownloadIcon/DownloadIcon.css.js +1 -1
  220. package/dist/icons/FollowIcon/FollowIcon.css.js +1 -1
  221. package/dist/icons/Logos/AXOS.js +7 -49
  222. package/dist/icons/Star/Star.css.js +1 -1
  223. package/dist/index.css.js +1 -1
  224. package/dist/main.js +2 -1
  225. package/dist/themes/axos.css.js +1 -1
  226. package/dist/themes/premier.css.js +1 -1
  227. package/dist/themes/ufb.css.js +1 -1
  228. package/dist/themes/victorie.css.js +1 -1
  229. package/dist/utils/allowedAxosDomains.js +1 -5
  230. package/dist/utils/optimizeImage/optimizeImage.module.js +1 -1
  231. package/package.json +136 -136
  232. package/dist/Chat/Chat.d.ts +0 -4
  233. package/dist/Chat/Chat.js +0 -13
  234. package/dist/Chat/index.d.ts +0 -1
  235. package/dist/Chat/index.js +0 -5
  236. package/dist/NavigationMenu/AxosBank/DropwdownButton.d.ts +0 -7
  237. package/dist/NavigationMenu/AxosBank/DropwdownButton.js +0 -105
  238. package/dist/NavigationMenu/AxosBank/Menu.d.ts +0 -37
  239. package/dist/NavigationMenu/AxosBank/Menu.js +0 -130
  240. package/dist/NavigationMenu/AxosBank/MobileMenu/mobileReducer.d.ts +0 -36
  241. package/dist/NavigationMenu/AxosBank/MobileMenu/mobileReducer.js +0 -105
  242. package/dist/NavigationMenu/AxosBank/SubNavItem.d.ts +0 -1
  243. package/dist/NavigationMenu/AxosBank/SubNavItem.js +0 -187
  244. package/dist/NavigationMenu/utils.d.ts +0 -466
  245. package/dist/NavigationMenu/utils.js +0 -112
@@ -1,14 +1,11 @@
1
1
  "use client";
2
2
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
3
- import { findMoreAxosDomains } from "../../../utils/allowedAxosDomains.js";
4
- import { useRef, useState, useReducer, useEffect } from "react";
3
+ import { useState, useRef, useMemo, useEffect } from "react";
5
4
  import { AnimatePresence, motion } from "framer-motion";
6
- import Link from "next/link.js";
7
5
  import { usePathname } from "next/navigation.js";
8
- import { useClickAway } from "react-use";
6
+ import Link from "next/link.js";
7
+ import { menuData, getLoginGroups, getQuickLinks } from "./MobileNavData.js";
9
8
  import styles from "./MobileMenu.module.js";
10
- import { mobileData } from "./MobileNavData.js";
11
- import { MenuActions, reducer } from "./mobileReducer.js";
12
9
  const slideVariants = {
13
10
  enter: (direction) => ({
14
11
  x: direction === "forward" ? "100%" : "-100%",
@@ -27,41 +24,27 @@ const slideVariants = {
27
24
  position: "absolute"
28
25
  })
29
26
  };
30
- const initialState = {
31
- direction: "forward",
32
- isMobileMenuOpen: false,
33
- hasOpenedOnce: false,
34
- prevLevel: [],
35
- currentMenuData: null,
36
- stack: [],
37
- loginDrawer: false,
38
- loginData: {}
39
- };
40
- const MobileDrawerMenu = ({ menu }) => {
27
+ const MobileDrawerMenu = () => {
41
28
  const pathname = usePathname();
42
- const drawerRef = useRef(null);
43
- const loginRef = useRef(null);
44
- useClickAway(drawerRef, () => {
45
- dispatch({ type: MenuActions.SET_MOBILE_MENU_CLOSED, payload: {} });
46
- });
47
- useClickAway(loginRef, () => {
48
- dispatch({ type: MenuActions.SET_LOGIN_MENU_CLOSED, payload: {} });
49
- });
50
29
  const [queryString, setQueryString] = useState("");
51
- const [stack, dispatch] = useReducer(reducer, initialState);
52
- useEffect(() => {
53
- const menuProcessed = mobileData(menu);
54
- dispatch({
55
- type: MenuActions.INIT,
56
- payload: {
57
- currentMenuData: menuProcessed,
58
- stack: [{ title: "Menu", items: menuProcessed }],
59
- quickLinks: menu?.quickLinks
60
- }
61
- });
62
- }, [menu]);
30
+ const [open, setOpen] = useState(false);
31
+ const [stack, setStack] = useState([
32
+ { title: "Main Menu", items: menuData }
33
+ ]);
34
+ const [hasOpenedOnce, setHasOpenedOnce] = useState(false);
35
+ const [direction, setDirection] = useState("forward");
36
+ const [quickLinks, setQuickLinks] = useState([]);
37
+ const [loginDrawerOpen, setLoginDrawerOpen] = useState(false);
38
+ const drawerRef = useRef(null);
39
+ const loginDrawerRef = useRef(null);
40
+ const loginGroups = useMemo(() => getLoginGroups(), []);
41
+ const currentLevel = stack[stack.length - 1];
42
+ const prevLevel = stack[stack.length - 2];
63
43
  useEffect(() => {
64
44
  if (!pathname) return;
45
+ const pathnameParts = "/" + pathname.split("/")[1];
46
+ const links = getQuickLinks(pathnameParts);
47
+ setQuickLinks(links);
65
48
  }, [pathname]);
66
49
  useEffect(() => {
67
50
  if (typeof window !== "undefined") {
@@ -72,33 +55,71 @@ const MobileDrawerMenu = ({ menu }) => {
72
55
  }
73
56
  }, []);
74
57
  const handleClick = (key) => {
75
- dispatch({ type: MenuActions.ADD_TO_STACK, payload: key });
58
+ const item = currentLevel.items[key];
59
+ if (typeof item === "object") {
60
+ setDirection("forward");
61
+ setStack((prev) => [...prev, { title: key, items: item }]);
62
+ }
76
63
  };
77
64
  const handleBack = () => {
78
- if (stack.stack.length > 1) {
79
- dispatch({ type: MenuActions.REMOVE_FROM_STACK, payload: {} });
65
+ if (stack.length > 1) {
66
+ setDirection("backward");
67
+ setStack((prev) => prev.slice(0, -1));
80
68
  }
81
69
  };
82
70
  const handleToggle = () => {
83
- dispatch({ type: MenuActions.SET_HAS_OPENED_ONCE, payload: {} });
84
- dispatch({ type: MenuActions.SET_MOBILE_MENU_OPEN, payload: {} });
71
+ setOpen((prev) => {
72
+ const isOpening = !prev;
73
+ if (isOpening && !hasOpenedOnce) {
74
+ setHasOpenedOnce(true);
75
+ setStack([{ title: "Menu", items: menuData }]);
76
+ }
77
+ return isOpening;
78
+ });
85
79
  };
86
- const handleLoginDrawerOpen = () => {
87
- dispatch({ type: MenuActions.SET_LOGIN_MENU_OPEN, payload: {} });
80
+ const handleLoginDrawerOpen = () => setLoginDrawerOpen(true);
81
+ const handleLoginDrawerClose = () => setLoginDrawerOpen(false);
82
+ const handleLoginDrawerOutsideClick = (e) => {
83
+ if (loginDrawerRef.current && !loginDrawerRef.current.contains(e.target)) {
84
+ setLoginDrawerOpen(false);
85
+ }
88
86
  };
89
- const handleLoginDrawerClose = () => {
90
- dispatch({ type: MenuActions.SET_LOGIN_MENU_CLOSED, payload: {} });
87
+ const handleOutsideClick = (e) => {
88
+ if (drawerRef.current && !drawerRef.current.contains(e.target)) {
89
+ setOpen(false);
90
+ }
91
91
  };
92
+ useEffect(() => {
93
+ if (open) {
94
+ document.addEventListener("mousedown", handleOutsideClick);
95
+ } else {
96
+ document.removeEventListener("mousedown", handleOutsideClick);
97
+ }
98
+ return () => document.removeEventListener("mousedown", handleOutsideClick);
99
+ }, [open]);
100
+ useEffect(() => {
101
+ const onEsc = (e) => {
102
+ if (e.key === "Escape") setOpen(false);
103
+ };
104
+ if (open) {
105
+ document.addEventListener("keydown", onEsc);
106
+ }
107
+ return () => document.removeEventListener("keydown", onEsc);
108
+ }, [open]);
109
+ useEffect(() => {
110
+ if (!loginDrawerOpen) return;
111
+ document.addEventListener("mousedown", handleLoginDrawerOutsideClick);
112
+ return () => document.removeEventListener("mousedown", handleLoginDrawerOutsideClick);
113
+ }, [loginDrawerOpen]);
92
114
  useEffect(() => {
93
115
  const onEsc = (e) => {
94
- if (e.key === "Escape")
95
- dispatch({ type: MenuActions.SET_MOBILE_MENU_CLOSED, payload: {} });
116
+ if (e.key === "Escape") setLoginDrawerOpen(false);
96
117
  };
97
- if (stack.isMobileMenuOpen) {
118
+ if (loginDrawerOpen) {
98
119
  document.addEventListener("keydown", onEsc);
99
120
  }
100
121
  return () => document.removeEventListener("keydown", onEsc);
101
- }, [stack.isMobileMenuOpen]);
122
+ }, [loginDrawerOpen]);
102
123
  return /* @__PURE__ */ jsxs(Fragment, { children: [
103
124
  /* @__PURE__ */ jsxs("div", { className: styles.mobileNavRow, children: [
104
125
  /* @__PURE__ */ jsx(
@@ -140,7 +161,7 @@ const MobileDrawerMenu = ({ menu }) => {
140
161
  }
141
162
  )
142
163
  ] }),
143
- /* @__PURE__ */ jsx(AnimatePresence, { children: stack.isMobileMenuOpen && /* @__PURE__ */ jsx(
164
+ /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsx(
144
165
  motion.div,
145
166
  {
146
167
  className: styles.overlay,
@@ -163,7 +184,7 @@ const MobileDrawerMenu = ({ menu }) => {
163
184
  children: [
164
185
  /* @__PURE__ */ jsx("p", { id: "menu-description", className: styles.sr_only, children: "Use tab to navigate this menu. Press Escape to close." }),
165
186
  /* @__PURE__ */ jsxs("div", { className: styles.header, children: [
166
- stack.stack?.length > 1 ? /* @__PURE__ */ jsxs(
187
+ stack.length > 1 ? /* @__PURE__ */ jsxs(
167
188
  "button",
168
189
  {
169
190
  onClick: handleBack,
@@ -188,7 +209,7 @@ const MobileDrawerMenu = ({ menu }) => {
188
209
  )
189
210
  }
190
211
  ),
191
- /* @__PURE__ */ jsx("span", { className: styles.prevlevel, children: stack.prevLevel?.title })
212
+ /* @__PURE__ */ jsx("span", { className: styles.prevlevel, children: prevLevel.title })
192
213
  ]
193
214
  }
194
215
  ) : /* @__PURE__ */ jsx(
@@ -241,7 +262,7 @@ const MobileDrawerMenu = ({ menu }) => {
241
262
  className: `${styles.level} flex middle`,
242
263
  "aria-label": "current menu level",
243
264
  children: [
244
- /* @__PURE__ */ jsx("h2", { className: styles.levelTitle, id: "menu-level", children: stack.currentMenuData?.title }),
265
+ /* @__PURE__ */ jsx("h2", { className: styles.levelTitle, id: "menu-level", children: currentLevel.title }),
245
266
  /* @__PURE__ */ jsx(
246
267
  "svg",
247
268
  {
@@ -266,81 +287,75 @@ const MobileDrawerMenu = ({ menu }) => {
266
287
  /* @__PURE__ */ jsx("nav", { "aria-label": "main navigation menu", children: /* @__PURE__ */ jsx(
267
288
  AnimatePresence,
268
289
  {
269
- custom: stack.direction,
290
+ custom: direction,
270
291
  mode: "sync",
271
292
  initial: false,
272
- children: /* @__PURE__ */ jsxs(
293
+ children: /* @__PURE__ */ jsx(
273
294
  motion.ul,
274
295
  {
275
296
  className: styles.menu,
276
- custom: stack.direction,
297
+ custom: direction,
277
298
  variants: slideVariants,
278
299
  initial: "enter",
279
300
  animate: "center",
280
301
  exit: "exit",
281
302
  transition: { duration: 0.3, ease: "linear" },
282
- children: [
283
- stack.stack.length > 1 && !stack.currentMenuData?.dropdown && /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
303
+ children: Object.entries(
304
+ stack.length === 1 ? Object.fromEntries(
305
+ Object.entries(currentLevel.items).filter(
306
+ ([k]) => k !== "Log in"
307
+ )
308
+ ) : currentLevel.items
309
+ ).map(([key, value]) => {
310
+ const hasChildren = typeof value === "object";
311
+ return /* @__PURE__ */ jsx("li", { children: hasChildren ? /* @__PURE__ */ jsxs(
312
+ "button",
313
+ {
314
+ className: styles.menuItem,
315
+ onClick: () => handleClick(key),
316
+ "aria-label": `open submenu for ${key}`,
317
+ children: [
318
+ /* @__PURE__ */ jsx("span", { children: key }),
319
+ /* @__PURE__ */ jsx("span", { className: styles.chevron, children: /* @__PURE__ */ jsx(
320
+ "svg",
321
+ {
322
+ className: styles.chevronIcon,
323
+ width: 12,
324
+ height: 20,
325
+ viewBox: "0 0 12 20",
326
+ fill: "none",
327
+ xmlns: "http://www.w3.org/2000/svg",
328
+ children: /* @__PURE__ */ jsx(
329
+ "path",
330
+ {
331
+ d: "M1.76378 0.46875L11.2941 9.99908L1.76378 19.5294L0.703125 18.4687L9.17295 9.99908L0.703125 1.52941L1.76378 0.46875Z",
332
+ fill: "#4A5560"
333
+ }
334
+ )
335
+ }
336
+ ) })
337
+ ]
338
+ }
339
+ ) : /* @__PURE__ */ jsx(
284
340
  Link,
285
341
  {
286
- href: stack.currentMenuData.url + (queryString && !stack.currentMenuData.url.includes("?") ? `?${queryString}` : ""),
342
+ href: `${value}${queryString && !value.includes("?") ? `?${queryString}` : ""}`,
287
343
  className: styles.menuItem,
288
- children: /* @__PURE__ */ jsxs("span", { children: [
289
- stack.currentMenuData.title,
290
- " Home"
291
- ] })
344
+ children: /* @__PURE__ */ jsx("span", { children: key })
292
345
  }
293
- ) }),
294
- stack?.currentMenuData?.items?.map((item) => {
295
- const hasChildren = item.items && item.items.length > 0;
296
- return hasChildren ? /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
297
- "button",
298
- {
299
- className: styles.menuItem,
300
- onClick: () => handleClick(item),
301
- children: [
302
- /* @__PURE__ */ jsx("span", { children: item.label }),
303
- /* @__PURE__ */ jsx("span", { className: styles.chevron, children: /* @__PURE__ */ jsx(
304
- "svg",
305
- {
306
- className: styles.chevronIcon,
307
- width: 12,
308
- height: 20,
309
- viewBox: "0 0 12 20",
310
- fill: "none",
311
- xmlns: "http://www.w3.org/2000/svg",
312
- children: /* @__PURE__ */ jsx(
313
- "path",
314
- {
315
- d: "M1.76378 0.46875L11.2941 9.99908L1.76378 19.5294L0.703125 18.4687L9.17295 9.99908L0.703125 1.52941L1.76378 0.46875Z",
316
- fill: "#4A5560"
317
- }
318
- )
319
- }
320
- ) })
321
- ]
322
- }
323
- ) }, item.id + "1") : /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
324
- Link,
325
- {
326
- href: item?.url + (queryString && !item?.url?.includes("?") ? `?${queryString}` : ""),
327
- className: styles.menuItem,
328
- children: /* @__PURE__ */ jsx("span", { children: item.label })
329
- }
330
- ) }, item.id);
331
- })
332
- ]
346
+ ) }, key);
347
+ })
333
348
  },
334
- stack.currentMenuData?.title
349
+ currentLevel.title
335
350
  )
336
351
  }
337
352
  ) }),
338
- /* @__PURE__ */ jsx("div", { className: `${styles.quickLinks} flex middle between`, children: stack.quickLinks?.map((link) => /* @__PURE__ */ jsxs(
353
+ /* @__PURE__ */ jsx("div", { className: `${styles.quickLinks} flex middle between`, children: quickLinks.map((link) => /* @__PURE__ */ jsxs(
339
354
  "a",
340
355
  {
341
- href: findMoreAxosDomains(link.url) + (queryString && !link.url.includes("?") ? `?${queryString}` : ""),
356
+ href: link.url + (queryString && !link.url.includes("?") ? `?${queryString}` : ""),
342
357
  className: `${styles.quickLink} flex_col middle`,
343
- "aria-label": link.ariaLabel,
358
+ "aria-label": `Visit ${link.title} page`,
344
359
  children: [
345
360
  /* @__PURE__ */ jsx(
346
361
  "img",
@@ -352,10 +367,10 @@ const MobileDrawerMenu = ({ menu }) => {
352
367
  loading: "lazy"
353
368
  }
354
369
  ),
355
- /* @__PURE__ */ jsx("span", { children: link.label })
370
+ /* @__PURE__ */ jsx("span", { children: link.title })
356
371
  ]
357
372
  },
358
- link.id
373
+ link.title
359
374
  )) })
360
375
  ] }) })
361
376
  ]
@@ -363,7 +378,7 @@ const MobileDrawerMenu = ({ menu }) => {
363
378
  )
364
379
  }
365
380
  ) }),
366
- /* @__PURE__ */ jsx(AnimatePresence, { children: stack.loginDrawer && /* @__PURE__ */ jsx(
381
+ /* @__PURE__ */ jsx(AnimatePresence, { children: loginDrawerOpen && /* @__PURE__ */ jsx(
367
382
  motion.div,
368
383
  {
369
384
  className: styles.overlay,
@@ -374,7 +389,7 @@ const MobileDrawerMenu = ({ menu }) => {
374
389
  motion.div,
375
390
  {
376
391
  className: `${styles.drawer} flex_col`,
377
- ref: loginRef,
392
+ ref: loginDrawerRef,
378
393
  initial: { x: "100%" },
379
394
  animate: { x: 0 },
380
395
  exit: { x: "100%" },
@@ -429,67 +444,37 @@ const MobileDrawerMenu = ({ menu }) => {
429
444
  }
430
445
  )
431
446
  ] }),
432
- /* @__PURE__ */ jsx("div", { className: styles.loginDrawerContent, children: /* @__PURE__ */ jsx("div", { className: styles.loginAccordion, children: /* @__PURE__ */ jsxs(
447
+ /* @__PURE__ */ jsx("div", { className: styles.loginDrawerContent, children: /* @__PURE__ */ jsx("div", { className: styles.loginAccordion, children: /* @__PURE__ */ jsx(
433
448
  "ul",
434
449
  {
435
450
  className: styles.loginAccordionList,
436
451
  "aria-label": "Login options",
437
- children: [
438
- stack.loginData?.items?.filter((item) => item.items)?.map((group) => {
439
- return /* @__PURE__ */ jsxs(
440
- "li",
441
- {
442
- className: styles.loginAccordionGroup,
443
- "aria-label": `${group?.label} login options`,
444
- children: [
445
- /* @__PURE__ */ jsx("span", { className: styles.loginAccordionHeading, children: group.label }),
446
- /* @__PURE__ */ jsx("ul", { className: styles.loginAccordionGroupList, children: group.items?.map((item) => /* @__PURE__ */ jsx(
447
- "li",
448
- {
449
- "aria-label": `access ${item.label}`,
450
- children: /* @__PURE__ */ jsx(
451
- "a",
452
- {
453
- href: item.url + (queryString && !item.url.includes("?") ? `?${queryString}` : ""),
454
- className: styles.menuItem,
455
- children: /* @__PURE__ */ jsx("span", { children: item.label })
456
- }
457
- )
458
- },
459
- item.id
460
- )) })
461
- ]
462
- },
463
- group?.id
464
- );
465
- }),
466
- /* @__PURE__ */ jsxs(
467
- "li",
468
- {
469
- className: styles.loginAccordionGroup,
470
- children: [
471
- /* @__PURE__ */ jsx("span", { className: styles.loginAccordionHeading }),
472
- stack.loginData?.items.filter((item) => !item.items).map((group) => {
473
- return /* @__PURE__ */ jsx("ul", { className: styles.loginAccordionGroupList, children: /* @__PURE__ */ jsx(
474
- "li",
452
+ children: loginGroups.map((group) => /* @__PURE__ */ jsxs(
453
+ "li",
454
+ {
455
+ className: styles.loginAccordionGroup,
456
+ "aria-label": `${group.heading} login options`,
457
+ children: [
458
+ /* @__PURE__ */ jsx("span", { className: styles.loginAccordionHeading, children: group.heading }),
459
+ /* @__PURE__ */ jsx("ul", { className: styles.loginAccordionGroupList, children: group.items.map((item) => /* @__PURE__ */ jsx(
460
+ "li",
461
+ {
462
+ "aria-label": `access ${item.title}`,
463
+ children: /* @__PURE__ */ jsx(
464
+ Link,
475
465
  {
476
- "aria-label": `access ${group.label}`,
477
- children: /* @__PURE__ */ jsx(
478
- "a",
479
- {
480
- href: group.url + (queryString && !group.url.includes("?") ? `?${queryString}` : ""),
481
- className: styles.menuItem,
482
- children: /* @__PURE__ */ jsx("span", { children: group.label })
483
- }
484
- )
485
- },
486
- group.id
487
- ) });
488
- })
489
- ]
490
- }
491
- )
492
- ]
466
+ href: item.url + (queryString && !item.url.includes("?") ? `?${queryString}` : ""),
467
+ className: styles.menuItem,
468
+ children: /* @__PURE__ */ jsx("span", { children: item.title })
469
+ }
470
+ )
471
+ },
472
+ item.title
473
+ )) })
474
+ ]
475
+ },
476
+ group.heading
477
+ ))
493
478
  }
494
479
  ) }) })
495
480
  ]
@@ -1,4 +1,4 @@
1
- const overlay = "_overlay_7ufer_1";
1
+ import '../../../assets/NavigationMenu/AxosBank/MobileMenu/MobileMenu.css.css';const overlay = "_overlay_7ufer_1";
2
2
  const drawer = "_drawer_7ufer_9";
3
3
  const mobileNavRow = "_mobileNavRow_7ufer_29";
4
4
  const loginTrigger = "_loginTrigger_7ufer_35";