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

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 (234) 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 +4 -2
  4. package/dist/AlertBanner/AlertBanner.css.js +1 -1
  5. package/dist/AlertBanner/index.js +3 -1
  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 +3 -1
  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 +4 -2
  25. package/dist/Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js +1 -1
  26. package/dist/Calculators/BalanceAPYCalculator/index.js +4 -2
  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 +4 -2
  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/Chat/Chat.d.ts +4 -0
  42. package/dist/Chat/Chat.js +13 -0
  43. package/dist/Chat/index.d.ts +1 -0
  44. package/dist/Chat/index.js +5 -0
  45. package/dist/Chatbot/AnimatedGradientBorder.css.js +1 -1
  46. package/dist/Chatbot/Bubble.css.js +1 -1
  47. package/dist/Chatbot/Bubble.js +1 -1
  48. package/dist/Chatbot/ChatWindow.css.js +1 -1
  49. package/dist/Chatbot/ChatWindow.js +2 -2
  50. package/dist/Chatbot/Chatbot.css.js +1 -1
  51. package/dist/Chatbot/ChatbotMessage.js +1 -1
  52. package/dist/Chatbot/ThankYouMessage.js +2 -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 +3 -1
  57. package/dist/Comparison/Comparison.css.js +3 -2
  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 +6 -0
  63. package/dist/ExecutiveBio/ExecutiveBio.css.js +1 -1
  64. package/dist/ExecutiveBio/ExecutiveBio.js +4 -4
  65. package/dist/FaqAccordion/FaqAccordion.css.js +1 -1
  66. package/dist/FaqAccordion/index.js +5 -5
  67. package/dist/FdicCallout/FdicCallout.module.js +1 -1
  68. package/dist/FooterDisclosure/FooterDisclosure.css.js +1 -1
  69. package/dist/FooterDisclosure/LVF/LaVictorieFooter.css.js +1 -1
  70. package/dist/FooterDisclosure/LVF/LaVictorieFooter.js +4 -2
  71. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.css.js +1 -1
  72. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +4 -4
  73. package/dist/Forms/ApplicationStart.js +4 -2
  74. package/dist/Forms/ApplyNow.js +5 -5
  75. package/dist/Forms/ClearingForm.js +4 -2
  76. package/dist/Forms/CommercialDeposits.js +4 -2
  77. package/dist/Forms/CommercialDepositsNoLendingOption.js +4 -2
  78. package/dist/Forms/CommercialLending.js +4 -2
  79. package/dist/Forms/CommercialPremiumFinance.js +4 -2
  80. package/dist/Forms/ConstructionLendingDynamic.js +4 -2
  81. package/dist/Forms/ContactCompany.js +4 -2
  82. package/dist/Forms/ContactCompanyTitle.js +4 -2
  83. package/dist/Forms/ContactUs.js +4 -2
  84. package/dist/Forms/ContactUsAAS.js +4 -2
  85. package/dist/Forms/ContactUsBusiness.js +5 -5
  86. package/dist/Forms/ContactUsBusinessNameEmail.js +5 -5
  87. package/dist/Forms/ContactUsLVF.js +4 -2
  88. package/dist/Forms/ContactUsNMLSId.js +5 -5
  89. package/dist/Forms/CpraRequest.js +4 -2
  90. package/dist/Forms/CraPublicFile.js +5 -5
  91. package/dist/Forms/DealerServices.js +4 -2
  92. package/dist/Forms/EmailOnly.js +5 -5
  93. package/dist/Forms/EmailUs.js +4 -2
  94. package/dist/Forms/Forms.css.js +1 -1
  95. package/dist/Forms/HoneyPot/HoneyPot.css.js +1 -1
  96. package/dist/Forms/MortgageRate/MortgageRateForm.js +5 -5
  97. package/dist/Forms/MortgageRate/MortgageRateQuoteFilters.js +1 -1
  98. package/dist/Forms/MortgageRate/MortgageRateWatch.js +4 -4
  99. package/dist/Forms/MortgageWarehouseLending.js +5 -5
  100. package/dist/Forms/QuickPricer/QuickPricerForm.js +5 -3
  101. package/dist/Forms/QuickPricer/QuickPricerResults.css.js +1 -1
  102. package/dist/Forms/QuickPricer/UserInformation.css.js +1 -1
  103. package/dist/Forms/ScheduleCall.js +4 -2
  104. package/dist/Forms/ScheduleCallPremier.js +4 -2
  105. package/dist/Forms/SuccesForm.js +4 -4
  106. package/dist/Forms/VendorQuestionnaire.js +1 -1
  107. package/dist/Forms/WcplSurvey.js +4 -2
  108. package/dist/HelpArticle/HelpArticle.css.js +1 -1
  109. package/dist/HeroBanner/HeroBanner.css.js +1 -1
  110. package/dist/HeroBanner/HeroBanner.js +5 -3
  111. package/dist/HeroBanner/LargeBanner.css.js +1 -1
  112. package/dist/HeroBanner/SelectionBanner.css.js +1 -1
  113. package/dist/Hyperlink/Hyperlink.css.js +1 -1
  114. package/dist/Hyperlink/index.js +4 -4
  115. package/dist/IconBillboard/IconBillboard.css.js +1 -1
  116. package/dist/IconBillboard/IconBillboard.js +1 -1
  117. package/dist/ImageBillboard/ImageBillboard.css.js +1 -1
  118. package/dist/ImageBillboard/ImageBillboard.js +3 -1
  119. package/dist/ImageBillboard/ImageBillboardSet.js +4 -3
  120. package/dist/ImageLink/ImageLink.css.js +1 -1
  121. package/dist/ImageLink/ImageLink.js +4 -4
  122. package/dist/ImageLink/ImageLinkSet.js +4 -4
  123. package/dist/ImageLink/index.js +4 -4
  124. package/dist/Input/Checkbox.css.js +1 -1
  125. package/dist/Input/Dropdown.css.js +1 -1
  126. package/dist/Input/Input.css.js +1 -1
  127. package/dist/Input/RadioButton.css.js +1 -1
  128. package/dist/Inputs/Input.css.js +1 -1
  129. package/dist/Insight/Featured/CategorySelector.css.js +1 -1
  130. package/dist/Insight/Featured/CategorySelector.js +6 -6
  131. package/dist/Insight/Featured/Featured.css.js +1 -1
  132. package/dist/Insight/Featured/Featured.js +5 -5
  133. package/dist/Insight/Featured/Header.css.js +1 -1
  134. package/dist/Insight/Featured/Header.js +5 -5
  135. package/dist/Insight/Insight.css.js +1 -1
  136. package/dist/Interstitial/Interstitial-variants.css.js +1 -1
  137. package/dist/Interstitial/Interstitial.module.js +1 -1
  138. package/dist/LandingPageHeader/LandingPageHeader.css.js +1 -1
  139. package/dist/LandingPageHeader/LandingPageHeader.js +1 -1
  140. package/dist/LoadingIndicator/LoadingIndicator.css.js +1 -1
  141. package/dist/Modal/Modal.css.js +1 -1
  142. package/dist/Modal/Modal.js +4 -4
  143. package/dist/Modal/contextApi/store.js +1 -1
  144. package/dist/NavigationMenu/AxosALTS/NavBar.css.js +1 -1
  145. package/dist/NavigationMenu/AxosALTS/NavBar.module.js +1 -1
  146. package/dist/NavigationMenu/AxosALTS/NavData.js +4 -4
  147. package/dist/NavigationMenu/AxosALTS/index.js +4 -4
  148. package/dist/NavigationMenu/AxosAdvisor/NavBar.css.js +1 -1
  149. package/dist/NavigationMenu/AxosAdvisor/NavBar.module.js +52 -52
  150. package/dist/NavigationMenu/AxosAdvisor/SubNavbar.css.js +1 -1
  151. package/dist/NavigationMenu/AxosAdvisorServices/NavBar.css.js +1 -1
  152. package/dist/NavigationMenu/AxosAdvisorServices/NavBar.module.js +1 -1
  153. package/dist/NavigationMenu/AxosAdvisorServices/SubNavbar.css.js +1 -1
  154. package/dist/NavigationMenu/AxosBank/DropwdownButton.d.ts +7 -0
  155. package/dist/NavigationMenu/AxosBank/DropwdownButton.js +105 -0
  156. package/dist/NavigationMenu/AxosBank/Menu.d.ts +37 -0
  157. package/dist/NavigationMenu/AxosBank/Menu.js +130 -0
  158. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.d.ts +12 -1
  159. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.js +168 -153
  160. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.module.js +1 -1
  161. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.d.ts +37 -264
  162. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +57 -525
  163. package/dist/NavigationMenu/AxosBank/MobileMenu/mobileReducer.d.ts +36 -0
  164. package/dist/NavigationMenu/AxosBank/MobileMenu/mobileReducer.js +105 -0
  165. package/dist/NavigationMenu/AxosBank/NavBar.css.js +1 -1
  166. package/dist/NavigationMenu/AxosBank/NavBar.module.js +42 -39
  167. package/dist/NavigationMenu/AxosBank/NavData.js +4 -4
  168. package/dist/NavigationMenu/AxosBank/SubNavBar.d.ts +6 -1
  169. package/dist/NavigationMenu/AxosBank/SubNavBar.js +110 -3106
  170. package/dist/NavigationMenu/AxosBank/SubNavItem.d.ts +1 -0
  171. package/dist/NavigationMenu/AxosBank/SubNavItem.js +187 -0
  172. package/dist/NavigationMenu/AxosBank/SubNavbar.css.js +1 -1
  173. package/dist/NavigationMenu/AxosBank/index.d.ts +6 -4
  174. package/dist/NavigationMenu/AxosBank/index.js +85 -386
  175. package/dist/NavigationMenu/AxosClearing/NavBar.css.js +1 -1
  176. package/dist/NavigationMenu/AxosClearing/NavBar.module.js +1 -1
  177. package/dist/NavigationMenu/AxosFiduciary/NavBar.module.js +1 -1
  178. package/dist/NavigationMenu/LaVictoire/NavBar.css.js +1 -1
  179. package/dist/NavigationMenu/LaVictoire/NavBar.module.js +1 -1
  180. package/dist/NavigationMenu/LaVictoire/NavData.js +4 -4
  181. package/dist/NavigationMenu/LaVictoire/index.js +4 -4
  182. package/dist/NavigationMenu/NavDataJson.js +4 -4
  183. package/dist/NavigationMenu/NavItem/index.js +11 -1
  184. package/dist/NavigationMenu/Navbar.d.ts +4 -1
  185. package/dist/NavigationMenu/Navbar.js +6 -5
  186. package/dist/NavigationMenu/SignInNavButton.js +4 -4
  187. package/dist/NavigationMenu/utils.d.ts +466 -0
  188. package/dist/NavigationMenu/utils.js +112 -0
  189. package/dist/PageNavItem/PageNavItem.css.js +1 -1
  190. package/dist/PageNavSet/PageNavSet.js +1 -1
  191. package/dist/PageNavSet/PageNavigationSet.css.js +1 -1
  192. package/dist/Pagination/Pagination.css.js +1 -1
  193. package/dist/Pagination/Pagination.js +4 -2
  194. package/dist/SecondaryFooter/SecondaryFooter.css.js +1 -1
  195. package/dist/SecondaryFooter/index.js +1 -1
  196. package/dist/SetContainer/SetContainer.css.js +1 -1
  197. package/dist/SetContainer/SetContainer.js +5 -5
  198. package/dist/SocialMediaBar/SocialMediaBar.css.js +1 -1
  199. package/dist/SocialMediaBar/iconsRepository.js +4 -4
  200. package/dist/StepItem/StepItem.css.js +1 -1
  201. package/dist/StepItemSet/StepItemSet.css.js +1 -1
  202. package/dist/StepItemSet/StepItemSet.js +1 -1
  203. package/dist/Tab/Tab.css.js +1 -1
  204. package/dist/Table/Table.css.js +1 -1
  205. package/dist/Table/Table.d.ts +1 -1
  206. package/dist/Table/Table.js +4 -2
  207. package/dist/TextBlock/TextBlock.css.js +1 -1
  208. package/dist/TextBlock/TextBlock.js +1 -1
  209. package/dist/Topic/Topic.css.js +1 -1
  210. package/dist/TopicalNavItem/TopicalNavItem.css.js +1 -1
  211. package/dist/TopicalNavSet/TopicalNavSet.css.js +1 -1
  212. package/dist/Typography/Typography.css.js +1 -1
  213. package/dist/VideoTile/VideoTile.css.js +1 -1
  214. package/dist/VideoTile/VideoTile.js +4 -4
  215. package/dist/VideoWrapper/VideoWrapper.css.js +1 -1
  216. package/dist/VideoWrapper/index.js +4 -4
  217. package/dist/WalnutIframe/wrapper.module.js +1 -1
  218. package/dist/assets/NavigationMenu/AxosAdvisor/NavBar.css.css +609 -609
  219. package/dist/assets/NavigationMenu/AxosBank/NavBar.css.css +483 -445
  220. package/dist/globals.css.js +1 -1
  221. package/dist/icons/ArrowIcon/ArrowIcon.css.js +1 -1
  222. package/dist/icons/CheckIcon/CheckIcon.css.js +1 -1
  223. package/dist/icons/DownloadIcon/DownloadIcon.css.js +1 -1
  224. package/dist/icons/FollowIcon/FollowIcon.css.js +1 -1
  225. package/dist/icons/Logos/AXOS.js +49 -7
  226. package/dist/icons/Star/Star.css.js +1 -1
  227. package/dist/index.css.js +1 -1
  228. package/dist/themes/axos.css.js +1 -1
  229. package/dist/themes/premier.css.js +1 -1
  230. package/dist/themes/ufb.css.js +1 -1
  231. package/dist/themes/victorie.css.js +1 -1
  232. package/dist/utils/allowedAxosDomains.js +5 -1
  233. package/dist/utils/optimizeImage/optimizeImage.module.js +1 -1
  234. package/package.json +136 -136
