@axos-web-dev/shared-components 2.0.0-dev.2-nav-0 → 2.0.0-dev.2-bwaTest

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 (64) hide show
  1. package/dist/ATMLocator/ATMLocator.js +1 -2
  2. package/dist/Auth/ErrorAlert.js +1 -2
  3. package/dist/Button/Button.js +1 -2
  4. package/dist/Calculators/Calculator.js +1 -2
  5. package/dist/Calculators/MarginTradingCalculator/index.js +1 -2
  6. package/dist/Carousel/index.js +1 -2
  7. package/dist/Chevron/index.js +1 -2
  8. package/dist/Comparison/Comparison.js +1 -2
  9. package/dist/ExecutiveBio/ExecutiveBio.js +1 -2
  10. package/dist/FaqAccordion/index.js +1 -2
  11. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +1 -2
  12. package/dist/Forms/ApplyNow.js +1 -2
  13. package/dist/Forms/ContactUsBusiness.js +1 -2
  14. package/dist/Forms/ContactUsBusinessNameEmail.js +1 -2
  15. package/dist/Forms/ContactUsNMLSId.js +1 -2
  16. package/dist/Forms/CpraRequest.js +1 -2
  17. package/dist/Forms/CraPublicFile.js +1 -2
  18. package/dist/Forms/EmailOnly.js +1 -2
  19. package/dist/Forms/EmailUs.js +40 -34
  20. package/dist/Forms/Forms.css.d.ts +3 -0
  21. package/dist/Forms/Forms.css.js +39 -39
  22. package/dist/Forms/MortgageRate/MortgageRateForm.js +1 -2
  23. package/dist/Forms/MortgageRate/MortgageRateWatch.js +1 -2
  24. package/dist/Forms/MortgageWarehouseLending.js +1 -2
  25. package/dist/Forms/SuccesForm.js +1 -2
  26. package/dist/Hyperlink/index.js +1 -2
  27. package/dist/ImageLink/ImageLink.js +1 -2
  28. package/dist/ImageLink/ImageLinkSet.js +1 -2
  29. package/dist/ImageLink/index.js +1 -2
  30. package/dist/Insight/Featured/CategorySelector.js +1 -2
  31. package/dist/Insight/Featured/Featured.js +1 -2
  32. package/dist/Insight/Featured/Header.js +1 -2
  33. package/dist/Modal/Modal.js +1 -2
  34. package/dist/NavigationMenu/AxosALTS/index.js +1 -2
  35. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.d.ts +1 -12
  36. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.js +160 -180
  37. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.d.ts +268 -37
  38. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +492 -63
  39. package/dist/NavigationMenu/AxosBank/NavBar.module.js +39 -42
  40. package/dist/NavigationMenu/AxosBank/SubNavBar.d.ts +1 -6
  41. package/dist/NavigationMenu/AxosBank/SubNavBar.js +3081 -117
  42. package/dist/NavigationMenu/AxosBank/index.d.ts +4 -6
  43. package/dist/NavigationMenu/AxosBank/index.js +355 -85
  44. package/dist/NavigationMenu/LaVictoire/index.js +1 -2
  45. package/dist/NavigationMenu/Navbar.d.ts +1 -4
  46. package/dist/NavigationMenu/Navbar.js +8 -9
  47. package/dist/NavigationMenu/SignInNavButton.js +2 -3
  48. package/dist/SetContainer/SetContainer.js +1 -2
  49. package/dist/SocialMediaBar/iconsRepository.js +1 -2
  50. package/dist/VideoTile/VideoTile.js +1 -2
  51. package/dist/VideoWrapper/index.js +1 -2
  52. package/dist/assets/Forms/Forms.css +94 -91
  53. package/dist/assets/NavigationMenu/AxosBank/NavBar.css +87 -125
  54. package/package.json +1 -1
  55. package/dist/NavigationMenu/AxosBank/DropwdownButton.d.ts +0 -7
  56. package/dist/NavigationMenu/AxosBank/DropwdownButton.js +0 -239
  57. package/dist/NavigationMenu/AxosBank/Menu.d.ts +0 -37
  58. package/dist/NavigationMenu/AxosBank/Menu.js +0 -254
  59. package/dist/NavigationMenu/AxosBank/MobileMenu/mobileReducer.d.ts +0 -36
  60. package/dist/NavigationMenu/AxosBank/MobileMenu/mobileReducer.js +0 -105
  61. package/dist/NavigationMenu/AxosBank/SubNavItem.d.ts +0 -1
  62. package/dist/NavigationMenu/AxosBank/SubNavItem.js +0 -313
  63. package/dist/NavigationMenu/utils.d.ts +0 -465
  64. package/dist/NavigationMenu/utils.js +0 -112
