@axos-web-dev/shared-components 2.0.0-dev.22 → 2.0.0-dev.22-nav-3

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 (105) hide show
  1. package/dist/ATMLocator/ATMLocator.js +4 -3
  2. package/dist/Accordion/Accordion.js +3 -1
  3. package/dist/AlertBanner/index.js +3 -1
  4. package/dist/Auth/ErrorAlert.js +4 -3
  5. package/dist/BulletItem/BulletItem.js +3 -1
  6. package/dist/Button/Button.js +4 -3
  7. package/dist/Calculators/AxosOneCalculator/index.js +3 -1
  8. package/dist/Calculators/BalanceAPYCalculator/index.js +3 -1
  9. package/dist/Calculators/Calculator.js +4 -3
  10. package/dist/Calculators/MarginTradingCalculator/index.js +4 -3
  11. package/dist/Calculators/SummitApyCalculator/index.js +3 -1
  12. package/dist/Carousel/index.js +3 -2
  13. package/dist/Chat/Chat.d.ts +4 -0
  14. package/dist/Chat/Chat.js +13 -0
  15. package/dist/Chat/index.d.ts +1 -0
  16. package/dist/Chat/index.js +5 -0
  17. package/dist/Chevron/index.js +4 -3
  18. package/dist/CollectInformationAlert/index.js +3 -1
  19. package/dist/Comparison/Comparison.css.js +3 -2
  20. package/dist/Comparison/Comparison.js +4 -3
  21. package/dist/DownloadTile/index.js +6 -0
  22. package/dist/ExecutiveBio/ExecutiveBio.js +4 -3
  23. package/dist/FaqAccordion/index.js +4 -3
  24. package/dist/FooterDisclosure/LVF/LaVictorieFooter.js +3 -1
  25. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +4 -3
  26. package/dist/Forms/ApplicationStart.js +3 -1
  27. package/dist/Forms/ApplyNow.js +4 -3
  28. package/dist/Forms/BoatMooringLocation.js +3 -1
  29. package/dist/Forms/ClearingForm.js +3 -1
  30. package/dist/Forms/CommercialDeposits.js +3 -1
  31. package/dist/Forms/CommercialDepositsNoLendingOption.js +3 -1
  32. package/dist/Forms/CommercialLending.js +3 -1
  33. package/dist/Forms/CommercialPremiumFinance.js +3 -1
  34. package/dist/Forms/ConstructionLendingDynamic.js +3 -1
  35. package/dist/Forms/ContactCompany.js +3 -1
  36. package/dist/Forms/ContactCompanyTitle.js +3 -1
  37. package/dist/Forms/ContactUs.js +3 -1
  38. package/dist/Forms/ContactUsAAS.js +3 -1
  39. package/dist/Forms/ContactUsBusiness.js +4 -3
  40. package/dist/Forms/ContactUsBusinessNameEmail.js +4 -3
  41. package/dist/Forms/ContactUsLVF.js +3 -1
  42. package/dist/Forms/ContactUsNMLSId.js +4 -3
  43. package/dist/Forms/CpraRequest.js +4 -3
  44. package/dist/Forms/CraPublicFile.js +4 -3
  45. package/dist/Forms/DealerServices.js +3 -1
  46. package/dist/Forms/EmailOnly.js +4 -3
  47. package/dist/Forms/EmailUs.js +3 -1
  48. package/dist/Forms/MortgageRate/MortgageRateForm.js +4 -3
  49. package/dist/Forms/MortgageRate/MortgageRateWatch.js +3 -2
  50. package/dist/Forms/MortgageWarehouseLending.js +4 -3
  51. package/dist/Forms/QuickPricer/QuickPricerForm.js +3 -1
  52. package/dist/Forms/ScheduleCall.js +3 -1
  53. package/dist/Forms/ScheduleCallPremier.js +3 -1
  54. package/dist/Forms/SuccesForm.js +3 -2
  55. package/dist/Forms/WcplSurvey.js +3 -1
  56. package/dist/HeroBanner/HeroBanner.js +4 -2
  57. package/dist/HeroBanner/LargeHeroBanner.js +3 -1
  58. package/dist/Hyperlink/index.js +4 -3
  59. package/dist/ImageBillboard/ImageBillboard.js +3 -1
  60. package/dist/ImageBillboard/ImageBillboardSet.js +3 -2
  61. package/dist/ImageLink/ImageLink.js +4 -3
  62. package/dist/ImageLink/ImageLinkSet.js +3 -2
  63. package/dist/ImageLink/index.js +4 -3
  64. package/dist/Insight/Featured/CategorySelector.js +3 -2
  65. package/dist/Insight/Featured/Featured.js +3 -2
  66. package/dist/Insight/Featured/Header.js +3 -2
  67. package/dist/Modal/Modal.js +4 -3
  68. package/dist/Modal/contextApi/store.js +1 -1
  69. package/dist/NavigationMenu/AxosALTS/index.js +4 -3
  70. package/dist/NavigationMenu/AxosAdvisor/NavBar.module.js +52 -52
  71. package/dist/NavigationMenu/AxosBank/DropwdownButton.d.ts +7 -0
  72. package/dist/NavigationMenu/AxosBank/DropwdownButton.js +238 -0
  73. package/dist/NavigationMenu/AxosBank/Menu.d.ts +37 -0
  74. package/dist/NavigationMenu/AxosBank/Menu.js +253 -0
  75. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.d.ts +12 -1
  76. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.js +180 -160
  77. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.d.ts +36 -269
  78. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +54 -484
  79. package/dist/NavigationMenu/AxosBank/MobileMenu/mobileReducer.d.ts +36 -0
  80. package/dist/NavigationMenu/AxosBank/MobileMenu/mobileReducer.js +105 -0
  81. package/dist/NavigationMenu/AxosBank/NavBar.module.js +42 -39
  82. package/dist/NavigationMenu/AxosBank/SubNavBar.d.ts +6 -1
  83. package/dist/NavigationMenu/AxosBank/SubNavBar.js +116 -3085
  84. package/dist/NavigationMenu/AxosBank/SubNavItem.d.ts +1 -0
  85. package/dist/NavigationMenu/AxosBank/SubNavItem.js +313 -0
  86. package/dist/NavigationMenu/AxosBank/index.d.ts +6 -4
  87. package/dist/NavigationMenu/AxosBank/index.js +85 -362
  88. package/dist/NavigationMenu/LaVictoire/index.js +4 -3
  89. package/dist/NavigationMenu/NavItem/index.js +137 -1
  90. package/dist/NavigationMenu/Navbar.d.ts +4 -1
  91. package/dist/NavigationMenu/Navbar.js +5 -4
  92. package/dist/NavigationMenu/SignInNavButton.js +3 -2
  93. package/dist/NavigationMenu/utils.d.ts +465 -0
  94. package/dist/NavigationMenu/utils.js +112 -0
  95. package/dist/Pagination/Pagination.js +3 -1
  96. package/dist/SetContainer/SetContainer.js +4 -3
  97. package/dist/SocialMediaBar/iconsRepository.js +4 -3
  98. package/dist/Table/Table.js +3 -1
  99. package/dist/VideoTile/VideoTile.js +4 -3
  100. package/dist/VideoWrapper/index.js +4 -3
  101. package/dist/assets/NavigationMenu/AxosAdvisor/NavBar.css +116 -116
  102. package/dist/assets/NavigationMenu/AxosBank/NavBar.css +125 -87
  103. package/dist/icons/Logos/AXOS.js +49 -7
  104. package/dist/utils/allowedAxosDomains.js +0 -12
  105. package/package.json +1 -1