@@ -1,11 +1,14 @@
1
1
  "use client";
2
2
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
3
- import { useState, useRef, useMemo, useEffect } from "react";
3
+ import { findMoreAxosDomains } from "../../../utils/allowedAxosDomains.js";
4
+ import { useRef, useState, useReducer, useEffect } from "react";
4
5
  import { AnimatePresence, motion } from "framer-motion";
5
- import { usePathname } from "next/navigation.js";
6
6
  import Link from "next/link.js";
7
- import { menuData, getLoginGroups, getQuickLinks } from "./MobileNavData.js";
7
+ import { usePathname } from "next/navigation.js";
8
+ import { useClickAway } from "react-use";
8
9
  import styles from "./MobileMenu.module.js";
10
+ import { mobileData } from "./MobileNavData.js";
11
+ import { MenuActions, reducer } from "./mobileReducer.js";
9
12
  const slideVariants = {
10
13
  enter: (direction) => ({
11
14
  x: direction === "forward" ? "100%" : "-100%",
@@ -24,27 +27,41 @@ const slideVariants = {
24
27
  position: "absolute"
25
28
  })
26
29
  };
27
- const MobileDrawerMenu = () => {
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 }) => {
28
41
  const pathname = usePathname();
29
- const [queryString, setQueryString] = useState("");
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
42
  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];
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
+ 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]);
43
63
  useEffect(() => {
44
64
  if (!pathname) return;
45
- const pathnameParts = "/" + pathname.split("/")[1];
46
- const links = getQuickLinks(pathnameParts);
47
- setQuickLinks(links);
48
65
  }, [pathname]);