@@ -1,5 +1,11 @@
1
1
  "use client";
2
2
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
3
+ import { useState, useRef, useMemo, useEffect } from "react";
4
+ import { AnimatePresence, motion } from "framer-motion";
5
+ import { usePathname } from "next/navigation.js";
6
+ import Link from "next/link.js";
7
+ import { getMenuData, getLoginGroups, getQuickLinks } from "./MobileNavData.js";
8
+ import styles from "./MobileMenu.module.js";
3
9
  import "../../../Chevron/Chevron.css.js";
4
10
  import "../../../Accordion/Accordion.js";
5
11
  import "../../../Accordion/Accordion.css.js";
@@ -12,7 +18,6 @@ import '../../../assets/Modal/Modal.css';import '../../../assets/VideoWrapper/Vi
12
18
  /* empty css */
13
19
  /* empty css */
14
20
  import "clsx";
15
- import { useRef, useReducer, useState, useEffect } from "react";
16
21
  import "../../../AlertBanner/AlertBanner.css.js";
17
22
  import "../../../Article/Article.css.js";
18
23
  import "../../../IconBillboard/IconBillboard.css.js";
@@ -20,7 +25,7 @@ import "../../../IconBillboard/IconBillboard.css.js";
20
25
  /* empty css */
21
26
  import "../../../Interstitial/Interstitial-variants.css.js";
22
27
  import "../../../Button/Button.css.js";
23
- import { useClickAway } from "react-use";
28
+ import "react-use";
24
29
  import "../../../ArticlesSet/ArticlesSet.css.js";
25
30
  import "../../../Calculators/calculator.css.js";
26
31
  import "../../../Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js";
@@ -68,7 +73,6 @@ import "../../../Auth/SignInPassword.js";
68
73
  /* empty css */
69
74
  /* empty css */
70
75
  import "../../../Carousel/index.js";
71
- import { AnimatePresence, motion } from "framer-motion";
72
76
  /* empty css */
73
77
  /* empty css */
74
78
  import "../../../Chatbot/store/chat.js";
@@ -102,17 +106,14 @@ import "next/script.js";
102
106
  /* empty css */
103
107
  import "../../../LandingPageHeader/LandingPageHeader.css.js";
104
108
  /* empty css */
105
- import { usePathname } from "next/navigation.js";
106
109
  /* empty css */
107
110
  /* empty css */
108
111
  /* empty css */
109
112
  /* empty css */
110
- import "../Menu.js";
111
113
  /* empty css */
112
114
  /* empty css */
113
115
  /* empty css */
114
116
  /* empty css */
115
- import Link from "next/link.js";
116
117
  import "../../../PageNavItem/PageNavItem.css.js";
117
118
  import "react-slick";
118
119
  /* empty css */
@@ -127,9 +128,6 @@ import "../../../StepItemSet/StepItemSet.css.js";
127
128
  /* empty css */
128
129
  /* empty css */
129
130
  /* empty css */
