@axos-web-dev/shared-components 2.2.30 → 2.2.32-sn

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 (86) hide show
  1. package/dist/ATMLocator/ATMLocator.js +5 -2
  2. package/dist/Auth/ErrorAlert.js +5 -2
  3. package/dist/Button/Button.js +5 -2
  4. package/dist/Calculators/Calculator.js +5 -2
  5. package/dist/Calculators/MarginTradingCalculator/index.js +5 -2
  6. package/dist/Carousel/index.js +5 -2
  7. package/dist/Chatbot/Bubble.css.js +1 -0
  8. package/dist/Chatbot/Chatbot.css.js +0 -1
  9. package/dist/Chevron/Chevron.interface.d.ts +1 -0
  10. package/dist/Chevron/index.js +7 -3
  11. package/dist/Comparison/Comparison.js +5 -2
  12. package/dist/ExecutiveBio/ExecutiveBio.js +5 -2
  13. package/dist/FaqAccordion/index.js +5 -2
  14. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +5 -2
  15. package/dist/Forms/ApplyNow.js +5 -2
  16. package/dist/Forms/ContactUsBusiness.js +5 -2
  17. package/dist/Forms/ContactUsBusinessNameEmail.js +5 -2
  18. package/dist/Forms/ContactUsNMLSId.js +5 -2
  19. package/dist/Forms/CpraRequest.js +5 -2
  20. package/dist/Forms/CraPublicFile.js +5 -2
  21. package/dist/Forms/EmailOnly.js +5 -2
  22. package/dist/Forms/MortgageRate/MortgageRateForm.js +31 -10
  23. package/dist/Forms/MortgageRate/MortgageRateQuoteFilters.js +34 -13
  24. package/dist/Forms/MortgageRate/MortgageRateWatch.d.ts +1 -1
  25. package/dist/Forms/MortgageRate/MortgageRateWatch.js +95 -19
  26. package/dist/Forms/MortgageWarehouseLending.js +5 -2
  27. package/dist/Forms/SuccesForm.js +5 -2
  28. package/dist/Hyperlink/index.js +5 -2
  29. package/dist/ImageLink/ImageLink.js +5 -2
  30. package/dist/ImageLink/ImageLinkSet.js +5 -2
  31. package/dist/ImageLink/index.js +5 -2
  32. package/dist/ImageToast/index.js +5 -2
  33. package/dist/Input/DownPaymentInput.js +1 -0
  34. package/dist/Insight/Featured/CategorySelector.js +5 -2
  35. package/dist/Insight/Featured/Featured.js +5 -2
  36. package/dist/Insight/Featured/Header.js +5 -2
  37. package/dist/LandingPageHeader/WithLogin.js +5 -2
  38. package/dist/Modal/Modal.js +5 -2
  39. package/dist/Modal/contextApi/store.d.ts +5 -1
  40. package/dist/Modal/contextApi/store.js +27 -8
  41. package/dist/NavigationMenu/AxosALTS/index.js +5 -2
  42. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.js +5 -2
  43. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.module.js +1 -1
  44. package/dist/NavigationMenu/AxosBank/SubNavBar.js +5 -2
  45. package/dist/NavigationMenu/AxosBank/index.js +5 -2
  46. package/dist/NavigationMenu/LaVictoire/index.js +5 -2
  47. package/dist/NavigationMenu/Navbar.js +5 -2
  48. package/dist/NavigationMenu/ServerNavigation/DropwdownButton.d.ts +8 -0
  49. package/dist/NavigationMenu/ServerNavigation/DropwdownButton.js +248 -0
  50. package/dist/NavigationMenu/ServerNavigation/Menu.d.ts +40 -0
  51. package/dist/NavigationMenu/ServerNavigation/Menu.js +268 -0
  52. package/dist/NavigationMenu/ServerNavigation/MobileMenu/MobileMenu.d.ts +13 -0
  53. package/dist/NavigationMenu/ServerNavigation/MobileMenu/MobileMenu.js +637 -0
  54. package/dist/NavigationMenu/ServerNavigation/MobileMenu/MobileMenu.module.js +86 -0
  55. package/dist/NavigationMenu/ServerNavigation/MobileMenu/MobileNavData.d.ts +51 -0
  56. package/dist/NavigationMenu/ServerNavigation/MobileMenu/MobileNavData.js +96 -0
  57. package/dist/NavigationMenu/ServerNavigation/MobileMenu/mobileReducer.d.ts +36 -0
  58. package/dist/NavigationMenu/ServerNavigation/MobileMenu/mobileReducer.js +105 -0
  59. package/dist/NavigationMenu/ServerNavigation/NavBar.module.js +125 -0
  60. package/dist/NavigationMenu/ServerNavigation/NavigationBar.css.d.ts +7 -0
  61. package/dist/NavigationMenu/ServerNavigation/NavigationBar.css.js +22 -0
  62. package/dist/NavigationMenu/ServerNavigation/SubNavBar.d.ts +6 -0
  63. package/dist/NavigationMenu/ServerNavigation/SubNavBar.js +281 -0
  64. package/dist/NavigationMenu/ServerNavigation/SubNavItem.d.ts +1 -0
  65. package/dist/NavigationMenu/ServerNavigation/SubNavItem.js +317 -0
  66. package/dist/NavigationMenu/ServerNavigation/SubNavbar.css.d.ts +60 -0
  67. package/dist/NavigationMenu/ServerNavigation/SubNavbar.css.js +22 -0
  68. package/dist/NavigationMenu/ServerNavigation/index.d.ts +7 -0
  69. package/dist/NavigationMenu/ServerNavigation/index.js +297 -0
  70. package/dist/NavigationMenu/SignInNavButton.js +5 -2
  71. package/dist/NavigationMenu/index.d.ts +2 -0
  72. package/dist/NavigationMenu/index.js +19 -10
  73. package/dist/NavigationMenu/utils.d.ts +480 -0
  74. package/dist/NavigationMenu/utils.js +128 -0
  75. package/dist/SetContainer/SetContainer.js +5 -2
  76. package/dist/SocialMediaBar/iconsRepository.js +5 -2
  77. package/dist/VideoTile/VideoTile.js +5 -2
  78. package/dist/VideoWrapper/index.js +5 -2
  79. package/dist/assets/NavigationMenu/ServerNavigation/NavBar.css +483 -0
  80. package/dist/assets/NavigationMenu/ServerNavigation/NavigationBar.css +40 -0
  81. package/dist/assets/NavigationMenu/ServerNavigation/SubNavbar.css +87 -0
  82. package/dist/assets/TextBlock/TextBlock.css +0 -1
  83. package/dist/main.js +19 -10
  84. package/dist/utils/allowedAxosDomains.js +7 -15
  85. package/package.json +1 -1
  86. /package/dist/assets/NavigationMenu/{AxosBank → ServerNavigation}/MobileMenu/MobileMenu.css +0 -0