49
66
  useEffect(() => {
50
67
  if (typeof window !== "undefined") {
@@ -55,71 +72,33 @@ const MobileDrawerMenu = () => {
55
72
  }
56
73
  }, []);
57
74
  const handleClick = (key) => {
58
- const item = currentLevel.items[key];
59
- if (typeof item === "object") {
60
- setDirection("forward");
61
- setStack((prev) => [...prev, { title: key, items: item }]);
62
- }
75
+ dispatch({ type: MenuActions.ADD_TO_STACK, payload: key });
63
76
  };
64
77
  const handleBack = () => {
65
- if (stack.length > 1) {
66
- setDirection("backward");
67
- setStack((prev) => prev.slice(0, -1));
78
+ if (stack.stack.length > 1) {
79
+ dispatch({ type: MenuActions.REMOVE_FROM_STACK, payload: {} });
68
80
  }
69
81
  };
70
82
  const handleToggle = () => {
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
- });
83
+ dispatch({ type: MenuActions.SET_HAS_OPENED_ONCE, payload: {} });
84
+ dispatch({ type: MenuActions.SET_MOBILE_MENU_OPEN, payload: {} });
79
85
  };
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
- }
86
+ const handleLoginDrawerOpen = () => {
87
+ dispatch({ type: MenuActions.SET_LOGIN_MENU_OPEN, payload: {} });
86
88
  };
