@axos-web-dev/shared-components 2.0.0-dev.28 → 2.0.0-dev.29-toasts

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 (224) hide show
  1. package/dist/ATMLocator/ATMLocator.js +7 -2
  2. package/dist/Article/Article.css.d.ts +8 -4
  3. package/dist/ArticlesSet/ArticlesSet.css.d.ts +23 -1
  4. package/dist/ArticlesSet/ArticlesSet.css.js +7 -7
  5. package/dist/ArticlesSet/ArticlesSet.js +3 -4
  6. package/dist/Auth/ErrorAlert.js +8 -3
  7. package/dist/Auth/SignInPassword.js +1 -1
  8. package/dist/AwardsItem/AwardsItem.js +2 -2
  9. package/dist/Button/Button.js +26 -3
  10. package/dist/Calculators/ApyCalculatorUserTest/ApyCalculatorUserTest.css.d.ts +95 -0
  11. package/dist/Calculators/ApyCalculatorUserTest/ApyCalculatorUserTest.css.js +101 -0
  12. package/dist/Calculators/ApyCalculatorUserTest/index.d.ts +12 -0
  13. package/dist/Calculators/ApyCalculatorUserTest/index.js +618 -0
  14. package/dist/Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js +2 -1
  15. package/dist/Calculators/Calculator.js +18 -3
  16. package/dist/Calculators/MarginTradingCalculator/index.js +7 -2
  17. package/dist/Calculators/index.d.ts +1 -0
  18. package/dist/Calculators/index.js +2 -0
  19. package/dist/Carousel/index.js +7 -2
  20. package/dist/Chatbot/AnimatedGradientBorder.css.d.ts +1 -0
  21. package/dist/Chatbot/AnimatedGradientBorder.css.js +2 -0
  22. package/dist/Chatbot/AudioManager.d.ts +19 -0
  23. package/dist/Chatbot/AudioManager.js +61 -0
  24. package/dist/Chatbot/Bubble.css.js +2 -2
  25. package/dist/Chatbot/Bubble.js +2 -11
  26. package/dist/Chatbot/ChatWindow.css.d.ts +4 -0
  27. package/dist/Chatbot/ChatWindow.css.js +44 -36
  28. package/dist/Chatbot/ChatWindow.js +461 -372
  29. package/dist/Chatbot/Chatbot.css.js +0 -1
  30. package/dist/Chatbot/Chatbot.css.ts.vanilla.css.js +1 -0
  31. package/dist/Chatbot/Chatbot.d.ts +3 -0
  32. package/dist/Chatbot/Chatbot.js +113 -41
  33. package/dist/Chatbot/ChatbotMessage.js +183 -197
  34. package/dist/Chatbot/EllipsisAnimation.js +0 -6
  35. package/dist/Chatbot/ExpandChatToggle.d.ts +8 -0
  36. package/dist/Chatbot/ExpandChatToggle.js +74 -0
  37. package/dist/Chatbot/index.js +7 -2
  38. package/dist/Chatbot/store/chat.d.ts +8 -0
  39. package/dist/Chatbot/store/chat.js +14 -2
  40. package/dist/Chevron/Chevron.interface.d.ts +1 -0
  41. package/dist/Chevron/index.js +12 -3
  42. package/dist/Comparison/Comparison.css.d.ts +1 -0
  43. package/dist/Comparison/Comparison.css.js +16 -13
  44. package/dist/Comparison/Comparison.js +7 -2
  45. package/dist/Comparison/ComparisonSet.js +2 -1
  46. package/dist/Comparison/index.js +2 -1
  47. package/dist/ExecutiveBio/ExecutiveBio.css.d.ts +27 -0
  48. package/dist/ExecutiveBio/ExecutiveBio.js +281 -262
  49. package/dist/FaqAccordion/index.js +7 -2
  50. package/dist/FdicCallout/index.js +2 -1
  51. package/dist/FooterDisclosure/FooterDisclosure.js +1 -0
  52. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +670 -659
  53. package/dist/Forms/ApplyNow.js +7 -2
  54. package/dist/Forms/CommercialDepositsACS.d.ts +3 -0
  55. package/dist/Forms/CommercialDepositsACS.js +278 -0
  56. package/dist/Forms/ContactUsBusiness.js +9 -4
  57. package/dist/Forms/ContactUsBusinessNameEmail.js +9 -4
  58. package/dist/Forms/ContactUsNMLSId.js +9 -4
  59. package/dist/Forms/ContactUsSchwabAAS.d.ts +11 -0
  60. package/dist/Forms/ContactUsSchwabAAS.js +263 -0
  61. package/dist/Forms/CpraRequest.js +8 -3
  62. package/dist/Forms/CraPublicFile.js +9 -4
  63. package/dist/Forms/EmailOnly.js +10 -5
  64. package/dist/Forms/Forms.css.d.ts +3 -0
  65. package/dist/Forms/MortgageRate/MortgageRateForm.js +7 -2
  66. package/dist/Forms/MortgageRate/MortgageRateWatch.js +7 -2
  67. package/dist/Forms/MortgageWarehouseLending.d.ts +1 -1
  68. package/dist/Forms/MortgageWarehouseLending.js +16 -11
  69. package/dist/Forms/SuccesForm.js +8 -3
  70. package/dist/Forms/index.d.ts +2 -0
  71. package/dist/Forms/index.js +4 -0
  72. package/dist/HeroBanner/HeroBanner.d.ts +1 -1
  73. package/dist/HeroBanner/HeroBanner.interface.d.ts +2 -0
  74. package/dist/HeroBanner/HeroBanner.js +33 -28
  75. package/dist/Hyperlink/index.js +9 -4
  76. package/dist/IconBillboard/IconBillboard.css.d.ts +16 -0
  77. package/dist/IconBillboard/IconBillboard.css.js +7 -4
  78. package/dist/IconBillboard/IconBillboard.interface.d.ts +2 -0
  79. package/dist/IconBillboard/IconBillboardSet.js +68 -62
  80. package/dist/IconBillboard/index.js +2 -1
  81. package/dist/IconBillboard/sections/CallToActionSection.js +3 -1
  82. package/dist/ImageBillboard/ImageBillboard.interface.d.ts +2 -0
  83. package/dist/ImageBillboard/ImageBillboardSet.d.ts +1 -1
  84. package/dist/ImageBillboard/ImageBillboardSet.js +28 -20
  85. package/dist/ImageLink/ImageLink.js +7 -2
  86. package/dist/ImageLink/ImageLinkSet.js +7 -2
  87. package/dist/ImageLink/index.js +8 -3
  88. package/dist/ImageToast/ImageToast.css.d.ts +5 -0
  89. package/dist/ImageToast/ImageToast.css.js +13 -0
  90. package/dist/ImageToast/index.d.ts +9 -0
  91. package/dist/{NavigationMenu/Navbar.js → ImageToast/index.js} +82 -93
  92. package/dist/Insight/Featured/CategorySelector.d.ts +1 -1
  93. package/dist/Insight/Featured/CategorySelector.js +10 -4
  94. package/dist/Insight/Featured/Featured.js +7 -2
  95. package/dist/Insight/Featured/Header.d.ts +1 -2
  96. package/dist/Insight/Featured/Header.js +7 -2
  97. package/dist/LandingPageHeader/LandingPageHeader.js +25 -16
  98. package/dist/Modal/Modal.js +8 -3
  99. package/dist/Modal/contextApi/store.d.ts +6 -1
  100. package/dist/Modal/contextApi/store.js +112 -6
  101. package/dist/NavigationMenu/AxosALTS/NavBar.module.js +23 -23
  102. package/dist/NavigationMenu/AxosALTS/index.js +42 -23
  103. package/dist/NavigationMenu/AxosAdvisor/NavBar.module.js +52 -52
  104. package/dist/NavigationMenu/AxosAdvisor/index.js +1 -1
  105. package/dist/NavigationMenu/AxosAdvisorServices/NavBar.module.js +53 -53
  106. package/dist/NavigationMenu/AxosAdvisorServices/index.js +31 -24
  107. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.js +7 -2
  108. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.d.ts +3 -9
  109. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +13 -25
  110. package/dist/NavigationMenu/AxosBank/SubNavBar.js +37 -116
  111. package/dist/NavigationMenu/AxosBank/index.js +58 -39
  112. package/dist/NavigationMenu/AxosClearing/NavBar.module.js +37 -37
  113. package/dist/NavigationMenu/AxosClearing/SubNavBar.js +6 -6
  114. package/dist/NavigationMenu/AxosClearing/index.js +31 -16
  115. package/dist/NavigationMenu/AxosFiduciary/NavBar.module.js +40 -43
  116. package/dist/NavigationMenu/AxosFiduciary/index.js +5 -3
  117. package/dist/NavigationMenu/LaVictoire/index.js +8 -3
  118. package/dist/NavigationMenu/NavItem/index.js +141 -1
  119. package/dist/NavigationMenu/ServerNavigation/DropwdownButton.d.ts +7 -0
  120. package/dist/NavigationMenu/ServerNavigation/DropwdownButton.js +248 -0
  121. package/dist/NavigationMenu/ServerNavigation/Menu.d.ts +40 -0
  122. package/dist/NavigationMenu/ServerNavigation/Menu.js +268 -0
  123. package/dist/NavigationMenu/ServerNavigation/MobileMenu/MobileMenu.d.ts +13 -0
  124. package/dist/NavigationMenu/ServerNavigation/MobileMenu/MobileMenu.js +637 -0
  125. package/dist/NavigationMenu/ServerNavigation/MobileMenu/MobileMenu.module.js +86 -0
  126. package/dist/NavigationMenu/ServerNavigation/MobileMenu/MobileNavData.d.ts +51 -0
  127. package/dist/NavigationMenu/ServerNavigation/MobileMenu/MobileNavData.js +96 -0
  128. package/dist/NavigationMenu/ServerNavigation/MobileMenu/mobileReducer.d.ts +36 -0
  129. package/dist/NavigationMenu/ServerNavigation/MobileMenu/mobileReducer.js +105 -0
  130. package/dist/NavigationMenu/ServerNavigation/NavBar.module.js +125 -0
  131. package/dist/NavigationMenu/ServerNavigation/NavigationBar.css.d.ts +7 -0
  132. package/dist/NavigationMenu/ServerNavigation/NavigationBar.css.js +22 -0
  133. package/dist/NavigationMenu/ServerNavigation/SubNavBar.d.ts +6 -0
  134. package/dist/NavigationMenu/ServerNavigation/SubNavBar.js +281 -0
  135. package/dist/NavigationMenu/ServerNavigation/SubNavItem.d.ts +1 -0
  136. package/dist/NavigationMenu/ServerNavigation/SubNavItem.js +317 -0
  137. package/dist/NavigationMenu/ServerNavigation/SubNavbar.css.d.ts +60 -0
  138. package/dist/NavigationMenu/ServerNavigation/SubNavbar.css.js +22 -0
  139. package/dist/NavigationMenu/ServerNavigation/index.d.ts +7 -0
  140. package/dist/NavigationMenu/ServerNavigation/index.js +297 -0
  141. package/dist/NavigationMenu/index.d.ts +2 -0
  142. package/dist/NavigationMenu/index.js +19 -10
  143. package/dist/NavigationMenu/utils.d.ts +480 -0
  144. package/dist/NavigationMenu/utils.js +128 -0
  145. package/dist/PageNavSet/PageNavSet.js +16 -8
  146. package/dist/SecondaryFooter/index.js +8 -1
  147. package/dist/SetContainer/SetContainer.css.d.ts +3 -0
  148. package/dist/SetContainer/SetContainer.js +14 -3
  149. package/dist/SocialMediaBar/iconsRepository.js +8 -3
  150. package/dist/SocialMediaBar/index.js +1 -1
  151. package/dist/StepItemSet/StepItemSet.css.d.ts +3 -0
  152. package/dist/Table/Table.css.d.ts +14 -1
  153. package/dist/Table/Table.css.js +21 -19
  154. package/dist/Table/Table.d.ts +1 -1
  155. package/dist/Table/Table.js +5 -3
  156. package/dist/TopicalNavItem/TopicalNavItem.css.d.ts +0 -1
  157. package/dist/TopicalNavItem/TopicalNavItem.css.js +2 -4
  158. package/dist/TopicalNavItem/TopicalNavItem.js +11 -33
  159. package/dist/TopicalNavItem/index.js +1 -2
  160. package/dist/TopicalNavSet/TopicalNavSet.js +17 -9
  161. package/dist/VideoTile/VideoTile.js +7 -2
  162. package/dist/VideoWrapper/index.js +8 -3
  163. package/dist/assets/Article/Article.css +8 -4
  164. package/dist/assets/ArticlesSet/ArticlesSet.css +54 -39
  165. package/dist/assets/Auth/SignIn.css +2 -1
  166. package/dist/assets/Calculators/ApyCalculatorUserTest/ApyCalculatorUserTest.css +424 -0
  167. package/dist/assets/Calculators/AxosOneCalculator/BalanceAPYCalculator.css +2 -2
  168. package/dist/assets/CallToActionBar/CallToActionBar.css +2 -0
  169. package/dist/assets/Chatbot/AnimatedGradientBorder.css +19 -19
  170. package/dist/assets/Chatbot/Bubble.css +7 -2
  171. package/dist/assets/Chatbot/ChatWindow.css +155 -98
  172. package/dist/assets/Comparison/Comparison.css +32 -29
  173. package/dist/assets/DownloadTile/DownloadTile.css +0 -5
  174. package/dist/assets/ExecutiveBio/ExecutiveBio.css +55 -17
  175. package/dist/assets/FaqAccordion/FaqAccordion.css +1 -1
  176. package/dist/assets/FooterSiteMap/AxosBank/FooterSiteMap.css +2 -2
  177. package/dist/assets/Forms/Forms.css +3 -2
  178. package/dist/assets/HeroBanner/HeroBanner.css +1 -0
  179. package/dist/assets/IconBillboard/IconBillboard.css +64 -13
  180. package/dist/assets/ImageToast/ImageToast.css +39 -0
  181. package/dist/assets/Insight/Featured/Header.css +4 -2
  182. package/dist/assets/NavigationMenu/AxosALTS/NavBar.css +265 -264
  183. package/dist/assets/NavigationMenu/AxosAdvisor/NavBar.css +609 -609
  184. package/dist/assets/NavigationMenu/AxosAdvisorServices/NavBar.css +631 -630
  185. package/dist/assets/NavigationMenu/AxosClearing/NavBar.css +485 -484
  186. package/dist/assets/NavigationMenu/AxosFiduciary/NavBar.css +428 -427
  187. package/dist/assets/NavigationMenu/ServerNavigation/MobileMenu/MobileMenu.css +353 -0
  188. package/dist/assets/NavigationMenu/ServerNavigation/NavBar.css +483 -0
  189. package/dist/assets/NavigationMenu/ServerNavigation/NavigationBar.css +40 -0
  190. package/dist/assets/NavigationMenu/ServerNavigation/SubNavbar.css +87 -0
  191. package/dist/assets/SetContainer/SetContainer.css +7 -10
  192. package/dist/assets/SocialMediaBar/SocialMediaBar.css +1 -0
  193. package/dist/assets/StepItemSet/StepItemSet.css +3 -3
  194. package/dist/assets/Table/Table.css +82 -77
  195. package/dist/assets/TopicalNavItem/TopicalNavItem.css +25 -52
  196. package/dist/assets/TopicalNavSet/TopicalNavSet.css +28 -6
  197. package/dist/assets/VideoTile/VideoTile.css +3 -0
  198. package/dist/assets/globals.css +34 -2
  199. package/dist/assets/themes/axos.css +8 -7
  200. package/dist/assets/themes/premier.css +9 -8
  201. package/dist/assets/themes/ufb.css +9 -8
  202. package/dist/assets/themes/victorie.css +9 -8
  203. package/dist/globals.css.js +8 -1
  204. package/dist/icons/QuoteIconGrey.js +1 -0
  205. package/dist/icons/QuoteIconWhite.js +1 -0
  206. package/dist/icons/QuoteIconYellow.js +1 -0
  207. package/dist/index.css.js +8 -1
  208. package/dist/main.js +40 -17
  209. package/dist/themes/axos.css.d.ts +1 -0
  210. package/dist/themes/axos.css.js +1 -1
  211. package/dist/utils/allowedAxosDomains.js +8 -13
  212. package/dist/utils/appendQueryParams.d.ts +3 -1
  213. package/dist/utils/appendQueryParams.js +66 -66
  214. package/dist/utils/index.js +3 -1
  215. package/dist/utils/tealiumOrganicFallback.d.ts +21 -0
  216. package/dist/utils/tealiumOrganicFallback.js +26 -0
  217. package/dist/utils/useVisibility.d.ts +1 -0
  218. package/dist/utils/useVisibility.js +21 -0
  219. package/dist/vite-env.d.js +1 -0
  220. package/package.json +2 -2
  221. package/dist/NavigationMenu/Navbar.d.ts +0 -5
  222. package/dist/NavigationMenu/SignInNavButton.d.ts +0 -1
  223. package/dist/NavigationMenu/SignInNavButton.js +0 -363
  224. package/dist/assets/Chatbot/Chatbot.css +0 -3