@@ -0,0 +1,637 @@
1
+ "use client";
2
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
3
+ import { AnimatePresence, motion } from "framer-motion";
4
+ import Link from "next/link.js";
5
+ import { usePathname } from "next/navigation.js";
6
+ import { useRef, useState, useReducer, useEffect } from "react";
7
+ import { useClickAway } from "react-use";
8
+ import styles from "./MobileMenu.module.js";
9
+ import { mobileData } from "./MobileNavData.js";
10
+ import { MenuActions, reducer } from "./mobileReducer.js";
11
+ import "../../../Chevron/Chevron.css.js";
12
+ import "../../../Accordion/Accordion.js";
13
+ import "../../../Accordion/Accordion.css.js";
14
+ import "../../../icons/ArrowIcon/ArrowIcon.css.js";
15
+ import "../../../icons/CheckIcon/CheckIcon.css.js";
16
+ import '../../../assets/Modal/Modal.css';import '../../../assets/VideoWrapper/VideoWrapper.css';import '../../../assets/TopicalNavSet/TopicalNavSet.css';import '../../../assets/TopicalNavItem/TopicalNavItem.css';import '../../../assets/Topic/Topic.css';import '../../../assets/TextBlock/TextBlock.css';import '../../../assets/SocialMediaBar/SocialMediaBar.css';import '../../../assets/SecondaryFooter/SecondaryFooter.css';import '../../../assets/Pagination/Pagination.css';import '../../../assets/PageNavSet/PageNavigationSet.css';import '../../../assets/NavigationMenu/LaVictoire/NavBar2.css';import '../../../assets/NavigationMenu/AxosALTS/NavBar2.css';import '../../../assets/NavigationMenu/AxosClearing/NavBar2.css';import '../../../assets/NavigationMenu/AxosBank/SubNavbar.css';import '../../../assets/NavigationMenu/ServerNavigation/NavigationBar.css';import '../../../assets/NavigationMenu/AxosAdvisorServices/SubNavbar.css';import '../../../assets/NavigationMenu/AxosAdvisorServices/NavBar2.css';import '../../../assets/NavigationMenu/AxosAdvisor/SubNavbar.css';import '../../../assets/NavigationMenu/AxosAdvisor/NavBar2.css';import '../../../assets/NavigationMenu/AxosBank/NavBar2.css';import '../../../assets/Insight/Featured/Header.css';import '../../../assets/Insight/Featured/CategorySelector.css';import '../../../assets/Insight/Featured/Featured.css';import '../../../assets/ImageLink/ImageLink.css';import '../../../assets/VideoTile/VideoTile.css';import '../../../assets/HelpArticle/HelpArticle.css';import '../../../assets/FooterSiteMap/AxosBank/FooterSiteMap.css';import '../../../assets/FooterDisclosure/LVF/LaVictorieFooter.css';import '../../../assets/DownloadTile/DownloadTile.css';import '../../../assets/CollectInformationAlert/CollectInformationAlert.css';import '../../../assets/Chatbot/ChatWindow.css';import '../../../assets/Chatbot/Bubble.css';import '../../../assets/Chatbot/AnimatedGradientBorder.css';import '../../../assets/CallToActionBar/CallToActionBar.css';import '../../../assets/Insight/Insight.css';import '../../../assets/AwardsItem/AwardsItem.css';import '../../../assets/AwardsBanner/AwardsBanner.css';import '../../../assets/Auth/SignIn.css';import '../../../assets/Auth/ErrorAlert.css';import '../../../assets/Calculators/MarginTradingCalculator/MarginTradingCalculator.css';import '../../../assets/Forms/QuickPricer/UserInformation.css';import '../../../assets/Forms/QuickPricer/QuickPricerResults.css';import '../../../assets/ImageToast/ImageToast.css';import '../../../assets/BulletItem/BulletItem.css';import '../../../assets/Typography/Typography.css';import '../../../assets/icons/FollowIcon/FollowIcon.css';import '../../../assets/icons/DownloadIcon/DownloadIcon.css';import '../../../assets/themes/victorie.css';import '../../../assets/themes/ufb.css';import '../../../assets/themes/premier.css';import '../../../assets/themes/axos.css';/* empty css */
17
+ /* empty css */
18
+ /* empty css */
19
+ /* empty css */
20
+ /* empty css */
21
+ /* empty css */
22
+ import "clsx";
23
+ import "../../../AlertBanner/AlertBanner.css.js";
24
+ import "../../../Article/Article.css.js";
25
+ import "../../../IconBillboard/IconBillboard.css.js";
26
+ /* empty css */
27
+ /* empty css */
28
+ import "../../../Interstitial/Interstitial-variants.css.js";
29
+ import "../../../Button/Button.css.js";
30
+ import "../../../ArticlesSet/ArticlesSet.css.js";
31
+ import "../../../Calculators/calculator.css.js";
32
+ import "../../../Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js";
33
+ import { useGlobalContext } from "../../../Modal/contextApi/store.js";
34
+ import "next/image.js";
35
+ import "../../../Calculators/ApyCalculator/ApyCalculator.css.js";
36
+ import "../../../Calculators/ApyCalculatorUserTest/ApyCalculatorUserTest.css.js";
37
+ import "../../../HeroBanner/LargeBanner.css.js";
38
+ import "../../../HeroBanner/HeroBanner.css.js";
39
+ import "../../../HeroBanner/SelectionBanner.css.js";
40
+ /* empty css */
41
+ import "../../../SetContainer/SetContainer.css.js";
42
+ import "../../../Table/Table.css.js";
43
+ import "../../../Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js";
44
+ import "../../../Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js";
45
+ import "@hookform/resolvers/zod";
46
+ import "../../../Input/Checkbox.js";
47
+ import "../../../Input/CurrencyInput.js";
48
+ import "../../../Input/Dropdown.js";
49
+ import "../../../Input/Dropdown.css.js";
50
+ import "../../../Input/Input.js";
51
+ import "../../../Input/Input.css.js";
52
+ import "../../../Input/InputAmount.js";
53
+ import "../../../Input/InputPhone.js";
54
+ import "../../../Input/InputTextArea.js";
55
+ import "../../../Input/DownPaymentInput.js";
56
+ import "../../../Input/RadioButton.js";
57
+ import "../../../Input/PercentageInput.js";
58
+ import "react-hook-form";
59
+ import "../../../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
60
+ import "../../../Forms/Forms.css.js";
61
+ import "../../../Forms/HoneyPot/index.js";
62
+ import "../../../Forms/SalesforceFieldsForm.js";
63
+ import "../../../Input/RadioButton.css.js";
64
+ import "../../../Input/Checkbox.css.js";
65
+ import "../../../LoadingIndicator/LoadingIndicator.css.js";
66
+ import "../../../Inputs/Input.css.js";
67
+ /* empty css */
68
+ import "../../../Hyperlink/Hyperlink.css.js";
69
+ /* empty css */
70
+ import "iframe-resizer";
71
+ /* empty css */
72
+ import "../../../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
73
+ import "../../../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
74
+ import "../../../Calculators/SummitApyCalculator/BalanceAPYCalculator.css.js";
75
+ /* empty css */
76
+ import "react-dom";
77
+ /* empty css */
78
+ import "../../../Auth/SignInPassword.js";
79
+ /* empty css */
80
+ /* empty css */
81
+ /* empty css */
82
+ /* empty css */
83
+ import "../../../Carousel/index.js";
84
+ /* empty css */
85
+ import "../../../Chatbot/Chatbot.css.ts.vanilla.css.js";
86
+ /* empty css */
87
+ import "../../../Chatbot/store/chat.js";
88
+ import "../../../Chatbot/Chatbot.js";
89
+ /* empty css */
90
+ import "../../../Chatbot/store/messages.js";
91
+ /* empty css */
92
+ import "../../../Comparison/Comparison.css.js";
93
+ import "../../../Tab/Tab.css.js";
94
+ import "../../../icons/Star/Star.css.js";
95
+ import "../../../ContentBanner/ContentBanner.css.js";
96
+ /* empty css */
97
+ import "../../../ExecutiveBio/ExecutiveBio.css.js";
98
+ import "../../../FaqAccordion/index.js";
99
+ import "../../../FooterDisclosure/FooterDisclosure.css.js";
100
+ /* empty css */
101
+ /* empty css */
102
+ /* empty css */
103
+ import "../../../ImageBillboard/ImageBillboard.css.js";
104
+ import "next/script.js";
105
+ /* empty css */
106
+ /* empty css */
107
+ /* empty css */
108
+ /* empty css */
109
+ /* empty css */
110
+ import "../../../LandingPageHeader/LandingPageHeader.css.js";
111
+ /* empty css */
112
+ /* empty css */
113
+ /* empty css */
114
+ /* empty css */
115
+ /* empty css */
116
+ /* empty css */
117
+ import "../Menu.js";
118
+ import "../SubNavbar.css.js";
119
+ /* empty css */
120
+ /* empty css */
121
+ /* empty css */
122
+ /* empty css */
123
+ import "../../../PageNavItem/PageNavItem.css.js";
124
+ import "react-slick";
125
+ /* empty css */
126
+ /* empty css */
127
+ /* empty css */
128
+ /* empty css */
129
+ import "../../../StepItem/StepItem.css.js";
130
+ import "../../../StepItemSet/StepItemSet.css.js";
131
+ /* empty css */
132
+ /* empty css */
133
+ /* empty css */
134
+ /* empty css */
135
+ /* empty css */
136
+ /* empty css */
137
+ const slideVariants = {
138
+ enter: (direction) => ({
139
+ x: direction === "forward" ? "100%" : "-100%",
140
+ opacity: 0,
141
+ position: "absolute"
142
+ }),
143
+ center: {
144
+ x: 0,
145
+ opacity: 1,
146
+ position: "relative",
147
+ transition: { duration: 0.3, ease: "easeInOut" }
148
+ },
149
+ exit: (direction) => ({
150
+ x: direction === "forward" ? "-100%" : "100%",
151
+ opacity: 0,
152
+ position: "absolute"
153
+ })
154
+ };
155
+ const initialState = {
156
+ direction: "forward",
157
+ isMobileMenuOpen: false,
158
+ hasOpenedOnce: false,
159
+ prevLevel: [],
160
+ currentMenuData: null,
161
+ stack: [],
162
+ loginDrawer: false,
163
+ loginData: {}
164
+ };
165
+ const MobileDrawerMenu = ({ menu }) => {
166
+ const { resolveUrl } = useGlobalContext();
167
+ const pathname = usePathname();
168
+ const drawerRef = useRef(null);
169
+ const loginRef = useRef(null);
170
+ useClickAway(drawerRef, () => {
171
+ dispatch({ type: MenuActions.SET_MOBILE_MENU_CLOSED, payload: {} });
172
+ });
173
+ useClickAway(loginRef, () => {
174
+ dispatch({ type: MenuActions.SET_LOGIN_MENU_CLOSED, payload: {} });
175
+ });
176
+ const [queryString, setQueryString] = useState("");
177
+ const [stack, dispatch] = useReducer(reducer, initialState);
178
+ useEffect(() => {
179
+ const menuProcessed = mobileData(menu, resolveUrl);
180
+ dispatch({
181
+ type: MenuActions.INIT,
182
+ payload: {
183
+ currentMenuData: menuProcessed,
184
+ stack: [{ title: "Menu", items: menuProcessed }],
185
+ quickLinks: menu?.quickLinks
186
+ }
187
+ });
188
+ }, [menu, resolveUrl]);
189
+ useEffect(() => {
190
+ if (!pathname) return;
191
+ }, [pathname]);
192
+ useEffect(() => {
193
+ if (typeof window !== "undefined") {
194
+ const search = window.location.search;
195
+ if (search.startsWith("?")) {
196
+ setQueryString(search.slice(1));
197
+ }
198
+ }
199
+ }, []);
200
+ const handleClick = (key) => {
201
+ dispatch({ type: MenuActions.ADD_TO_STACK, payload: key });
202
+ };
203
+ const handleBack = () => {
204
+ if (stack.stack.length > 1) {
205
+ dispatch({ type: MenuActions.REMOVE_FROM_STACK, payload: {} });
206
+ }
207
+ };
208
+ const handleToggle = () => {
209
+ dispatch({ type: MenuActions.SET_HAS_OPENED_ONCE, payload: {} });
210
+ dispatch({ type: MenuActions.SET_MOBILE_MENU_OPEN, payload: {} });
211
+ };
212
+ const handleLoginDrawerOpen = () => {
213
+ dispatch({ type: MenuActions.SET_LOGIN_MENU_OPEN, payload: {} });
214
+ };
215
+ const handleLoginDrawerClose = () => {
216
+ dispatch({ type: MenuActions.SET_LOGIN_MENU_CLOSED, payload: {} });
217
+ };
218
+ useEffect(() => {
219
+ const onEsc = (e) => {
220
+ if (e.key === "Escape")
221
+ dispatch({ type: MenuActions.SET_MOBILE_MENU_CLOSED, payload: {} });
222
+ };
223
+ if (stack.isMobileMenuOpen) {
224
+ document.addEventListener("keydown", onEsc);
225
+ }
226
+ return () => document.removeEventListener("keydown", onEsc);
227
+ }, [stack.isMobileMenuOpen]);
228
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
229
+ /* @__PURE__ */ jsxs("div", { className: styles.mobileNavRow, children: [
230
+ /* @__PURE__ */ jsx(
231
+ "button",
232
+ {
233
+ type: "button",
234
+ onClick: handleLoginDrawerOpen,
235
+ className: styles.loginTrigger,
236
+ "aria-label": "Open login options",
237
+ children: "Log in"
238
+ }
239
+ ),
240
+ /* @__PURE__ */ jsx(
241
+ "button",
242
+ {
243
+ onClick: handleToggle,
244
+ className: `${styles.hamburger} flex_col`,
245
+ "aria-label": "open navigation menu",
246
+ children: /* @__PURE__ */ jsx(
247
+ "svg",
248
+ {
249
+ width: 24,
250
+ height: 24,
251
+ viewBox: "0 0 24 24",
252
+ fill: "none",
253
+ xmlns: "http://www.w3.org/2000/svg",
254
+ "aria-hidden": "true",
255
+ children: /* @__PURE__ */ jsx(
256
+ "path",
257
+ {
258
+ fillRule: "evenodd",
259
+ clipRule: "evenodd",
260
+ d: "M22.5 15.75V17.25H1.5V15.75H22.5ZM22.5 11.25V12.75H1.5V11.25H22.5ZM22.5 6.75V8.25H1.5V6.75H22.5Z",
261
+ fill: "#14263D"
262
+ }
263
+ )
264
+ }
265
+ )
266
+ }
267
+ )
268
+ ] }),
269
+ /* @__PURE__ */ jsx(AnimatePresence, { children: stack.isMobileMenuOpen && /* @__PURE__ */ jsx(
270
+ motion.div,
271
+ {
272
+ className: styles.overlay,
273
+ initial: { opacity: 0 },
274
+ animate: { opacity: 1 },
275
+ exit: { opacity: 0 },
276
+ children: /* @__PURE__ */ jsxs(
277
+ motion.div,
278
+ {
279
+ className: `${styles.drawer} flex_col`,
280
+ ref: drawerRef,
281
+ initial: { x: "100%" },
282
+ animate: { x: 0 },
283
+ exit: { x: "100%" },
284
+ transition: { type: "tween", duration: 0.3 },
285
+ role: "dialog",
286
+ "aria-modal": "true",
287
+ "aria-labelledby": "menu-level",
288
+ "aria-describedby": "menu-description",
289
+ children: [
290
+ /* @__PURE__ */ jsx("p", { id: "menu-description", className: styles.sr_only, children: "Use tab to navigate this menu. Press Escape to close." }),
291
+ /* @__PURE__ */ jsxs("div", { className: styles.header, children: [
292
+ stack.stack?.length > 1 ? /* @__PURE__ */ jsxs(
293
+ "button",
294
+ {
295
+ onClick: handleBack,
296
+ className: styles.back,
297
+ "aria-label": "return to previous menu",
298
+ children: [
299
+ /* @__PURE__ */ jsx(
300
+ "svg",
301
+ {
302
+ width: 15,
303
+ height: 12,
304
+ viewBox: "0 0 20 12",
305
+ fill: "none",
306
+ xmlns: "http://www.w3.org/2000/svg",
307
+ style: { marginRight: 8, transform: "rotate(90deg)" },
308
+ children: /* @__PURE__ */ jsx(
309
+ "path",
310
+ {
311
+ d: "M0.46875 1.76574L9.99908 11.2961L19.5294 1.76574L18.4687 0.705078L9.99908 9.17491L1.52941 0.705078L0.46875 1.76574Z",
312
+ fill: "#2F5B88"
313
+ }
314
+ )
315
+ }
316
+ ),
317
+ /* @__PURE__ */ jsx("span", { className: styles.prevlevel, children: stack.prevLevel?.title })
318
+ ]
319
+ }
320
+ ) : /* @__PURE__ */ jsx(
321
+ "a",
322
+ {
323
+ href: window.location.href.split("/")[3] === "invest" ? "/invest" : "/",
324
+ "aria-label": "return to home page",
325
+ children: /* @__PURE__ */ jsx(
326
+ "img",
327
+ {
328
+ src: "https://www.axos.com/images/1sBwCIn5mqOg5DK2uXDJPc/axb_mobile_logo.png",
329
+ alt: "",
330
+ width: 86,
331
+ height: 19
332
+ }
333
+ )
334
+ }
335
+ ),
336
+ /* @__PURE__ */ jsx(
337
+ "button",
338
+ {
339
+ className: `${styles.close} flex_col`,
340
+ "aria-label": "close navigation menu",
341
+ onClick: handleToggle,
342
+ children: /* @__PURE__ */ jsx(
343
+ "svg",
344
+ {
345
+ xmlns: "http://www.w3.org/2000/svg",
346
+ width: "24",
347
+ height: "24",
348
+ viewBox: "0 0 24 24",
349
+ fill: "none",
350
+ "aria-hidden": "true",
351
+ children: /* @__PURE__ */ jsx(
352
+ "path",
353
+ {
354
+ d: "M20.2812 2.65625L21.3419 3.71691L13.0602 11.9982L21.3419 20.2812L20.2812 21.3419L11.9982 13.0602L3.71691 21.3419L2.65625 20.2812L10.9377 11.9982L2.65625 3.71691L3.71691 2.65625L11.9982 10.9377L20.2812 2.65625Z",
355
+ fill: "#14263D"
356
+ }
357
+ )
358
+ }
359
+ )
360
+ }
361
+ )
362
+ ] }),
363
+ /* @__PURE__ */ jsx("div", { className: styles.levelContainer, children: /* @__PURE__ */ jsxs("div", { className: "bg_white", children: [
364
+ /* @__PURE__ */ jsxs(
365
+ "span",
366
+ {
367
+ className: `${styles.level} flex middle`,
368
+ "aria-label": "current menu level",
369
+ children: [
370
+ /* @__PURE__ */ jsx("h2", { className: styles.levelTitle, id: "menu-level", children: stack.currentMenuData?.title }),
371
+ /* @__PURE__ */ jsx(
372
+ "svg",
373
+ {
374
+ width: 15,
375
+ height: 12,
376
+ viewBox: "0 0 20 12",
377
+ fill: "none",
378
+ xmlns: "http://www.w3.org/2000/svg",
379
+ style: { marginLeft: 12 },
380
+ children: /* @__PURE__ */ jsx(
381
+ "path",
382
+ {
383
+ d: "M0.46875 1.76574L9.99908 11.2961L19.5294 1.76574L18.4687 0.705078L9.99908 9.17491L1.52941 0.705078L0.46875 1.76574Z",
384
+ fill: "white"
385
+ }
386
+ )
387
+ }
388
+ )
389
+ ]
390
+ }
391
+ ),
392
+ /* @__PURE__ */ jsx("nav", { "aria-label": "main navigation menu", children: /* @__PURE__ */ jsx(
393
+ AnimatePresence,
394
+ {
395
+ custom: stack.direction,
396
+ mode: "sync",
397
+ initial: false,
398
+ children: /* @__PURE__ */ jsxs(
399
+ motion.ul,
400
+ {
401
+ className: styles.menu,
402
+ custom: stack.direction,
403
+ variants: slideVariants,
404
+ initial: "enter",
405
+ animate: "center",
406
+ exit: "exit",
407
+ transition: { duration: 0.3, ease: "linear" },
408
+ children: [
409
+ stack.stack.length > 1 && !stack.currentMenuData?.dropdown && /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
410
+ Link,
411
+ {
412
+ href: stack.currentMenuData.url + (queryString && !stack.currentMenuData.url.includes("?") ? `?${queryString}` : ""),
413
+ className: styles.menuItem,
414
+ children: /* @__PURE__ */ jsxs("span", { children: [
415
+ stack.currentMenuData.title,
416
+ " Home"
417
+ ] })
418
+ }
419
+ ) }),
420
+ stack?.currentMenuData?.items?.map((item) => {
421
+ const hasChildren = item.items && item.items.length > 0;
422
+ return hasChildren ? /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
423
+ "button",
424
+ {
425
+ className: styles.menuItem,
426
+ onClick: () => handleClick(item),
427
+ children: [
428
+ /* @__PURE__ */ jsx("span", { children: item.label }),
429
+ /* @__PURE__ */ jsx("span", { className: styles.chevron, children: /* @__PURE__ */ jsx(
430
+ "svg",
431
+ {
432
+ className: styles.chevronIcon,
433
+ width: 12,
434
+ height: 20,
435
+ viewBox: "0 0 12 20",
436
+ fill: "none",
437
+ xmlns: "http://www.w3.org/2000/svg",
438
+ children: /* @__PURE__ */ jsx(
439
+ "path",
440
+ {
441
+ d: "M1.76378 0.46875L11.2941 9.99908L1.76378 19.5294L0.703125 18.4687L9.17295 9.99908L0.703125 1.52941L1.76378 0.46875Z",
442
+ fill: "#4A5560"
443
+ }
444
+ )
445
+ }
446
+ ) })
447
+ ]
448
+ }
449
+ ) }, item.id + "1") : /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
450
+ Link,
451
+ {
452
+ href: item?.url + (queryString && !item?.url?.includes("?") ? `?${queryString}` : ""),
453
+ className: styles.menuItem,
454
+ children: /* @__PURE__ */ jsx("span", { children: item.label })
455
+ }
456
+ ) }, item.id);
457
+ })
458
+ ]
459
+ },
460
+ stack.currentMenuData?.title
461
+ )
462
+ }
463
+ ) }),
464
+ /* @__PURE__ */ jsx("div", { className: `${styles.quickLinks} flex middle between`, children: stack.quickLinks?.map((link) => /* @__PURE__ */ jsxs(
465
+ "a",
466
+ {
467
+ href: resolveUrl(link.url) + (queryString && !link.url.includes("?") ? `?${queryString}` : ""),
468
+ className: `${styles.quickLink} flex_col middle`,
469
+ "aria-label": link.ariaLabel,
470
+ children: [
471
+ /* @__PURE__ */ jsx(
472
+ "img",
473
+ {
474
+ src: link.icon,
475
+ alt: "",
476
+ height: 20,
477
+ width: 20,
478
+ loading: "lazy"
479
+ }
480
+ ),
481
+ /* @__PURE__ */ jsx("span", { children: link.label })
482
+ ]
483
+ },
484
+ link.id
485
+ )) })
486
+ ] }) })
487
+ ]
488
+ }
489
+ )
490
+ }
491
+ ) }),
492
+ /* @__PURE__ */ jsx(AnimatePresence, { children: stack.loginDrawer && /* @__PURE__ */ jsx(
493
+ motion.div,
494
+ {
495
+ className: styles.overlay,
496
+ initial: { opacity: 0 },
497
+ animate: { opacity: 1 },
498
+ exit: { opacity: 0 },
499
+ children: /* @__PURE__ */ jsxs(
500
+ motion.div,
501
+ {
502
+ className: `${styles.drawer} flex_col`,
503
+ ref: loginRef,
504
+ initial: { x: "100%" },
505
+ animate: { x: 0 },
506
+ exit: { x: "100%" },
507
+ transition: { type: "tween", duration: 0.3 },
508
+ role: "dialog",
509
+ "aria-modal": "true",
510
+ "aria-label": "Login options",
511
+ children: [
512
+ /* @__PURE__ */ jsxs("div", { className: styles.header, children: [
513
+ /* @__PURE__ */ jsx(
514
+ "a",
515
+ {
516
+ href: window.location.href.split("/")[3] === "invest" ? "/invest" : "/",
517
+ "aria-label": "return to home page",
518
+ children: /* @__PURE__ */ jsx(
519
+ "img",
520
+ {
521
+ src: "https://www.axos.com/images/1sBwCIn5mqOg5DK2uXDJPc/axb_mobile_logo.png",
522
+ alt: "",
523
+ width: 86,
524
+ height: 19
525
+ }
526
+ )
527
+ }
528
+ ),
529
+ /* @__PURE__ */ jsx("span", { className: styles.loginDrawerTitle, children: "Log in" }),
530
+ /* @__PURE__ */ jsx(
531
+ "button",
532
+ {
533
+ type: "button",
534
+ className: `${styles.close} flex_col`,
535
+ "aria-label": "Close login options",
536
+ onClick: handleLoginDrawerClose,
537
+ children: /* @__PURE__ */ jsx(
538
+ "svg",
539
+ {
540
+ xmlns: "http://www.w3.org/2000/svg",
541
+ width: "24",
542
+ height: "24",
543
+ viewBox: "0 0 24 24",
544
+ fill: "none",
545
+ "aria-hidden": "true",
546
+ children: /* @__PURE__ */ jsx(
547
+ "path",
548
+ {
549
+ d: "M20.2812 2.65625L21.3419 3.71691L13.0602 11.9982L21.3419 20.2812L20.2812 21.3419L11.9982 13.0602L3.71691 21.3419L2.65625 20.2812L10.9377 11.9982L2.65625 3.71691L3.71691 2.65625L11.9982 10.9377L20.2812 2.65625Z",
550
+ fill: "#14263D"
551
+ }
552
+ )
553
+ }
554
+ )
555
+ }
556
+ )
557
+ ] }),
558
+ /* @__PURE__ */ jsx("div", { className: styles.loginDrawerContent, children: /* @__PURE__ */ jsx("div", { className: styles.loginAccordion, children: /* @__PURE__ */ jsxs(
559
+ "ul",
560
+ {
561
+ className: styles.loginAccordionList,
562
+ "aria-label": "Login options",
563
+ children: [
564
+ stack.loginData?.items?.filter((item) => item.items)?.map((group) => {
565
+ return /* @__PURE__ */ jsxs(
566
+ "li",
567
+ {
568
+ className: styles.loginAccordionGroup,
569
+ "aria-label": `${group?.label} login options`,
570
+ children: [
571
+ /* @__PURE__ */ jsx("span", { className: styles.loginAccordionHeading, children: group.label }),
572
+ /* @__PURE__ */ jsx("ul", { className: styles.loginAccordionGroupList, children: group.items?.map((item) => /* @__PURE__ */ jsx(
573
+ "li",
574
+ {
575
+ "aria-label": `access ${item.label}`,
576
+ children: /* @__PURE__ */ jsx(
577
+ "a",
578
+ {
579
+ href: item.url + (queryString && !item.url.includes("?") ? `?${queryString}` : ""),
580
+ className: styles.menuItem,
581
+ children: /* @__PURE__ */ jsx("span", { children: item.label })
582
+ }
583
+ )
584
+ },
585
+ item.id
586
+ )) })
587
+ ]
588
+ },
589
+ group?.id
590
+ );
591
+ }),
592
+ /* @__PURE__ */ jsxs(
593
+ "li",
594
+ {
595
+ className: styles.loginAccordionGroup,
596
+ children: [
597
+ /* @__PURE__ */ jsx("span", { className: styles.loginAccordionHeading }),
598
+ stack.loginData?.items.filter((item) => !item.items).map((group) => {
599
+ return /* @__PURE__ */ jsx(
600
+ "ul",
601
+ {
602
+ className: styles.loginAccordionGroupList,
603
+ children: /* @__PURE__ */ jsx(
604
+ "li",
605
+ {
606
+ "aria-label": `access ${group.label}`,
607
+ children: /* @__PURE__ */ jsx(
608
+ "a",
609
+ {
610
+ href: group.url + (queryString && !group.url.includes("?") ? `?${queryString}` : ""),
611
+ className: styles.menuItem,
612
+ children: /* @__PURE__ */ jsx("span", { children: group.label })
613
+ }
614
+ )
615
+ },
616
+ group.id
617
+ )
618
+ },
619
+ group.id
620
+ );
621
+ })
622
+ ]
623
+ }
624
+ )
625
+ ]
626
+ }
627
+ ) }) })
628
+ ]
629
+ }
630
+ )
631
+ }
632
+ ) })
633
+ ] });
634
+ };
635
+ export {
636
+ MobileDrawerMenu as default
637
+ };