@@ -1,4 +1,131 @@
1
+ "use client";
1
2
  import { jsx } from "react/jsx-runtime";
3
+ import "../../Chevron/Chevron.css.js";
4
+ import "../../Accordion/Accordion.js";
5
+ import "../../Accordion/Accordion.css.js";
6
+ import "../../icons/ArrowIcon/ArrowIcon.css.js";
7
+ import "../../icons/CheckIcon/CheckIcon.css.js";
8
+ 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/AxosAdvisorServices/SubNavbar.css';import '../../assets/NavigationMenu/AxosAdvisorServices/NavBar2.css';import '../../assets/NavigationMenu/AxosAdvisor/SubNavbar.css';import '../../assets/NavigationMenu/AxosAdvisor/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/Chatbot.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/BulletItem/BulletItem.css';import '../../assets/NavigationMenu/AxosBank/NavBar2.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 */
9
+ /* empty css */
10
+ /* empty css */
11
+ /* empty css */
12
+ /* empty css */
13
+ /* empty css */
14
+ /* empty css */
15
+ /* empty css */
16
+ import "clsx";
17
+ import "react";
18
+ import "../../AlertBanner/AlertBanner.css.js";
19
+ import "../../Article/Article.css.js";
20
+ import "../../IconBillboard/IconBillboard.css.js";
21
+ /* empty css */
22
+ import "../../Interstitial/Interstitial-variants.css.js";
23
+ import "../../Button/Button.css.js";
24
+ import "react-use";
25
+ import "../../ArticlesSet/ArticlesSet.css.js";
26
+ import "../../Calculators/calculator.css.js";
27
+ import "../../Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js";
28
+ import { useGlobalContext } from "../../Modal/contextApi/store.js";
29
+ import "../../Calculators/ApyCalculator/ApyCalculator.css.js";
30
+ import "../../Table/Table.css.js";
31
+ import "../../Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js";
32
+ import "../../Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js";
33
+ import "@hookform/resolvers/zod";
34
+ import "../../Input/Checkbox.js";
35
+ import "../../Input/CurrencyInput.js";
36
+ import "../../Input/Dropdown.js";
37
+ import "../../Input/Dropdown.css.js";
38
+ import "../../Input/Input.js";
39
+ import "../../Input/Input.css.js";
40
+ import "../../Input/InputAmount.js";
41
+ import "../../Input/InputPhone.js";
42
+ import "../../Input/InputTextArea.js";
43
+ import "../../Input/DownPaymentInput.js";
44
+ import "../../Input/RadioButton.js";
45
+ import "../../Input/PercentageInput.js";
46
+ import "react-hook-form";
47
+ import "../../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
48
+ import "../../Forms/Forms.css.js";
49
+ import "../../Forms/HoneyPot/index.js";
50
+ import "../../Forms/SalesforceFieldsForm.js";
51
+ import "../../Input/RadioButton.css.js";
52
+ import "../../Input/Checkbox.css.js";
53
+ import "../../LoadingIndicator/LoadingIndicator.css.js";
54
+ import "../../Inputs/Input.css.js";
55
+ /* empty css */
56
+ import "../../Hyperlink/Hyperlink.css.js";
57
+ /* empty css */
58
+ import "iframe-resizer";
59
+ /* empty css */
60
+ import "../../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
61
+ import "../../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
62
+ import "../../Calculators/SummitApyCalculator/BalanceAPYCalculator.css.js";
63
+ /* empty css */
64
+ import "react-dom";
65
+ /* empty css */
66
+ import "../../Auth/SignInPassword.js";
67
+ /* empty css */
68
+ /* empty css */
69
+ /* empty css */
70
+ /* empty css */
71
+ import "../../Carousel/index.js";
72
+ /* empty css */
73
+ /* empty css */
74
+ /* empty css */
75
+ import "../../Chatbot/store/chat.js";
76
+ import "../../Chatbot/Chatbot.js";
77
+ /* empty css */
78
+ import "../../Chatbot/store/messages.js";
79
+ /* empty css */
80
+ import "../../Comparison/Comparison.css.js";
81
+ import "next/image.js";
82
+ import "../../HeroBanner/LargeBanner.css.js";
83
+ import "../../HeroBanner/HeroBanner.css.js";
84
+ import "../../HeroBanner/SelectionBanner.css.js";
85
+ import "../../SetContainer/SetContainer.css.js";
86
+ import "../../Tab/Tab.css.js";
87
+ import "../../icons/Star/Star.css.js";
88
+ import "../../ContentBanner/ContentBanner.css.js";
89
+ /* empty css */
90
+ import "../../ExecutiveBio/ExecutiveBio.css.js";
91
+ import "../../FaqAccordion/index.js";
92
+ import "../../FooterDisclosure/FooterDisclosure.css.js";
93
+ /* empty css */
94
+ /* empty css */
95
+ /* empty css */
96
+ import "../../ImageBillboard/ImageBillboard.css.js";
97
+ import "next/script.js";
98
+ /* empty css */
99
+ /* empty css */
100
+ /* empty css */
101
+ /* empty css */
102
+ /* empty css */
103
+ import "../../LandingPageHeader/LandingPageHeader.css.js";
104
+ /* empty css */
105
+ import "next/navigation.js";
106
+ /* empty css */
107
+ /* empty css */
108
+ /* empty css */
109
+ import "next/link.js";
110
+ import "../AxosBank/Menu.js";
111
+ /* empty css */
112
+ /* empty css */
113
+ /* empty css */
114
+ /* empty css */
115
+ import "../../PageNavItem/PageNavItem.css.js";
116
+ import "react-slick";
117
+ /* empty css */
118
+ /* empty css */
119
+ /* empty css */
120
+ /* empty css */
121
+ import "../../StepItem/StepItem.css.js";
122
+ import "../../StepItemSet/StepItemSet.css.js";
123
+ /* empty css */
124
+ /* empty css */
125
+ /* empty css */
126
+ /* empty css */
127
+ /* empty css */
128
+ /* empty css */
2
129
  const NavItem = ({
3
130
  className,
4
131
  url,
@@ -7,8 +134,17 @@ const NavItem = ({
7
134
  onClick,
8
135
  isActive
9
136
  }) => {
137
+ const { resolveUrl } = useGlobalContext();
10
138
  const handleClick = () => onClick && onClick(index);
11
- return /* @__PURE__ */ jsx("li", { className, role: "menuitem", children: /* @__PURE__ */ jsx("a", { href: url, className: isActive ? "active" : "", onClick: handleClick, children: name }) });
139
+ return /* @__PURE__ */ jsx("li", { className, role: "menuitem", children: /* @__PURE__ */ jsx(
140
+ "a",
141
+ {
142
+ href: resolveUrl(url),
143
+ className: isActive ? "active" : "",
144
+ onClick: handleClick,
145
+ children: name
146
+ }
147
+ ) });
12
148
  };
13
149
  export {
14
150
  NavItem,
@@ -1,5 +1,8 @@
1
- declare function NavBar({ project, withSession, }: {
1
+ import { Navigation } from './utils';
2
+
3
+ declare function NavBar({ project, withSession, items, }: {
2
4
  project?: string;
3
5
  withSession?: boolean;
6
+ items?: Navigation | null;
4
7
  }): import("react/jsx-runtime").JSX.Element;
5
8
  export default NavBar;
@@ -10,6 +10,7 @@ import '../assets/VideoWrapper/VideoWrapper.css';import '../assets/TopicalNavSet
10
10
  /* empty css */
11
11
  /* empty css */
12
12
  /* empty css */
13
+ import { main_nav_link } from "./AxosBank/NavBar.css.js";
13
14
  import "clsx";
14
15
  import { useState, useEffect } from "react";
15
16
  import "../Chevron/Chevron.css.js";
@@ -108,9 +109,8 @@ import "next/navigation.js";
108
109
  /* empty css */
109
110
  /* empty css */
110
111
  /* empty css */
111
- import MobileDrawerMenu from "./AxosBank/MobileMenu/MobileMenu.js";
112
- import { main_nav_link } from "./AxosBank/NavBar.css.js";
113
112
  import styles from "./AxosBank/NavBar.module.js";
113
+ import MobileDrawerMenu from "./AxosBank/MobileMenu/MobileMenu.js";
114
114
  import { getNavItems } from "./AxosBank/NavData.js";
115
115
  import SubNavBar from "./AxosBank/SubNavBar.js";
116
116
  /* empty css */
@@ -132,7 +132,8 @@ import "../StepItemSet/StepItemSet.css.js";
132
132
  /* empty css */
133
133
  function NavBar({
134
134
  project = "AXB",
135
- withSession = false
135
+ withSession = false,
136
+ items
136
137
  }) {
137
138
  const { resolveUrl } = useGlobalContext();
138
139
  const navItems = getNavItems(resolveUrl);
@@ -190,7 +191,7 @@ function NavBar({
190
191
  "aria-label": "return to homepage"
191
192
  }
192
193
  ),
193
- /* @__PURE__ */ jsx(MobileDrawerMenu, {})
194
+ items && /* @__PURE__ */ jsx(MobileDrawerMenu, { menu: items })
194
195
  ] })
195
196
  ] })