@@ -41,12 +41,13 @@
41
41
  --_1073cm814: #98DDFF;
42
42
  --_1073cm815: linear-gradient(90deg,rgba(222, 244, 255, 1) 0%, rgba(40, 88, 125, 1) 50%, rgba(222, 244, 255, 1) 100%);
43
43
  --_1073cm816: #FFFFFF;
44
- --_1073cm817: #FFFFFF;
45
- --_1073cm818: #28587d;
46
- --_1073cm819: #FFFFFF;
47
- --_1073cm81a: #F5F5F5;
48
- --_1073cm81b: #DEF4FF;
49
- --_1073cm81c: #000000;
50
- --_1073cm81d: #1F1F1F;
51
- --_1073cm81e: #B9C1CE;
44
+ --_1073cm817: #2595F0;
45
+ --_1073cm818: #FFFFFF;
46
+ --_1073cm819: #28587d;
47
+ --_1073cm81a: #FFFFFF;
48
+ --_1073cm81b: #F5F5F5;
49
+ --_1073cm81c: #DEF4FF;
50
+ --_1073cm81d: #000000;
51
+ --_1073cm81e: #1F1F1F;
52
+ --_1073cm81f: #B9C1CE;
52
53
  }
@@ -1,2 +1,9 @@
1
- import './assets/globals.css';import './assets/Typography/Typography.css';/* empty css */
1
+ import './assets/globals.css';import './assets/ArticlesSet/ArticlesSet.css';import './assets/CallToActionBar/CallToActionBar.css';import './assets/Insight/Insight.css';import './assets/themes/victorie.css';import './assets/themes/ufb.css';import './assets/themes/premier.css';import './assets/themes/axos.css';import './assets/Typography/Typography.css';/* empty css */
2
+ /* empty css */
3
+ /* empty css */
4
+ /* empty css */
5
+ /* empty css */
6
+ /* empty css */
7
+ /* empty css */
8
+ /* empty css */
2
9
  /* empty css */