87
- const handleOutsideClick = (e) => {
88
- if (drawerRef.current && !drawerRef.current.contains(e.target)) {
89
- setOpen(false);
90
- }
89
+ const handleLoginDrawerClose = () => {
90
+ dispatch({ type: MenuActions.SET_LOGIN_MENU_CLOSED, payload: {} });
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]);
114
92
  useEffect(() => {
115
93
  const onEsc = (e) => {
116
- if (e.key === "Escape") setLoginDrawerOpen(false);
94
+ if (e.key === "Escape")
95
+ dispatch({ type: MenuActions.SET_MOBILE_MENU_CLOSED, payload: {} });
117
96
  };
118
- if (loginDrawerOpen) {
97
+ if (stack.isMobileMenuOpen) {
119
98
  document.addEventListener("keydown", onEsc);
120
99
  }
121
100
  return () => document.removeEventListener("keydown", onEsc);
122
- }, [loginDrawerOpen]);
101
+ }, [stack.isMobileMenuOpen]);
123
102
  return /* @__PURE__ */ jsxs(Fragment, { children: [
124
103
  /* @__PURE__ */ jsxs("div", { className: styles.mobileNavRow, children: [
125
104
  /* @__PURE__ */ jsx(
@@ -161,7 +140,7 @@ const MobileDrawerMenu = () => {
161
140
  }
162
141
  )
163
142
  ] }),
164
- /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsx(
143
+ /* @__PURE__ */ jsx(AnimatePresence, { children: stack.isMobileMenuOpen && /* @__PURE__ */ jsx(
165
144
  motion.div,
166
145
  {
167
146
  className: styles.overlay,
@@ -184,7 +163,7 @@ const MobileDrawerMenu = () => {
184
163
  children: [
185
164
  /* @__PURE__ */ jsx("p", { id: "menu-description", className: styles.sr_only, children: "Use tab to navigate this menu. Press Escape to close." }),
186
165
  /* @__PURE__ */ jsxs("div", { className: styles.header, children: [
187
- stack.length > 1 ? /* @__PURE__ */ jsxs(
166
+ stack.stack?.length > 1 ? /* @__PURE__ */ jsxs(
188
167
  "button",
189
168
  {
190
169
  onClick: handleBack,
@@ -209,7 +188,7 @@ const MobileDrawerMenu = () => {
209
188
  )
210
189
  }
211
190
  ),
212
- /* @__PURE__ */ jsx("span", { className: styles.prevlevel, children: prevLevel.title })
191
+ /* @__PURE__ */ jsx("span", { className: styles.prevlevel, children: stack.prevLevel?.title })
213
192
  ]
214
193
  }
215
194
  ) : /* @__PURE__ */ jsx(
@@ -262,7 +241,7 @@ const MobileDrawerMenu = () => {
262
241
  className: `${styles.level} flex middle`,
263
242
  "aria-label": "current menu level",
264
243
  children: [
265
- /* @__PURE__ */ jsx("h2", { className: styles.levelTitle, id: "menu-level", children: currentLevel.title }),
244
+ /* @__PURE__ */ jsx("h2", { className: styles.levelTitle, id: "menu-level", children: stack.currentMenuData?.title }),
266
245
  /* @__PURE__ */ jsx(
267
246
  "svg",
268
247
  {
@@ -287,75 +266,81 @@ const MobileDrawerMenu = () => {
287
266
  /* @__PURE__ */ jsx("nav", { "aria-label": "main navigation menu", children: /* @__PURE__ */ jsx(
288
267
  AnimatePresence,
289
268
  {
290
- custom: direction,
269
+ custom: stack.direction,
291
270
  mode: "sync",
292
271
  initial: false,
293
- children: /* @__PURE__ */ jsx(
272
+ children: /* @__PURE__ */ jsxs(
294
273
  motion.ul,
295
274
  {
296
275
  className: styles.menu,
297
- custom: direction,
276
+ custom: stack.direction,
298
277
  variants: slideVariants,
299
278
  initial: "enter",
300
279
  animate: "center",
301
280
  exit: "exit",
302
281
  transition: { duration: 0.3, ease: "linear" },
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(
282
+ children: [
283
+ stack.stack.length > 1 && !stack.currentMenuData?.dropdown && /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
340
284
  Link,
341
285
  {
342
- href: `${value}${queryString && !value.includes("?") ? `?${queryString}` : ""}`,
286
+ href: stack.currentMenuData.url + (queryString && !stack.currentMenuData.url.includes("?") ? `?${queryString}` : ""),
343
287
  className: styles.menuItem,
344
- children: /* @__PURE__ */ jsx("span", { children: key })
288
+ children: /* @__PURE__ */ jsxs("span", { children: [
289
+ stack.currentMenuData.title,
290
+ " Home"
291
+ ] })
345
292
  }
346
- ) }, key);
347
- })
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
+ ]
348
333
  },
349
- currentLevel.title
334
+ stack.currentMenuData?.title
350
335
  )
351
336
  }
352
337
  ) }),
353
- /* @__PURE__ */ jsx("div", { className: `${styles.quickLinks} flex middle between`, children: quickLinks.map((link) => /* @__PURE__ */ jsxs(
338
+ /* @__PURE__ */ jsx("div", { className: `${styles.quickLinks} flex middle between`, children: stack.quickLinks?.map((link) => /* @__PURE__ */ jsxs(
354
339
  "a",
355
340
  {
356
- href: link.url + (queryString && !link.url.includes("?") ? `?${queryString}` : ""),
341
+ href: findMoreAxosDomains(link.url) + (queryString && !link.url.includes("?") ? `?${queryString}` : ""),
357
342
  className: `${styles.quickLink} flex_col middle`,
358
- "aria-label": `Visit ${link.title} page`,
343
+ "aria-label": link.ariaLabel,
359
344
  children: [
360
345
  /* @__PURE__ */ jsx(
361
346
  "img",
@@ -367,10 +352,10 @@ const MobileDrawerMenu = () => {
367
352
  loading: "lazy"
368
353
  }
369
354
  ),
370
- /* @__PURE__ */ jsx("span", { children: link.title })
355
+ /* @__PURE__ */ jsx("span", { children: link.label })
371
356
  ]
372
357
  },
373
- link.title
358
+ link.id
374
359
  )) })
375
360
  ] }) })
376
361
  ]
@@ -378,7 +363,7 @@ const MobileDrawerMenu = () => {
378
363
  )
379
364
  }
380
365
  ) }),
381
- /* @__PURE__ */ jsx(AnimatePresence, { children: loginDrawerOpen && /* @__PURE__ */ jsx(
366
+ /* @__PURE__ */ jsx(AnimatePresence, { children: stack.loginDrawer && /* @__PURE__ */ jsx(
382
367
  motion.div,
383
368
  {
384
369
  className: styles.overlay,
@@ -389,7 +374,7 @@ const MobileDrawerMenu = () => {
389
374
  motion.div,
390
375
  {
391
376
  className: `${styles.drawer} flex_col`,
392
- ref: loginDrawerRef,
377
+ ref: loginRef,
393
378
  initial: { x: "100%" },
394
379
  animate: { x: 0 },
395
380
  exit: { x: "100%" },
@@ -444,37 +429,67 @@ const MobileDrawerMenu = () => {
444
429
  }
445
430
  )
446
431
  ] }),
447
- /* @__PURE__ */ jsx("div", { className: styles.loginDrawerContent, children: /* @__PURE__ */ jsx("div", { className: styles.loginAccordion, children: /* @__PURE__ */ jsx(
432
+ /* @__PURE__ */ jsx("div", { className: styles.loginDrawerContent, children: /* @__PURE__ */ jsx("div", { className: styles.loginAccordion, children: /* @__PURE__ */ jsxs(
448
433
  "ul",
449
434
  {
450
435
  className: styles.loginAccordionList,
451
436
  "aria-label": "Login options",
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,
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",
465
448
  {
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
- ))
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",
475
+ {
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
+ ]
478
493
  }
479
494
  ) }) })
480
495
  ]
@@ -1,4 +1,4 @@
1
- import '../../../assets/NavigationMenu/AxosBank/MobileMenu/MobileMenu.css.css';const overlay = "_overlay_7ufer_1";
1
+ 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";