196
197
  ] }) }),
@@ -10,6 +10,7 @@ import '../assets/VideoWrapper/VideoWrapper.css';import '../assets/TopicalNavSet
10
10
  /* empty css */
11
11
  /* empty css */
12
12
  /* empty css */
13
+ import { main_nav_link, highlight, Sign_in_btn, signin_subheader } from "./AxosBank/NavBar.css.js";
13
14
  import clsx from "clsx";
14
15
  import { useRef, useState, useEffect } from "react";
15
16
  import "../Chevron/Chevron.css.js";
@@ -109,10 +110,10 @@ import "next/navigation.js";
109
110
  /* empty css */
110
111
  /* empty css */
111
112
  /* empty css */
112
- import "next/link.js";
113
- import { main_nav_link, highlight, Sign_in_btn, signin_subheader } from "./AxosBank/NavBar.css.js";
114
113
  import styles from "./AxosBank/NavBar.module.js";
114
+ import "next/link.js";
115
115
  import { getNavItems } from "./AxosBank/NavData.js";
116
+ import "./AxosBank/Menu.js";
116
117
  /* empty css */
117
118
  /* empty css */
118
119
  /* empty css */
@@ -0,0 +1,465 @@
1
+ export interface Logo {
2
+ id: string;
3
+ url: string;
4
+ alt: string;
5
+ }
6
+ export interface NavItem {
7
+ id: string;
8
+ url: string;
9
+ label: string;
10
+ descriptiveTextAriaLabel?: string;
11
+ icon?: string | undefined;
12
+ ariaLabel?: string | undefined;
13
+ target?: any;
14
+ }
15
+ export interface NavItems extends NavItem {
16
+ items?: NavItems[];
17
+ subItems?: NavItems[];
18
+ menuItems?: Menu;
19
+ hasMenu?: boolean;
20
+ rightSide?: boolean | undefined;
21
+ dropdown?: boolean | undefined;
22
+ displayInNavigation?: boolean | undefined;
23
+ }
24
+ export interface SubNavItems extends NavItem {
25
+ subItems: (NavItems | NavItem | undefined)[];
26
+ menuItems?: Menu;
27
+ hasMenu?: boolean;
28
+ dropdown: boolean | undefined;
29
+ rightSide?: boolean | undefined;
30
+ displayInNavigation?: boolean | undefined;
31
+ }
32
+ export interface Navigation {
33
+ subNavBar?: SubNavItems[];
34
+ logo?: Logo;
35
+ quickLinks: NavItem[];
36
+ }
37
+ export interface Menu {
38
+ target: Record<string, unknown>;
39
+ heading: string;
40
+ bannerHeading: string;
41
+ bannerDescription: string;
42
+ helpAndSupportLink?: string;
43
+ bannerImage: {
44
+ fields: {
45
+ title: string;
46
+ file: {
47
+ url: string;
48
+ details: {
49
+ size: number;
50
+ image: {
51
+ width: number;
52
+ height: number;
53
+ };
54
+ };
55
+ fileName: string;
56
+ contentType: string;
57
+ };
58
+ };
59
+ };
60
+ bannerCta: {
61
+ id: string;
62
+ label: string;
63
+ url: string;
64
+ ariaLabel: string;
65
+ };
66
+ subItems?: NavItems[];
67
+ }
68
+ export interface PrimaryMenu {
69
+ sys: {
70
+ id: string;
71
+ contentType: {
72
+ sys: {
73
+ id: "primaryNavigation";
74
+ };
75
+ };
76
+ };
77
+ fields: {
78
+ display: string;
79
+ displayInNavigation: boolean;
80
+ rightSide: boolean;
81
+ dropdown: boolean;
82
+ target: {
83
+ sys: {
84
+ id: string;
85
+ contentType: {
86
+ sys: {
87
+ id: string;
88
+ };
89
+ };
90
+ };
91
+ fields: {
92
+ displayText: string;
93
+ targetUrl: string;
94
+ descriptiveTextAriaLabel: string;
95
+ icon: {
96
+ fields: {
97
+ image: {
98
+ fields: {
99
+ file: {
100
+ url: string;
101
+ };
102
+ };
103
+ };
104
+ };
105
+ };
106
+ };
107
+ };
108
+ children: Array<PrimaryChildrens>;
109
+ };
110
+ }
111
+ export interface QuickLink {
112
+ sys: {
113
+ id: string;
114
+ contentType: {
115
+ sys: {
116
+ id: string;
117
+ };
118
+ };
119
+ };
120
+ fields: {
121
+ displayText: string;
122
+ targetUrl: string;
123
+ descriptiveTextAriaLabel: string;
124
+ icon: {
125
+ fields: {
126
+ image: {
127
+ fields: {
128
+ file: {
129
+ url: string;
130
+ };
131
+ };
132
+ };
133
+ };
134
+ };
135
+ };
136
+ }
137
+ export interface HyperLinkType {
138
+ sys: {
139
+ id: string;
140
+ contentType: {
141
+ sys: {
142
+ id: "hyperlink";
143
+ };
144
+ };
145
+ };
146
+ fields: {
147
+ displayText: string;
148
+ targetUrl: string;
149
+ descriptiveTextAriaLabel: string;
150
+ };
151
+ }
152
+ export interface CallToActionType {
153
+ sys: {
154
+ id: string;
155
+ contentType: {
156
+ sys: {
157
+ id: "hyperlink";
158
+ };
159
+ };
160
+ };
161
+ fields: {
162
+ displayText: string;
163
+ targetUrl: string;
164
+ descriptiveTextAriaLabel: string;
165
+ icon: {
166
+ fields: {
167
+ image: {
168
+ fields: {
169
+ file: {
170
+ url: string;
171
+ };
172
+ };
173
+ };
174
+ };
175
+ };
176
+ };
177
+ }
178
+ export interface TertiaryMenu {
179
+ sys: {
180
+ id: string;
181
+ contentType: {
182
+ sys: {
183
+ id: "tertiaryNavigation";
184
+ };
185
+ };
186
+ };
187
+ fields: {
188
+ displayText?: string;
189
+ target: CallToActionType;
190
+ descriptiveTextAriaLabel?: string;
191
+ children: Array<HyperLinkType>;
192
+ targetUrl?: string;
193
+ icon: {
194
+ fields: {
195
+ file: {
196
+ url: string;
197
+ };
198
+ };
199
+ };
200
+ };
201
+ }
202
+ export interface SecondaryMenu {
203
+ sys: {
204
+ id: string;
205
+ contentType: {
206
+ sys: {
207
+ id: "secondaryNavigation";
208
+ };
209
+ };
210
+ };
211
+ fields: {
212
+ display: string;
213
+ target: HyperLinkType;
214
+ children: Array<TertiaryMenu>;
215
+ heading: string;
216
+ bannerHeading: string;
217
+ bannerDescription: string;
218
+ helpAndSupportLink?: string;
219
+ bannerImage: {
220
+ fields: {
221
+ title: string;
222
+ file: {
223
+ url: string;
224
+ details: {
225
+ size: number;
226
+ image: {
227
+ width: number;
228
+ height: number;
229
+ };
230
+ };
231
+ fileName: string;
232
+ contentType: string;
233
+ };
234
+ };
235
+ };
236
+ bannerCtaLinks?: Array<{
237
+ sys: {
238
+ id: string;
239
+ type: string;
240
+ };
241
+ fields: {
242
+ displayText: string;
243
+ targetUrl: string;
244
+ descriptiveTextAriaLabel: string;
245
+ };
246
+ }>;
247
+ };
248
+ }
249
+ type PrimaryChildrens = SecondaryMenu | HyperLinkType;
250
+ export interface MenuObject {
251
+ sys: {
252
+ id: string;
253
+ contentType: {
254
+ sys: {
255
+ id: string;
256
+ };
257
+ };
258
+ };
259
+ fields: {
260
+ label: string;
261
+ description: string;
262
+ display: string;
263
+ target: Array<{
264
+ sys: {
265
+ id: string;
266
+ contentType: {
267
+ sys: {
268
+ id: string;
269
+ };
270
+ };
271
+ };
272
+ fields: {
273
+ displayText: string;
274
+ targetUrl: string;
275
+ descriptiveTextAriaLabel: string;
276
+ };
277
+ }>;
278
+ logo: {
279
+ sys: {
280
+ id: string;
281
+ type: string;
282
+ };
283
+ fields: {
284
+ title: string;
285
+ image: {
286
+ fields: {
287
+ file: {
288
+ url: string;
289
+ };
290
+ };
291
+ };
292
+ };
293
+ };
294
+ quickLinks: Array<{
295
+ sys: {
296
+ id: string;
297
+ contentType: {
298
+ sys: {
299
+ id: string;
300
+ };
301
+ };
302
+ };
303
+ fields: {
304
+ displayText: string;
305
+ targetUrl: string;
306
+ descriptiveTextAriaLabel: string;
307
+ icon: {
308
+ fields: {
309
+ image: {
310
+ fields: {
311
+ file: {
312
+ url: string;
313
+ };
314
+ };
315
+ };
316
+ };
317
+ };
318
+ };
319
+ }>;
320
+ children: PrimaryMenu[];
321
+ };
322
+ }
323
+ export declare const getFirstLevelMenuItems: (menuData: MenuObject) => ({
324
+ id: string;
325
+ label: string;
326
+ url: string;
327
+ descriptiveTextAriaLabel: string;
328
+ rightSide: boolean;
329
+ dropdown: boolean;
330
+ } | {
331
+ id?: undefined;
332
+ label?: undefined;
333
+ url?: undefined;
334
+ descriptiveTextAriaLabel?: undefined;
335
+ rightSide?: undefined;
336
+ dropdown?: undefined;
337
+ })[];
338
+ export declare const getLogo: (menuData: MenuObject) => {
339
+ id: string;
340
+ url: string;
341
+ alt: string;
342
+ };
343
+ export declare const getQuickLinks: (menuData: MenuObject) => NavItem[];
344
+ export declare const extractChildrenTargets: (children: PrimaryChildrens[]) => (NavItem | {
345
+ id: string;
346
+ label: string;
347
+ url: string;
348
+ hasMenu: boolean;
349
+ descriptiveTextAriaLabel: string;
350
+ menuItems: {
351
+ target: {
352
+ displayText: string;
353
+ targetUrl: string;
354
+ descriptiveTextAriaLabel: string;
355
+ id: string;
356
+ };
357
+ heading: string;
358
+ bannerHeading: string;
359
+ bannerDescription: string;
360
+ helpAndSupportLink: string | undefined;
361
+ bannerImage: {
362
+ fields: {
363
+ title: string;
364
+ file: {
365
+ url: string;
366
+ details: {
367
+ size: number;
368
+ image: {
369
+ width: number;
370
+ height: number;
371
+ };
372
+ };
373
+ fileName: string;
374
+ contentType: string;
375
+ };
376
+ };
377
+ };
378
+ bannerCta: {
379
+ id: string;
380
+ label: string;
381
+ url: string;
382
+ ariaLabel: string;
383
+ }[] | undefined;
384
+ subItems: {
385
+ items: {
386
+ id: string;
387
+ label: string;
388
+ descriptiveTextAriaLabel: string;
389
+ url: string;
390
+ icon: string;
391
+ }[];
392
+ id: string;
393
+ label: string;
394
+ icon: string;
395
+ descrictiveTextAriaLabel: string;
396
+ url: string;
397
+ }[];
398
+ };
399
+ } | undefined)[];
400
+ export declare const getNavMenuItems: (menuData: MenuObject) => {
401
+ id: string;
402
+ label: string;
403
+ url: string;
404
+ descriptiveTextAriaLabel: string;
405
+ dropdown: boolean;
406
+ rightSide: boolean;
407
+ displayInNavigation: boolean;
408
+ subItems: (NavItem | {
409
+ id: string;
410
+ label: string;
411
+ url: string;
412
+ hasMenu: boolean;
413
+ descriptiveTextAriaLabel: string;
414
+ menuItems: {
415
+ target: {
416
+ displayText: string;
417
+ targetUrl: string;
418
+ descriptiveTextAriaLabel: string;
419
+ id: string;
420
+ };
421
+ heading: string;
422
+ bannerHeading: string;
423
+ bannerDescription: string;
424
+ helpAndSupportLink: string | undefined;
425
+ bannerImage: {
426
+ fields: {
427
+ title: string;
428
+ file: {
429
+ url: string;
430
+ details: {
431
+ size: number;
432
+ image: {
433
+ width: number;
434
+ height: number;
435
+ };
436
+ };
437
+ fileName: string;
438
+ contentType: string;
439
+ };
440
+ };
441
+ };
442
+ bannerCta: {
443
+ id: string;
444
+ label: string;
445
+ url: string;
446
+ ariaLabel: string;
447
+ }[] | undefined;
448
+ subItems: {
449
+ items: {
450
+ id: string;
451
+ label: string;
452
+ descriptiveTextAriaLabel: string;
453
+ url: string;
454
+ icon: string;
455
+ }[];
456
+ id: string;
457
+ label: string;
458
+ icon: string;
459
+ descrictiveTextAriaLabel: string;
460
+ url: string;
461
+ }[];
462
+ };
463
+ } | undefined)[];
464
+ }[];
465
+ export {};