@@ -8,6 +8,7 @@ const SvgQuoteIconGrey = (props) => /* @__PURE__ */ jsxs(
8
8
  fill: "none",
9
9
  xmlns: "http://www.w3.org/2000/svg",
10
10
  ...props,
11
+ "aria-hidden": true,
11
12
  children: [
12
13
  /* @__PURE__ */ jsxs("g", { clipPath: "url(#clip0_5424_27387)", children: [
13
14
  /* @__PURE__ */ jsx(
@@ -8,6 +8,7 @@ const SvgQuoteIconWhite = (props) => /* @__PURE__ */ jsxs(
8
8
  fill: "none",
9
9
  xmlns: "http://www.w3.org/2000/svg",
10
10
  ...props,
11
+ "aria-hidden": true,
11
12
  children: [
12
13
  /* @__PURE__ */ jsxs("g", { clipPath: "url(#clip0_5527_22620)", children: [
13
14
  /* @__PURE__ */ jsx(
@@ -8,6 +8,7 @@ const SvgQuoteIconYellow = (props) => /* @__PURE__ */ jsxs(
8
8
  fill: "none",
9
9
  xmlns: "http://www.w3.org/2000/svg",
10
10
  ...props,
11
+ "aria-hidden": true,
11
12
  children: [
12
13
  /* @__PURE__ */ jsxs("g", { clipPath: "url(#clip0_5266_22200)", children: [
13
14
  /* @__PURE__ */ jsx(
package/dist/index.css.js CHANGED
@@ -1,3 +1,10 @@
1
- import './assets/index.css';import './assets/globals.css';import './assets/Typography/Typography.css';/* empty css */
1
+ import './assets/index.css';import './assets/globals.css';import './assets/ArticlesSet/ArticlesSet.css';import './assets/CallToActionBar/CallToActionBar.css';import './assets/Insight/Insight.css';import './assets/themes/victorie.css';import './assets/themes/ufb.css';import './assets/themes/premier.css';import './assets/themes/axos.css';import './assets/Typography/Typography.css';/* empty css */
2
+ /* empty css */
3
+ /* empty css */
4
+ /* empty css */
5
+ /* empty css */
6
+ /* empty css */
7
+ /* empty css */
8
+ /* empty css */
2
9
  /* empty css */
3
10
  /* empty css */
package/dist/main.js CHANGED
@@ -24,6 +24,7 @@ import { button } from "./Button/Button.css.js";
24
24
  import { GoBackButton } from "./Button/GoBackButton.js";
25
25
  import { AnnualFeeCalculator } from "./Calculators/AnnualFeeCalculator/index.js";
26
26
  import { ApyCalculator } from "./Calculators/ApyCalculator/index.js";
27
+ import { ApyCalculatorUserTesting } from "./Calculators/ApyCalculatorUserTest/index.js";
27
28
  import { AxosOneCalculator } from "./Calculators/AxosOneCalculator/index.js";
28
29
  import { BalanceAPYCalculator } from "./Calculators/BalanceAPYCalculator/index.js";
29
30
  import { BuyDownCalculator } from "./Calculators/BuyDownCalculator/index.js";
@@ -39,15 +40,15 @@ import { CallToActionBar } from "./CallToActionBar/index.js";
39
40
  import { Carousel, CarouselSlide } from "./Carousel/index.js";
40
41
  import { Bubble } from "./Chatbot/Bubble.js";
41
42
  import { borderHoverGradient, bubbleButton, bubbleText, bubbleWrapper, inner, svgFill } from "./Chatbot/Bubble.css.js";
42
- import { Chatbot } from "./Chatbot/Chatbot.js";
43
+ import { Chatbot, audioManager } from "./Chatbot/Chatbot.js";
43
44
  import { chatbotAXB, chatbotUFB } from "./Chatbot/Chatbot.css.js";
44
45
  import { ChatWindow } from "./Chatbot/ChatWindow.js";
45
- import { agent_msg, arrowFill, autoResize, button_bar, button_reset, buttonss_section, chatEndCircle, chatEndDialogOverlay, chatFinishDialog, chatNetworkStatus, chat_title, chatbotMenu, chatbotMenuItem, endChatButtonStyle, inline_button, inline_button_wrapper, inputStyle, left_bar_section, messageStyle, messagesContainerStyle, noAnswerButton, notificationStyle, sendButtonStyle, shimmerText, tableCell, tableHead, tableMsg, thankyou_image, thankyou_message, thankyou_overlay, trMortgageTable, user_msg, windowBarStyle, windowOpenStyle, windowStyle } from "./Chatbot/ChatWindow.css.js";
46
+ import { agent_msg, arrowFill, autoResize, button_bar, button_reset, buttonss_section, chatAiDisclaimer, chatEndCircle, chatEndDialogOverlay, chatFinishDialog, chatNetworkStatus, chat_title, chatbotMenu, chatbotMenuItem, endChatButtonStyle, expandToggleStyle, formTextButton, inline_button, inline_button_wrapper, inputStyle, left_bar_section, messageStyle, messagesContainerStyle, noAnswerButton, notificationStyle, sendButtonStyle, shimmerText, tableCell, tableHead, tableMsg, thankyou_image, thankyou_message, thankyou_overlay, trMortgageTable, user_msg, windowBarStyle, windowExpandedStyle, windowOpenStyle, windowStyle } from "./Chatbot/ChatWindow.css.js";
46
47
  import { useOpenChat } from "./Chatbot/store/chat.js";
47
48
  import { useMessages } from "./Chatbot/store/messages.js";
48
49
  import { Chevron } from "./Chevron/index.js";
49
50
  import { CollectInformationAlert } from "./CollectInformationAlert/index.js";
50
- import { comparison, comparison_buttons, comparison_container, comparison_content, comparison_feature, comparison_layout, comparison_list, comparison_tab_container, feature_header, feature_title, headerComparison } from "./Comparison/Comparison.css.js";
51
+ import { comparison, comparison_buttons, comparison_container, comparison_content, comparison_feature, comparison_layout, comparison_list, comparison_set, comparison_tab_container, feature_header, feature_title, headerComparison } from "./Comparison/Comparison.css.js";
51
52
  import { ComparisonSet } from "./Comparison/ComparisonSet.js";
52
53
  import { ContentBanner } from "./ContentBanner/index.js";
53
54
  import { DownloadTile } from "./DownloadTile/index.js";
@@ -67,6 +68,7 @@ import { ApplyNow } from "./Forms/ApplyNow.js";
67
68
  import { getLink } from "./Forms/applynow-utils.js";
68
69
  import { ClearingForm } from "./Forms/ClearingForm.js";
69
70
  import { CommercialDeposits } from "./Forms/CommercialDeposits.js";
71
+ import { CommercialDepositsACS } from "./Forms/CommercialDepositsACS.js";
70
72
  import { CommercialDepositsNoLendingOption } from "./Forms/CommercialDepositsNoLendingOption.js";
71
73
  import { CommercialLending } from "./Forms/CommercialLending.js";
72
74
  import { CommercialPremiumFinance } from "./Forms/CommercialPremiumFinance.js";
@@ -75,6 +77,7 @@ import { ContactCompany } from "./Forms/ContactCompany.js";
75
77
  import { ContactCompanyTitle } from "./Forms/ContactCompanyTitle.js";
76
78
  import { ContactUs } from "./Forms/ContactUs.js";
77
79
  import { ContactUsAAS } from "./Forms/ContactUsAAS.js";
80
+ import { ContactUsSchwabAAS } from "./Forms/ContactUsSchwabAAS.js";
78
81
  import { ContactUsBusiness } from "./Forms/ContactUsBusiness.js";
79
82
  import { ContactUsBusinessNameAndEmail } from "./Forms/ContactUsBusinessNameEmail.js";
80
83
  import { ContactUsLVF } from "./Forms/ContactUsLVF.js";
@@ -110,7 +113,7 @@ import { headline_text, heroSupertag, hero_banner, hero_btns, hero_bullet_item,
110
113
  import { selection_headline_text, selection_section, selection_section_bg, selection_section_content, selection_section_icon, selection_section_icon_img } from "./HeroBanner/SelectionBanner.css.js";
111
114
  import { Hyperlink } from "./Hyperlink/index.js";
112
115
  import { IconBillboard } from "./IconBillboard/IconBillboard.js";
113
- import { billboard_icon, buttons, containerIconBillboard, content, headerIconBillboard, header_section, insightTitle, layout, link_wrapper, list, listItem, section_body, section_container, section_text, title } from "./IconBillboard/IconBillboard.css.js";
116
+ import { billboard_icon, buttons, containerIconBillboard, content, headerIconBillboard, header_section, icon_billboard_section, insightTitle, layout, link_wrapper, list, listItem, section_body, section_container, section_text, title } from "./IconBillboard/IconBillboard.css.js";
114
117
  import { IconBillboardSet } from "./IconBillboard/IconBillboardSet.js";
115
118
  import { default as default2 } from "./icons/ArrowIcon/index.js";
116
119
  import { default as default3 } from "./icons/AxosX/index.js";
@@ -172,11 +175,13 @@ import { Modal } from "./Modal/Modal.js";
172
175
  import { GlobalContext, GlobalContextProvider, useGlobalContext } from "./Modal/contextApi/store.js";
173
176
  import { default as default30 } from "./NavigationMenu/AxosAdvisor/index.js";
174
177
  import { default as default31 } from "./NavigationMenu/AxosAdvisorServices/index.js";
175
- import { default as default32 } from "./NavigationMenu/AxosBank/index.js";
176
- import { default as default33 } from "./NavigationMenu/AxosClearing/index.js";
177
- import { default as default34 } from "./NavigationMenu/AxosFiduciary/index.js";
178
- import { default as default35 } from "./NavigationMenu/AxosALTS/index.js";
179
- import { default as default36 } from "./NavigationMenu/LaVictoire/index.js";
178
+ import { default as default32 } from "./NavigationMenu/ServerNavigation/index.js";
179
+ import { default as default33 } from "./NavigationMenu/AxosBank/index.js";
180
+ import { default as default34 } from "./NavigationMenu/AxosClearing/index.js";
181
+ import { default as default35 } from "./NavigationMenu/AxosFiduciary/index.js";
182
+ import { default as default36 } from "./NavigationMenu/AxosALTS/index.js";
183
+ import { default as default37 } from "./NavigationMenu/LaVictoire/index.js";
184
+ import { extractChildrenTargets, getFirstLevelMenuItems, getLogo, getNavMenuItems, getPathFromNavUrl, getQuickLinks } from "./NavigationMenu/utils.js";
180
185
  import { pn_btn, pn_link } from "./PageNavItem/PageNavItem.css.js";
181
186
  import { PageNavItem } from "./PageNavItem/PageNavItem.js";
182
187
  import { PageNavSet } from "./PageNavSet/PageNavSet.js";
@@ -197,7 +202,7 @@ import { ufbTheme } from "./themes/ufb.css.js";
197
202
  import { victorieTheme } from "./themes/victorie.css.js";
198
203
  import { Topic, TopicContent, TopicHeader, TopicItem } from "./Topic/Topic.js";
199
204
  import { topic_columns, topic_container, topic_header, topic_item } from "./Topic/Topic.css.js";
200
- import { picker_arrow, picker_itemContent, picker_itemProduct, picker_navIcon, picker_navItem } from "./TopicalNavItem/TopicalNavItem.css.js";
205
+ import { picker_itemContent, picker_itemProduct, picker_navIcon, picker_navItem } from "./TopicalNavItem/TopicalNavItem.css.js";
201
206
  import { TopicalNavItem } from "./TopicalNavItem/TopicalNavItem.js";
202
207
  import { picker_container, picker_orient, picker_section } from "./TopicalNavSet/TopicalNavSet.css.js";
203
208
  import { TopicalNavSet } from "./TopicalNavSet/TopicalNavSet.js";
@@ -208,7 +213,7 @@ import { VideoWrapper } from "./VideoWrapper/index.js";
208
213
  import { Tab } from "./Tab/Tab.js";
209
214
  import { TabContainer } from "./Tab/TabContainer.js";
210
215
  import { findMoreAxosDomains, getMoreDomains, isAllowedUrl } from "./utils/allowedAxosDomains.js";
211
- import { appendQueryParams } from "./utils/appendQueryParams.js";
216
+ import { appendQueryParams, filterParams, handleAnchorClick } from "./utils/appendQueryParams.js";
212
217
  import { createCachedEmailValidator } from "./utils/emailValidation.js";
213
218
  import { associatedEmail } from "./utils/EverestValidity.js";
214
219
  import { getVariant, getVariantWithRegex } from "./utils/getVariant.js";
@@ -238,6 +243,7 @@ export {
238
243
  ApplicationStart,
239
244
  ApplyNow,
240
245
  ApyCalculator,
246
+ ApyCalculatorUserTesting,
241
247
  default2 as ArrowIcon,
242
248
  Article,
243
249
  ArticlesSet,
@@ -275,6 +281,7 @@ export {
275
281
  default11 as CloseIcon,
276
282
  CollectInformationAlert,
277
283
  CommercialDeposits,
284
+ CommercialDepositsACS,
278
285
  CommercialDepositsNoLendingOption,
279
286
  CommercialLending,
280
287
  CommercialPremiumFinance,
@@ -288,6 +295,7 @@ export {
288
295
  ContactUsBusinessNameAndEmail,
289
296
  ContactUsLVF,
290
297
  ContactUsNMLSId,
298
+ ContactUsSchwabAAS,
291
299
  ContentBanner,
292
300
  CpraRequest,
293
301
  CraPublicFile,
@@ -348,13 +356,14 @@ export {
348
356
  MortgageRate,
349
357
  MortgageRateFilters,
350
358
  MortgageWarehouseLending,
359
+ default32 as NavBar,
351
360
  default31 as NavBarAAS,
352
- default34 as NavBarAFS,
353
- default35 as NavBarALT,
361
+ default35 as NavBarAFS,
362
+ default36 as NavBarALT,
354
363
  default30 as NavBarAXA,
355
- default32 as NavBarAXB,
356
- default33 as NavBarAXC,
357
- default36 as NavBarLVF,
364
+ default33 as NavBarAXB,
365
+ default34 as NavBarAXC,
366
+ default37 as NavBarLVF,
358
367
  PageNavItem,
359
368
  PageNavSet,
360
369
  Pagination,
@@ -440,6 +449,7 @@ export {
440
449
  article_share_svg,
441
450
  article_spacer,
442
451
  associatedEmail,
452
+ audioManager,
443
453
  autoResize,
444
454
  award_company,
445
455
  award_item,
@@ -506,6 +516,7 @@ export {
506
516
  ceo_name,
507
517
  ceo_quote,
508
518
  ceo_title,
519
+ chatAiDisclaimer,
509
520
  chatEndCircle,
510
521
  chatEndDialogOverlay,
511
522
  chatFinishDialog,
@@ -525,6 +536,7 @@ export {
525
536
  comparison_feature,
526
537
  comparison_layout,
527
538
  comparison_list,
539
+ comparison_set,
528
540
  comparison_tab_container,
529
541
  components,
530
542
  contact_col,
@@ -556,7 +568,9 @@ export {
556
568
  executive_bio,
557
569
  exit_intent,
558
570
  exit_intent_backdrop,
571
+ expandToggleStyle,
559
572
  expand_icon,
573
+ extractChildrenTargets,
560
574
  fadeInUp,
561
575
  feature_header,
562
576
  feature_title,
@@ -574,6 +588,7 @@ export {
574
588
  featured_subgrid_title,
575
589
  featured_supertag,
576
590
  featured_title,
591
+ filterParams,
577
592
  findMoreAxosDomains,
578
593
  flexColumn,
579
594
  footerDisclosure,
@@ -586,6 +601,7 @@ export {
586
601
  form,
587
602
  formBtns,
588
603
  formContainer,
604
+ formTextButton,
589
605
  formWrapper,
590
606
  form_input,
591
607
  form_input_wrapper,
@@ -598,10 +614,16 @@ export {
598
614
  ft_panel_group,
599
615
  fullRowForm,
600
616
  fullRowSelect,
617
+ getFirstLevelMenuItems,
601
618
  getLink,
619
+ getLogo,
602
620
  getMoreDomains,
621
+ getNavMenuItems,
622
+ getPathFromNavUrl,
623
+ getQuickLinks,
603
624
  getVariant,
604
625
  getVariantWithRegex,
626
+ handleAnchorClick,
605
627
  header,
606
628
  headerAccordion,
607
629
  headerCell,
@@ -646,6 +668,7 @@ export {
646
668
  iconContainerBase,
647
669
  iconForm,
648
670
  iconInput,
671
+ icon_billboard_section,
649
672
  iconbillboards_option_apply_now,
650
673
  iconsContent,
651
674
  imageLinkContainer,
@@ -724,7 +747,6 @@ export {
724
747
  padding_in_footer,
725
748
  paragraph,
726
749
  person,
727
- picker_arrow,
728
750
  picker_container,
729
751
  picker_itemContent,
730
752
  picker_itemProduct,
@@ -861,6 +883,7 @@ export {
861
883
  vidyard_height,
862
884
  w_100,
863
885
  windowBarStyle,
886
+ windowExpandedStyle,
864
887
  windowOpenStyle,
865
888
  windowStyle,
866
889
  wrapper,
@@ -69,6 +69,7 @@ export declare const axosTheme: string, vars: {
69
69
  border: `var(--${string})`;
70
70
  borderGradient: `var(--${string})`;
71
71
  icon: `var(--${string})`;
72
+ glowShadow: `var(--${string})`;
72
73
  };
73
74
  window: {
74
75
  background: `var(--${string})`;
@@ -1,6 +1,6 @@
1
1
  import '../assets/themes/axos.css';/* empty css */
2
2
  var axosTheme = "_1073cm80";
3
- var vars = { colors: { primary: { background: "var(--_1073cm81)", backgroundButton: "var(--_1073cm82)", body: "var(--_1073cm83)", border: "var(--_1073cm84)", headline: "var(--_1073cm85)", textButton: "var(--_1073cm86)", textGradient: "var(--_1073cm87)" }, secondary: { background: "var(--_1073cm88)", backgroundButton: "var(--_1073cm89)", body: "var(--_1073cm8a)", border: "var(--_1073cm8b)", headline: "var(--_1073cm8c)", textButton: "var(--_1073cm8d)", textGradient: "var(--_1073cm8e)" }, tertiary: { background: "var(--_1073cm8f)", backgroundButton: "var(--_1073cm8g)", body: "var(--_1073cm8h)", border: "var(--_1073cm8i)", headline: "var(--_1073cm8j)", textButton: "var(--_1073cm8k)", textGradient: "var(--_1073cm8l)" }, quaternary: { background: "var(--_1073cm8m)", backgroundButton: "var(--_1073cm8n)", body: "var(--_1073cm8o)", border: "var(--_1073cm8p)", headline: "var(--_1073cm8q)", textButton: "var(--_1073cm8r)", textGradient: "var(--_1073cm8s)" } }, error: "var(--_1073cm8t)", disabled: { border: "var(--_1073cm8u)", color: "var(--_1073cm8v)", background: "var(--_1073cm8w)" }, icons: { check: { primary: "var(--_1073cm8x)", secondary: "var(--_1073cm8y)" } }, table: { highlight: "var(--_1073cm8z)", color: "var(--_1073cm810)" }, footer: { link: { color: "var(--_1073cm811)" } }, selecction: { icon: { color: "var(--_1073cm812)" } }, chatbot: { bubble: { background: "var(--_1073cm813)", border: "var(--_1073cm814)", borderGradient: "var(--_1073cm815)", icon: "var(--_1073cm816)" }, window: { background: "var(--_1073cm817)", headerBackground: "var(--_1073cm818)", headerText: "var(--_1073cm819)", agentBackground: "var(--_1073cm81a)", userBackground: "var(--_1073cm81b)", inputBorder: "var(--_1073cm81c)", timestampColor: "var(--_1073cm81d)", borderBtn: "var(--_1073cm81e)" } } };
3
+ var vars = { colors: { primary: { background: "var(--_1073cm81)", backgroundButton: "var(--_1073cm82)", body: "var(--_1073cm83)", border: "var(--_1073cm84)", headline: "var(--_1073cm85)", textButton: "var(--_1073cm86)", textGradient: "var(--_1073cm87)" }, secondary: { background: "var(--_1073cm88)", backgroundButton: "var(--_1073cm89)", body: "var(--_1073cm8a)", border: "var(--_1073cm8b)", headline: "var(--_1073cm8c)", textButton: "var(--_1073cm8d)", textGradient: "var(--_1073cm8e)" }, tertiary: { background: "var(--_1073cm8f)", backgroundButton: "var(--_1073cm8g)", body: "var(--_1073cm8h)", border: "var(--_1073cm8i)", headline: "var(--_1073cm8j)", textButton: "var(--_1073cm8k)", textGradient: "var(--_1073cm8l)" }, quaternary: { background: "var(--_1073cm8m)", backgroundButton: "var(--_1073cm8n)", body: "var(--_1073cm8o)", border: "var(--_1073cm8p)", headline: "var(--_1073cm8q)", textButton: "var(--_1073cm8r)", textGradient: "var(--_1073cm8s)" } }, error: "var(--_1073cm8t)", disabled: { border: "var(--_1073cm8u)", color: "var(--_1073cm8v)", background: "var(--_1073cm8w)" }, icons: { check: { primary: "var(--_1073cm8x)", secondary: "var(--_1073cm8y)" } }, table: { highlight: "var(--_1073cm8z)", color: "var(--_1073cm810)" }, footer: { link: { color: "var(--_1073cm811)" } }, selecction: { icon: { color: "var(--_1073cm812)" } }, chatbot: { bubble: { background: "var(--_1073cm813)", border: "var(--_1073cm814)", borderGradient: "var(--_1073cm815)", icon: "var(--_1073cm816)", glowShadow: "var(--_1073cm817)" }, window: { background: "var(--_1073cm818)", headerBackground: "var(--_1073cm819)", headerText: "var(--_1073cm81a)", agentBackground: "var(--_1073cm81b)", userBackground: "var(--_1073cm81c)", inputBorder: "var(--_1073cm81d)", timestampColor: "var(--_1073cm81e)", borderBtn: "var(--_1073cm81f)" } } };
4
4
  export {
5
5
  axosTheme,
6
6
  vars
@@ -10,13 +10,12 @@ const getMoreDomains = (domains) => ({
10
10
  "{LEGACYENROLLMENT}": domains.LEGACY_ENROLLMENT_URL || "https://enrollment.axosbank.com",
11
11
  "{ASSETSURL}": "https://assets.axos.com",
12
12
  "{IMAGEASSETSURL}": "https://images.axos.com",
13
- "{ONLINEBANKING}": domains.ONLINEBANKING_URL || "https://onlinebanking.uat.axosbank.com",
13
+ "{ONLINEBANKING}": domains.ONLINEBANKING_URL || "https://onlinebanking.axosbank.com",
14
14
  "{UFBDIRECT}": domains.UFB_URL || "https://www.ufbdirect.com",
15
15
  "{ARMS}": domains.ARMS_URL || "https://arms.axosadvisor.com",
16
16
  "{APPS}": domains.APPS_URL || "https://apps.axosbank.com",
17
17
  "{AFP}": domains.AFP_URL || "https://afp.axosbank.com",
18
18
  "{INVESTORS}": domains.INVESTORS_URL || "https://investors.axosfinancial.com",
19
- "{OBAXB}": domains.ONLINEBANKING_URL || "https://onlinebanking.axosbank.com",
20
19
  "{UNVENROLLMENT}": domains.UNVENROLLMENT_URL || "https://enroll.axosbank.com",
21
20
  "{AUTOAXB}": "https://auto.axosbank.com/partner/axos-purchase/AU",
22
21
  "{COMMERCIALPORTAL}": domains.COMMERCIALPORTAL_URL || "https://portals.axosbank.com",
@@ -44,7 +43,9 @@ const getMoreDomains = (domains) => ({
44
43
  "{COMMERCIALPORTAL_LOGIN}": domains.COMMERCIALPORTAL_URL ? `${domains.COMMERCIALPORTAL_URL}/login` : "https://portals.axosbank.com/login",
45
44
  "{COMMERCIALPORTAL_REGISTER}": domains.COMMERCIALPORTAL_URL ? `${domains.COMMERCIALPORTAL_URL}/Register` : "https://portals.axosbank.com/Register",
46
45
  "{SHAREAXB}": domains.SHAREAXB_URL || "https://share.axosbank.com",
47
- "{MERIDIAN}": domains.MERIDIAN_URL || "https://www.axosbank.com/"
46
+ "{MERIDIAN}": domains.MERIDIAN_URL || "https://www.axosbank.com/",
47
+ "{ACE}": domains.ACE_URL || "https://ace.axos.com",
48
+ "{SPARK}": domains.SPARK_URL || "https://spark.axosbank.com"
48
49
  });
49
50
  const isAllowedUrl = (url, domains) => {
50
51
  const moreDomains = getMoreDomains(domains);
@@ -65,17 +66,11 @@ const findMoreAxosDomains = (url, domains) => {
65
66
  regexSearching,
66
67
  moreDomains[domainToReplace[0]]
67
68
  );
68
- if (typeof window !== "undefined" && window.location.search) {
69
- const original = new URL(newURL, window.location.origin);
70
- const incomingParams = new URLSearchParams(window.location.search);
71
- const existingParams = new URLSearchParams(original.search);
72
- for (const [key, value] of incomingParams.entries()) {
73
- if (!existingParams.has(key)) {
74
- existingParams.append(key, value);
75
- }
69
+ if (typeof window !== "undefined") {
70
+ const parsed = new URL(newURL, window.location.origin);
71
+ if (parsed.pathname === "/" && parsed.hash && !url.includes("/")) {
72
+ return parsed.hash;
76
73
  }
77
- original.search = existingParams.toString();
78
- return original.toString();
79
74
  }
80
75
  return newURL;
81
76
  }
@@ -1 +1,3 @@
1
- export declare const appendQueryParams: () => void;
1
+ export declare const filterParams: (href: string, currentSearch?: string) => string;
2
+ export declare const handleAnchorClick: (e: MouseEvent | React.MouseEvent, resolved: string) => boolean;
3
+ export declare const appendQueryParams: (currentSearch?: string) => void;
@@ -1,76 +1,76 @@
1
- const appendQueryParams = () => {
2
- const currentOrigin = window.location.origin;
3
- const currentPathname = window.location.pathname;
4
- const filterParams = (href, currentSearch) => {
5
- try {
6
- const search = currentSearch ?? window.location.search;
7
- const searchParams = new URLSearchParams(search);
8
- const base = window.location.origin + window.location.pathname + window.location.search;
9
- const url = new URL(href, base);
10
- const existingParams = new URLSearchParams(url.search);
11
- const newParams = new URLSearchParams();
12
- const addedKeys = /* @__PURE__ */ new Set();
13
- for (const key of existingParams.keys()) {
14
- addedKeys.add(decodeURIComponent(key));
15
- }
1
+ const filterParams = (href, currentSearch) => {
2
+ if (typeof window === "undefined") return href;
3
+ try {
4
+ if (!href || href.startsWith("tel:") || href.startsWith("mailto:") || href === "#" || href === "") {
5
+ return href;
6
+ }
7
+ const search = currentSearch ?? window.location.search;
8
+ const searchParams = new URLSearchParams(search);
9
+ const base = window.location.href;
10
+ const url = new URL(href, base);
11
+ if (url.pathname === window.location.pathname && url.hash) {
12
+ const existingInHash = new URLSearchParams(url.search);
16
13
  for (const [key, value] of searchParams.entries()) {
17
- const decodedKey = decodeURIComponent(key);
18
- const decodedValue = decodeURIComponent(value);
19
- const lowerKey = decodedKey.toLowerCase();
20
- if (!addedKeys.has(lowerKey) && !decodedKey.includes("[]")) {
21
- newParams.append(lowerKey, decodedValue);
22
- addedKeys.add(lowerKey);
23
- } else if (decodedKey.includes("[]")) {
24
- const existingValues = existingParams.getAll(key).map(decodeURIComponent);
25
- if (!existingValues.includes(decodedValue)) {
26
- newParams.append(decodedKey, decodedValue);
27
- }
14
+ const decodedKey = decodeURIComponent(key).toLowerCase();
15
+ if (!existingInHash.has(decodedKey) && !decodedKey.includes("[]")) {
16
+ existingInHash.set(decodedKey, decodeURIComponent(value));
28
17
  }
29
18
  }
30
- const mergedParams = new URLSearchParams(existingParams);
31
- newParams.forEach((value, key) => mergedParams.append(key, value));
32
- return `${url.origin}${url.pathname}?${mergedParams.toString()}${url.hash}`;
33
- } catch (e) {
34
- console.error(e);
35
- return href;
19
+ return `?${existingInHash.toString()}${url.hash}`;
36
20
  }
37
- };
38
- const handleSamePageClick = (e) => {
39
- const anchor = e.target?.closest?.("a[href]");
40
- if (!anchor || anchor.classList.contains("ext-link"))
41
- return;
42
- const href = anchor.getAttribute("href")?.trim();
43
- if (!href || href.startsWith("tel:") || href.startsWith("mailto:") || href === "#" || href === "" || href.startsWith("#"))
44
- return;
45
- const base = window.location.origin + window.location.pathname + window.location.search;
46
- const url = new URL(href, base);
47
- if (url.origin !== currentOrigin || url.pathname !== currentPathname)
48
- return;
49
- e.preventDefault();
50
- e.stopImmediatePropagation();
51
- const merged = filterParams(href, window.location.search);
52
- const mergedUrl = new URL(merged, window.location.origin);
53
- const fullUrl = `${mergedUrl.pathname}${mergedUrl.search}${mergedUrl.hash}`;
54
- window.history.replaceState({ ...window.history.state }, "", fullUrl);
55
- window.dispatchEvent(
56
- new PopStateEvent("popstate", { state: window.history.state })
57
- );
58
- if (mergedUrl.hash) {
59
- const el = document.querySelector(mergedUrl.hash);
60
- el?.scrollIntoView({ behavior: "smooth" });
21
+ const existingParams = new URLSearchParams(url.search);
22
+ const newParams = new URLSearchParams();
23
+ const addedKeys = /* @__PURE__ */ new Set();
24
+ for (const key of existingParams.keys()) {
25
+ addedKeys.add(decodeURIComponent(key));
61
26
  }
62
- };
63
- document.addEventListener("click", handleSamePageClick, true);
64
- if (window.location.search.length) {
65
- const searchParams = new URLSearchParams(window.location.search);
66
- document.querySelectorAll("a[href]:not(.ext-link)").forEach((anchor) => {
67
- const href = anchor.getAttribute("href")?.trim();
68
- if (href && !href.startsWith("tel:") && !href.startsWith("mailto:") && href !== "#" && href !== "" && !href.startsWith("#")) {
69
- anchor.href = filterParams(href, searchParams.toString());
27
+ for (const [key, value] of searchParams.entries()) {
28
+ const decodedKey = decodeURIComponent(key);
29
+ const decodedValue = decodeURIComponent(value);
30
+ const lowerKey = decodedKey.toLowerCase();
31
+ if (!addedKeys.has(lowerKey) && !decodedKey.includes("[]")) {
32
+ newParams.append(lowerKey, decodedValue);
33
+ addedKeys.add(lowerKey);
34
+ } else if (decodedKey.includes("[]")) {
35
+ const existingValues = existingParams.getAll(key).map(decodeURIComponent);
36
+ if (!existingValues.includes(decodedValue)) {
37
+ newParams.append(decodedKey, decodedValue);
38
+ }
70
39
  }
71
- });
40
+ }
41
+ const mergedParams = new URLSearchParams(existingParams);
42
+ newParams.forEach((value, key) => mergedParams.append(key, value));
43
+ return `${url.origin}${url.pathname}?${mergedParams.toString()}${url.hash}`;
44
+ } catch (e) {
45
+ console.error(e);
46
+ return href;
47
+ }
48
+ };
49
+ const handleAnchorClick = (e, resolved) => {
50
+ if (resolved.includes("#") && !resolved.startsWith("http")) {
51
+ e.preventDefault();
52
+ const hash = resolved.split("#")[1];
53
+ const fullUrl = new URL(resolved, window.location.href);
54
+ window.history.pushState(null, "", fullUrl.search + fullUrl.hash);
55
+ window.dispatchEvent(new PopStateEvent("popstate"));
56
+ document.getElementById(hash)?.scrollIntoView({ behavior: "smooth" });
57
+ return true;
72
58
  }
59
+ return false;
60
+ };
61
+ const appendQueryParams = (currentSearch) => {
62
+ const search = currentSearch ?? window.location.search;
63
+ if (!search.length) return;
64
+ const searchParams = new URLSearchParams(search);
65
+ document.querySelectorAll("a[href]:not(.ext-link)").forEach((anchor) => {
66
+ const href = anchor.getAttribute("href")?.trim();
67
+ if (href && !href.startsWith("tel:") && !href.startsWith("mailto:") && href !== "#" && href !== "" && !href.startsWith("#")) {
68
+ anchor.href = filterParams(href, searchParams.toString());
69
+ }
70
+ });
73
71
  };
74
72
  export {
75
- appendQueryParams
73
+ appendQueryParams,
74
+ filterParams,
75
+ handleAnchorClick
76
76
  };
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { findMoreAxosDomains, getMoreDomains, isAllowedUrl } from "./allowedAxosDomains.js";
3
- import { appendQueryParams } from "./appendQueryParams.js";
3
+ import { appendQueryParams, filterParams, handleAnchorClick } from "./appendQueryParams.js";
4
4
  import { createCachedEmailValidator } from "./emailValidation.js";
5
5
  import { associatedEmail } from "./EverestValidity.js";
6
6
  import { getVariant, getVariantWithRegex } from "./getVariant.js";
@@ -14,10 +14,12 @@ export {
14
14
  columnValues,
15
15
  createCachedEmailValidator,
16
16
  createCachedNMLSValidator,
17
+ filterParams,
17
18
  findMoreAxosDomains,
18
19
  getMoreDomains,
19
20
  getVariant,
20
21
  getVariantWithRegex,
22
+ handleAnchorClick,
21
23
  isAbsoluteUrl,
22
24
  isAllowedUrl,
23
25
  isEmailLink,
@@ -0,0 +1,21 @@
1
+ interface UtagData {
2
+ traffic_type?: string;
3
+ traffic_source?: string;
4
+ [key: string]: unknown;
5
+ }
6
+ declare global {
7
+ interface Window {
8
+ utag?: {
9
+ data: UtagData;
10
+ };
11
+ utag_data?: UtagData;
12
+ }
13
+ }
14
+ export interface OrganicUtms {
15
+ utm_source: string;
16
+ utm_medium: string;
17
+ utm_campaign: string;
18
+ }
19
+ export declare const getTealiumOrganicFallback: () => OrganicUtms | null;
20
+ export declare const hasNoUtms: (params: URLSearchParams) => boolean;
21
+ export {};
@@ -0,0 +1,26 @@
1
+ const getTealiumOrganicFallback = () => {
2
+ if (typeof window === "undefined") return null;
3
+ try {
4
+ const utagData = window.utag?.data ?? window.utag_data ?? {};
5
+ const trafficType = utagData.traffic_type ?? "";
6
+ const trafficSource = utagData.traffic_source ?? "";
7
+ if (trafficType !== "organic" || !trafficSource) return null;
8
+ let sourceName = trafficSource;
9
+ try {
10
+ sourceName = new URL(trafficSource).hostname.replace(/^www\./, "").split(".")[0];
11
+ } catch (_) {
12
+ }
13
+ return {
14
+ utm_source: sourceName,
15
+ utm_medium: "organic",
16
+ utm_campaign: "organic-search"
17
+ };
18
+ } catch {
19
+ return null;
20
+ }
21
+ };
22
+ const hasNoUtms = (params) => !params.has("utm_source") && !params.has("utm_medium") && !params.has("utm_campaign") && !params.has("utm_content") && !params.has("utm_term");
23
+ export {
24
+ getTealiumOrganicFallback,
25
+ hasNoUtms
26
+ };
@@ -0,0 +1 @@
1
+ export declare function usePageVisibility(): boolean;
@@ -0,0 +1,21 @@
1
+ "use client";
2
+ import { useState, useEffect } from "react";
3
+ function usePageVisibility() {
4
+ const [isVisible, setIsVisible] = useState(
5
+ () => typeof document !== "undefined" ? !document.hidden : true
6
+ );
7
+ useEffect(() => {
8
+ if (typeof document === "undefined") return;
9
+ const handleVisibilityChange = () => {
10
+ setIsVisible(!document.hidden);
11
+ };
12
+ document.addEventListener("visibilitychange", handleVisibilityChange);
13
+ return () => {
14
+ document.removeEventListener("visibilitychange", handleVisibilityChange);
15
+ };
16
+ }, []);
17
+ return isVisible;
18
+ }
19
+ export {
20
+ usePageVisibility
21
+ };
@@ -0,0 +1 @@
1
+
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@axos-web-dev/shared-components",
3
3
  "description": "Axos shared components library for web.",
4
- "version": "2.0.0-dev.28",
4
+ "version": "2.0.0-dev.29-toasts",
5
5
  "type": "module",
6
6
  "main": "index.js",
7
7
  "module": "dist/main.js",
@@ -34,7 +34,7 @@
34
34
  "check-lint": "eslint .",
35
35
  "format": "prettier --write .",
36
36
  "test-all": "npm run check-format && npm run check-lint && npm run check-types && npm run build",
37
- "prepare": "husky",
37
+ "prepare": "npm run build",
38
38
  "storybook": "storybook dev -p 6006",
39
39
  "build-storybook": "storybook build",
40
40
  "npm:link": "npm run build && npm link"