130
- import styles from "./MobileMenu.module.js";
131
- import { mobileData } from "./MobileNavData.js";
132
- import { MenuActions, reducer } from "./mobileReducer.js";
133
131
  const slideVariants = {
134
132
  enter: (direction) => ({
135
133
  x: direction === "forward" ? "100%" : "-100%",
@@ -148,43 +146,30 @@ const slideVariants = {
148
146
  position: "absolute"
149
147
  })
150
148
  };
151
- const initialState = {
152
- direction: "forward",
153
- isMobileMenuOpen: false,
154
- hasOpenedOnce: false,
155
- prevLevel: [],
156
- currentMenuData: null,
157
- stack: [],
158
- loginDrawer: false,
159
- loginData: {}
160
- };
161
- const MobileDrawerMenu = ({ menu }) => {
162
- const { resolveUrl } = useGlobalContext();
149
+ const MobileDrawerMenu = () => {
163
150
  const pathname = usePathname();
164
- const drawerRef = useRef(null);
165
- const loginRef = useRef(null);
166
- useClickAway(drawerRef, () => {
167
- dispatch({ type: MenuActions.SET_MOBILE_MENU_CLOSED, payload: {} });
168
- });
169
- useClickAway(loginRef, () => {
170
- dispatch({ type: MenuActions.SET_LOGIN_MENU_CLOSED, payload: {} });
171
- });
151
+ const { resolveUrl } = useGlobalContext();
152
+ const menuData = getMenuData(resolveUrl);
172
153
  const [queryString, setQueryString] = useState("");
173
- const [stack, dispatch] = useReducer(reducer, initialState);
174
- useEffect(() => {
175
- const menuProcessed = mobileData(menu);
176
- dispatch({
177
- type: MenuActions.INIT,
178
- payload: {
179
- currentMenuData: menuProcessed,
180
- stack: [{ title: "Menu", items: menuProcessed }],
181
- quickLinks: menu?.quickLinks
182
- }
183
- });
184
- }, [menu]);
154
+ const [open, setOpen] = useState(false);
155
+ const [stack, setStack] = useState([
156
+ { title: "Main Menu", items: menuData }
157
+ ]);
158
+ const [hasOpenedOnce, setHasOpenedOnce] = useState(false);
159
+ const [direction, setDirection] = useState("forward");
160
+ const [quickLinks, setQuickLinks] = useState([]);
161
+ const [loginDrawerOpen, setLoginDrawerOpen] = useState(false);
162
+ const drawerRef = useRef(null);
163
+ const loginDrawerRef = useRef(null);
164
+ const loginGroups = useMemo(() => getLoginGroups(resolveUrl), [resolveUrl]);
165
+ const currentLevel = stack[stack.length - 1];
166
+ const prevLevel = stack[stack.length - 2];
185
167
  useEffect(() => {
186
168
  if (!pathname) return;
187
- }, [pathname]);
169
+ const pathnameParts = "/" + pathname.split("/")[1];
170
+ const links = getQuickLinks(pathnameParts, resolveUrl);
171
+ setQuickLinks(links);
172
+ }, [pathname, resolveUrl]);
188
173
  useEffect(() => {
189
174
  if (typeof window !== "undefined") {
190
175
  const search = window.location.search;
@@ -194,33 +179,71 @@ const MobileDrawerMenu = ({ menu }) => {
194
179
  }
195
180
  }, []);
196
181
  const handleClick = (key) => {
197
- dispatch({ type: MenuActions.ADD_TO_STACK, payload: key });
182
+ const item = currentLevel.items[key];
183
+ if (typeof item === "object") {
184
+ setDirection("forward");
185
+ setStack((prev) => [...prev, { title: key, items: item }]);
186
+ }
198
187
  };
199
188
  const handleBack = () => {
200
- if (stack.stack.length > 1) {
201
- dispatch({ type: MenuActions.REMOVE_FROM_STACK, payload: {} });
189
+ if (stack.length > 1) {
190
+ setDirection("backward");
191
+ setStack((prev) => prev.slice(0, -1));
202
192
  }
203
193
  };
204
194
  const handleToggle = () => {
205
- dispatch({ type: MenuActions.SET_HAS_OPENED_ONCE, payload: {} });
206
- dispatch({ type: MenuActions.SET_MOBILE_MENU_OPEN, payload: {} });
195
+ setOpen((prev) => {
196
+ const isOpening = !prev;
197
+ if (isOpening && !hasOpenedOnce) {
198
+ setHasOpenedOnce(true);
199
+ setStack([{ title: "Menu", items: menuData }]);
200
+ }
201
+ return isOpening;
202
+ });
207
203
  };
208
- const handleLoginDrawerOpen = () => {
209
- dispatch({ type: MenuActions.SET_LOGIN_MENU_OPEN, payload: {} });
204
+ const handleLoginDrawerOpen = () => setLoginDrawerOpen(true);
205
+ const handleLoginDrawerClose = () => setLoginDrawerOpen(false);
206
+ const handleLoginDrawerOutsideClick = (e) => {
207
+ if (loginDrawerRef.current && !loginDrawerRef.current.contains(e.target)) {
208
+ setLoginDrawerOpen(false);
209
+ }
210
210
  };
211
- const handleLoginDrawerClose = () => {
212
- dispatch({ type: MenuActions.SET_LOGIN_MENU_CLOSED, payload: {} });
211
+ const handleOutsideClick = (e) => {
212
+ if (drawerRef.current && !drawerRef.current.contains(e.target)) {
213
+ setOpen(false);
214
+ }
213
215
  };
216
+ useEffect(() => {
217
+ if (open) {
218
+ document.addEventListener("mousedown", handleOutsideClick);
219
+ } else {
220
+ document.removeEventListener("mousedown", handleOutsideClick);
221
+ }
222
+ return () => document.removeEventListener("mousedown", handleOutsideClick);
223
+ }, [open]);
224
+ useEffect(() => {
225
+ const onEsc = (e) => {
226
+ if (e.key === "Escape") setOpen(false);
227
+ };
228
+ if (open) {
229
+ document.addEventListener("keydown", onEsc);
230
+ }
231
+ return () => document.removeEventListener("keydown", onEsc);
232
+ }, [open]);
233
+ useEffect(() => {
234
+ if (!loginDrawerOpen) return;
235
+ document.addEventListener("mousedown", handleLoginDrawerOutsideClick);
236
+ return () => document.removeEventListener("mousedown", handleLoginDrawerOutsideClick);
237
+ }, [loginDrawerOpen]);
214
238
  useEffect(() => {
215
239
  const onEsc = (e) => {
216
- if (e.key === "Escape")
217
- dispatch({ type: MenuActions.SET_MOBILE_MENU_CLOSED, payload: {} });
240
+ if (e.key === "Escape") setLoginDrawerOpen(false);
218
241
  };
219
- if (stack.isMobileMenuOpen) {
242
+ if (loginDrawerOpen) {
220
243
  document.addEventListener("keydown", onEsc);
221
244
  }
222
245
  return () => document.removeEventListener("keydown", onEsc);
223
- }, [stack.isMobileMenuOpen]);
246
+ }, [loginDrawerOpen]);
224
247
  return /* @__PURE__ */ jsxs(Fragment, { children: [
225
248
  /* @__PURE__ */ jsxs("div", { className: styles.mobileNavRow, children: [
226
249
  /* @__PURE__ */ jsx(
@@ -262,7 +285,7 @@ const MobileDrawerMenu = ({ menu }) => {
262
285
  }
263
286
  )
264
287
  ] }),
265
- /* @__PURE__ */ jsx(AnimatePresence, { children: stack.isMobileMenuOpen && /* @__PURE__ */ jsx(
288
+ /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsx(
266
289
  motion.div,
267
290
  {
268
291
  className: styles.overlay,
@@ -285,7 +308,7 @@ const MobileDrawerMenu = ({ menu }) => {
285
308
  children: [
286
309
  /* @__PURE__ */ jsx("p", { id: "menu-description", className: styles.sr_only, children: "Use tab to navigate this menu. Press Escape to close." }),
287
310
  /* @__PURE__ */ jsxs("div", { className: styles.header, children: [
288
- stack.stack?.length > 1 ? /* @__PURE__ */ jsxs(
311
+ stack.length > 1 ? /* @__PURE__ */ jsxs(
289
312
  "button",
290
313
  {
291
314
  onClick: handleBack,
@@ -310,7 +333,7 @@ const MobileDrawerMenu = ({ menu }) => {
310
333
  )
311
334
  }
312
335
  ),
313
- /* @__PURE__ */ jsx("span", { className: styles.prevlevel, children: stack.prevLevel?.title })
336
+ /* @__PURE__ */ jsx("span", { className: styles.prevlevel, children: prevLevel.title })
314
337
  ]
315
338
  }
316
339
  ) : /* @__PURE__ */ jsx(
@@ -363,7 +386,7 @@ const MobileDrawerMenu = ({ menu }) => {
363
386
  className: `${styles.level} flex middle`,
364
387
  "aria-label": "current menu level",
365
388
  children: [
366
- /* @__PURE__ */ jsx("h2", { className: styles.levelTitle, id: "menu-level", children: stack.currentMenuData?.title }),
389
+ /* @__PURE__ */ jsx("h2", { className: styles.levelTitle, id: "menu-level", children: currentLevel.title }),
367
390
  /* @__PURE__ */ jsx(
368
391
  "svg",
369
392
  {
@@ -388,81 +411,75 @@ const MobileDrawerMenu = ({ menu }) => {
388
411
  /* @__PURE__ */ jsx("nav", { "aria-label": "main navigation menu", children: /* @__PURE__ */ jsx(
389
412
  AnimatePresence,
390
413
  {
391
- custom: stack.direction,
414
+ custom: direction,
392
415
  mode: "sync",
393
416
  initial: false,
394
- children: /* @__PURE__ */ jsxs(
417
+ children: /* @__PURE__ */ jsx(
395
418
  motion.ul,
396
419
  {
397
420
  className: styles.menu,
398
- custom: stack.direction,
421
+ custom: direction,
399
422
  variants: slideVariants,
400
423
  initial: "enter",
401
424
  animate: "center",
402
425
  exit: "exit",
403
426
  transition: { duration: 0.3, ease: "linear" },
404
- children: [
405
- stack.stack.length > 1 && !stack.currentMenuData?.dropdown && /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
427
+ children: Object.entries(
428
+ stack.length === 1 ? Object.fromEntries(
429
+ Object.entries(currentLevel.items).filter(
430
+ ([k]) => k !== "Log in"
431
+ )
432
+ ) : currentLevel.items
433
+ ).map(([key, value]) => {
434
+ const hasChildren = typeof value === "object";
435
+ return /* @__PURE__ */ jsx("li", { children: hasChildren ? /* @__PURE__ */ jsxs(
436
+ "button",
437
+ {
438
+ className: styles.menuItem,
439
+ onClick: () => handleClick(key),
440
+ "aria-label": `open submenu for ${key}`,
441
+ children: [
442
+ /* @__PURE__ */ jsx("span", { children: key }),
443
+ /* @__PURE__ */ jsx("span", { className: styles.chevron, children: /* @__PURE__ */ jsx(
444
+ "svg",
445
+ {
446
+ className: styles.chevronIcon,
447
+ width: 12,
448
+ height: 20,
449
+ viewBox: "0 0 12 20",
450
+ fill: "none",
451
+ xmlns: "http://www.w3.org/2000/svg",
452
+ children: /* @__PURE__ */ jsx(
453
+ "path",
454
+ {
455
+ d: "M1.76378 0.46875L11.2941 9.99908L1.76378 19.5294L0.703125 18.4687L9.17295 9.99908L0.703125 1.52941L1.76378 0.46875Z",
456
+ fill: "#4A5560"
457
+ }
458
+ )
459
+ }
460
+ ) })
461
+ ]
462
+ }
463
+ ) : /* @__PURE__ */ jsx(
406
464
  Link,
407
465
  {
408
- href: stack.currentMenuData.url + (queryString && !stack.currentMenuData.url.includes("?") ? `?${queryString}` : ""),
466
+ href: `${value}${queryString && !value.includes("?") ? `?${queryString}` : ""}`,
409
467
  className: styles.menuItem,
410
- children: /* @__PURE__ */ jsxs("span", { children: [
411
- stack.currentMenuData.title,
412
- " Home"
413
- ] })
468
+ children: /* @__PURE__ */ jsx("span", { children: key })
414
469
  }
415
- ) }),
416
- stack?.currentMenuData?.items?.map((item) => {
417
- const hasChildren = item.items && item.items.length > 0;
418
- return hasChildren ? /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
419
- "button",
420
- {
421
- className: styles.menuItem,
422
- onClick: () => handleClick(item),
423
- children: [
424
- /* @__PURE__ */ jsx("span", { children: item.label }),
425
- /* @__PURE__ */ jsx("span", { className: styles.chevron, children: /* @__PURE__ */ jsx(
426
- "svg",
427
- {
428
- className: styles.chevronIcon,
429
- width: 12,
430
- height: 20,
431
- viewBox: "0 0 12 20",
432
- fill: "none",
433
- xmlns: "http://www.w3.org/2000/svg",
434
- children: /* @__PURE__ */ jsx(
435
- "path",
436
- {
437
- d: "M1.76378 0.46875L11.2941 9.99908L1.76378 19.5294L0.703125 18.4687L9.17295 9.99908L0.703125 1.52941L1.76378 0.46875Z",
438
- fill: "#4A5560"
439
- }
440
- )
441
- }
442
- ) })
443
- ]
444
- }
445
- ) }, item.id + "1") : /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
446
- Link,
447
- {
448
- href: item?.url + (queryString && !item?.url?.includes("?") ? `?${queryString}` : ""),
449
- className: styles.menuItem,
450
- children: /* @__PURE__ */ jsx("span", { children: item.label })
451
- }
452
- ) }, item.id);
453
- })
454
- ]
470
+ ) }, key);
471
+ })
455
472
  },
456
- stack.currentMenuData?.title
473
+ currentLevel.title
457
474
  )
458
475
  }
459
476
  ) }),
460
- /* @__PURE__ */ jsx("div", { className: `${styles.quickLinks} flex middle between`, children: stack.quickLinks?.map((link) => /* @__PURE__ */ jsxs(
477
+ /* @__PURE__ */ jsx("div", { className: `${styles.quickLinks} flex middle between`, children: quickLinks.map((link) => /* @__PURE__ */ jsxs(
461
478
  "a",
462
479
  {
463
- href: resolveUrl(link.url) + (queryString && !link.url.includes("?") ? `?${queryString}` : ""),
480
+ href: link.url + (queryString && !link.url.includes("?") ? `?${queryString}` : ""),
464
481
  className: `${styles.quickLink} flex_col middle`,
465
- "aria-label": link.ariaLabel,
482
+ "aria-label": `Visit ${link.title} page`,
466
483
  children: [
467
484
  /* @__PURE__ */ jsx(
468
485
  "img",
@@ -474,10 +491,10 @@ const MobileDrawerMenu = ({ menu }) => {
474
491
  loading: "lazy"
475
492
  }
476
493
  ),
477
- /* @__PURE__ */ jsx("span", { children: link.label })
494
+ /* @__PURE__ */ jsx("span", { children: link.title })
478
495
  ]
479
496
  },
480
- link.id
497
+ link.title
481
498
  )) })
482
499
  ] }) })
483
500
  ]
@@ -485,7 +502,7 @@ const MobileDrawerMenu = ({ menu }) => {
485
502
  )
486
503
  }
487
504
  ) }),
488
- /* @__PURE__ */ jsx(AnimatePresence, { children: stack.loginDrawer && /* @__PURE__ */ jsx(
505
+ /* @__PURE__ */ jsx(AnimatePresence, { children: loginDrawerOpen && /* @__PURE__ */ jsx(
489
506
  motion.div,
490
507
  {
491
508
  className: styles.overlay,
@@ -496,7 +513,7 @@ const MobileDrawerMenu = ({ menu }) => {
496
513
  motion.div,
497
514
  {
498
515
  className: `${styles.drawer} flex_col`,
499
- ref: loginRef,
516
+ ref: loginDrawerRef,
500
517
  initial: { x: "100%" },
501
518
  animate: { x: 0 },
502
519
  exit: { x: "100%" },
@@ -551,74 +568,37 @@ const MobileDrawerMenu = ({ menu }) => {
551
568
  }
552
569
  )
553
570
  ] }),
554
- /* @__PURE__ */ jsx("div", { className: styles.loginDrawerContent, children: /* @__PURE__ */ jsx("div", { className: styles.loginAccordion, children: /* @__PURE__ */ jsxs(
571
+ /* @__PURE__ */ jsx("div", { className: styles.loginDrawerContent, children: /* @__PURE__ */ jsx("div", { className: styles.loginAccordion, children: /* @__PURE__ */ jsx(
555
572
  "ul",
556
573
  {
557
574
  className: styles.loginAccordionList,
558
575
  "aria-label": "Login options",
559
- children: [
560
- stack.loginData?.items?.filter((item) => item.items)?.map((group) => {
561
- return /* @__PURE__ */ jsxs(
562
- "li",
563
- {
564
- className: styles.loginAccordionGroup,
565
- "aria-label": `${group?.label} login options`,
566
- children: [
567
- /* @__PURE__ */ jsx("span", { className: styles.loginAccordionHeading, children: group.label }),
568
- /* @__PURE__ */ jsx("ul", { className: styles.loginAccordionGroupList, children: group.items?.map((item) => /* @__PURE__ */ jsx(
569
- "li",
570
- {
571
- "aria-label": `access ${item.label}`,
572
- children: /* @__PURE__ */ jsx(
573
- "a",
574
- {
575
- href: item.url + (queryString && !item.url.includes("?") ? `?${queryString}` : ""),
576
- className: styles.menuItem,
577
- children: /* @__PURE__ */ jsx("span", { children: item.label })
578
- }
579
- )
580
- },
581
- item.id
582
- )) })
583
- ]
584
- },
585
- group?.id
586
- );
587
- }),
588
- /* @__PURE__ */ jsxs(
589
- "li",
590
- {
591
- className: styles.loginAccordionGroup,
592
- children: [
593
- /* @__PURE__ */ jsx("span", { className: styles.loginAccordionHeading }),
594
- stack.loginData?.items.filter((item) => !item.items).map((group) => {
595
- return /* @__PURE__ */ jsx(
596
- "ul",
576
+ children: loginGroups.map((group) => /* @__PURE__ */ jsxs(
577
+ "li",
578
+ {
579
+ className: styles.loginAccordionGroup,
580
+ "aria-label": `${group.heading} login options`,
581
+ children: [
582
+ /* @__PURE__ */ jsx("span", { className: styles.loginAccordionHeading, children: group.heading }),
583
+ /* @__PURE__ */ jsx("ul", { className: styles.loginAccordionGroupList, children: group.items.map((item) => /* @__PURE__ */ jsx(
584
+ "li",
585
+ {
586
+ "aria-label": `access ${item.title}`,
587
+ children: /* @__PURE__ */ jsx(
588
+ Link,
597
589
  {
598
- className: styles.loginAccordionGroupList,
599
- children: /* @__PURE__ */ jsx(
600
- "li",
601
- {
602
- "aria-label": `access ${group.label}`,
603
- children: /* @__PURE__ */ jsx(
604
- "a",
605
- {
606
- href: group.url + (queryString && !group.url.includes("?") ? `?${queryString}` : ""),
607
- className: styles.menuItem,
608
- children: /* @__PURE__ */ jsx("span", { children: group.label })
609
- }
610
- )
611
- },
612
- group.id
613
- )
614
- },
615
- group.id
616
- );
617
- })
618
- ]
619
- }
620
- )
621
- ]
590
+ href: item.url + (queryString && !item.url.includes("?") ? `?${queryString}` : ""),
591
+ className: styles.menuItem,
592
+ children: /* @__PURE__ */ jsx("span", { children: item.title })
593
+ }
594
+ )
595
+ },
596
+ item.title
597
+ )) })
598
+ ]
599
+ },
600
+ group.heading
601
+ ))
622
602
  }
623
603
  ) }) })
624
604
  ]