@axos-web-dev/shared-components 2.0.0-dev.2-nav-1 → 2.0.0-dev.20

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 (143) hide show
  1. package/dist/ATMLocator/ATMLocator.js +84 -14
  2. package/dist/Accordion/Accordion.js +3 -3
  3. package/dist/AlertBanner/index.js +1 -1
  4. package/dist/Article/Article.js +1 -1
  5. package/dist/Auth/ErrorAlert.js +88 -6
  6. package/dist/Button/Button.js +120 -6
  7. package/dist/Calculators/AnnualFeeCalculator/index.js +1 -1
  8. package/dist/Calculators/ApyCalculator/index.js +1 -1
  9. package/dist/Calculators/BuyDownCalculator/index.js +1 -1
  10. package/dist/Calculators/Calculator.d.ts +1 -1
  11. package/dist/Calculators/Calculator.js +89 -18
  12. package/dist/Calculators/MarginTradingCalculator/index.js +113 -3
  13. package/dist/Calculators/MarineLoanMonthlyPaymentCalculator/index.js +1 -1
  14. package/dist/Calculators/MaxLoanCalculator/index.js +1 -1
  15. package/dist/Calculators/MonthlyPaymentCalculator/index.js +1 -1
  16. package/dist/Calculators/MonthlyPaymentLVFCalculator/index.js +1 -1
  17. package/dist/Carousel/index.js +110 -5
  18. package/dist/Chatbot/AnimatedGradientBorder.css.d.ts +4 -0
  19. package/dist/Chatbot/AnimatedGradientBorder.css.js +11 -3
  20. package/dist/Chatbot/Bubble.css.js +2 -1
  21. package/dist/Chatbot/Bubble.d.ts +1 -0
  22. package/dist/Chatbot/Bubble.js +2 -2
  23. package/dist/Chatbot/Chat.js +17 -7
  24. package/dist/Chatbot/ChatWindow.css.js +35 -35
  25. package/dist/Chatbot/ChatWindow.js +24 -18
  26. package/dist/Chatbot/Chatbot.d.ts +10 -2
  27. package/dist/Chatbot/Chatbot.js +83 -60
  28. package/dist/Chatbot/useHeadlessChat.js +1 -2
  29. package/dist/Chevron/index.js +114 -4
  30. package/dist/Comparison/Comparison.js +121 -5
  31. package/dist/ContentBanner/index.js +1 -1
  32. package/dist/ExecutiveBio/ExecutiveBio.interface.d.ts +2 -3
  33. package/dist/ExecutiveBio/ExecutiveBio.js +126 -4
  34. package/dist/ExecutiveBio/ExecutiveBioSet.js +1 -1
  35. package/dist/FaqAccordion/index.js +112 -9
  36. package/dist/FooterDisclosure/FooterDisclosure.js +1 -1
  37. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +128 -5
  38. package/dist/Forms/ApplyNow.js +109 -4
  39. package/dist/Forms/BoatMooringLocation.d.ts +6 -1
  40. package/dist/Forms/BoatMooringLocation.js +145 -8
  41. package/dist/Forms/ContactCompany.d.ts +1 -1
  42. package/dist/Forms/ContactCompanyTitle.d.ts +1 -1
  43. package/dist/Forms/ContactUsBusiness.js +104 -7
  44. package/dist/Forms/ContactUsBusinessNameEmail.js +104 -8
  45. package/dist/Forms/ContactUsNMLSId.js +104 -7
  46. package/dist/Forms/CpraRequest.js +96 -2
  47. package/dist/Forms/CraPublicFile.js +104 -7
  48. package/dist/Forms/DealerServices.d.ts +1 -1
  49. package/dist/Forms/EmailOnly.js +104 -7
  50. package/dist/Forms/EmailUs.js +40 -34
  51. package/dist/Forms/FormEnums.js +2 -2
  52. package/dist/Forms/Forms.css.d.ts +3 -0
  53. package/dist/Forms/Forms.css.js +39 -39
  54. package/dist/Forms/MortgageRate/MortgageRateForm.js +97 -9
  55. package/dist/Forms/MortgageRate/MortgageRateWatch.js +92 -4
  56. package/dist/Forms/MortgageWarehouseLending.js +104 -7
  57. package/dist/Forms/SuccesForm.js +91 -8
  58. package/dist/HeroBanner/HeroBanner.css.d.ts +1 -0
  59. package/dist/HeroBanner/HeroBanner.css.js +19 -16
  60. package/dist/HeroBanner/HeroBanner.d.ts +1 -1
  61. package/dist/HeroBanner/HeroBanner.interface.d.ts +4 -1
  62. package/dist/HeroBanner/HeroBanner.js +26 -160
  63. package/dist/HeroBanner/HeroVideoPoster.d.ts +5 -0
  64. package/dist/HeroBanner/HeroVideoPoster.js +24 -0
  65. package/dist/HeroBanner/LargeBanner.css.d.ts +110 -0
  66. package/dist/HeroBanner/LargeBanner.css.js +22 -8
  67. package/dist/HeroBanner/LargeHeroBanner.d.ts +5 -0
  68. package/dist/HeroBanner/LargeHeroBanner.js +228 -0
  69. package/dist/HeroBanner/index.js +3 -2
  70. package/dist/Hyperlink/index.js +110 -5
  71. package/dist/IconBillboard/IconBillboardSet.js +1 -1
  72. package/dist/ImageBillboard/ImageBillboard.js +1 -1
  73. package/dist/ImageLink/ImageLink.js +106 -6
  74. package/dist/ImageLink/ImageLinkSet.js +114 -6
  75. package/dist/ImageLink/index.js +106 -7
  76. package/dist/Input/Checkbox.js +2 -2
  77. package/dist/Input/DownPaymentInput.js +1 -1
  78. package/dist/Input/Dropdown.js +1 -1
  79. package/dist/Input/Input.js +1 -1
  80. package/dist/Input/InputTextArea.js +1 -1
  81. package/dist/Insight/Featured/CategorySelector.d.ts +1 -1
  82. package/dist/Insight/Featured/CategorySelector.js +109 -5
  83. package/dist/Insight/Featured/Featured.js +108 -10
  84. package/dist/Insight/Featured/Header.js +109 -4
  85. package/dist/LandingPageHeader/LandingPageHeader.d.ts +1 -1
  86. package/dist/LandingPageHeader/LandingPageHeader.js +1 -1
  87. package/dist/Modal/Modal.js +122 -2
  88. package/dist/Modal/contextApi/store.js +1 -1
  89. package/dist/NavigationMenu/AxosALTS/index.js +111 -6
  90. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.d.ts +1 -12
  91. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.js +268 -183
  92. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.module.js +27 -27
  93. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.d.ts +271 -37
  94. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +493 -63
  95. package/dist/NavigationMenu/AxosBank/NavBar.module.js +39 -42
  96. package/dist/NavigationMenu/AxosBank/SubNavBar.d.ts +1 -6
  97. package/dist/NavigationMenu/AxosBank/SubNavBar.js +3192 -118
  98. package/dist/NavigationMenu/AxosBank/index.d.ts +4 -6
  99. package/dist/NavigationMenu/AxosBank/index.js +467 -83
  100. package/dist/NavigationMenu/LaVictoire/index.js +118 -5
  101. package/dist/NavigationMenu/Navbar.d.ts +1 -4
  102. package/dist/NavigationMenu/Navbar.js +114 -11
  103. package/dist/NavigationMenu/SignInNavButton.js +122 -9
  104. package/dist/PageNavItem/PageNavItem.js +1 -1
  105. package/dist/SetContainer/SetContainer.js +108 -7
  106. package/dist/SocialMediaBar/iconsRepository.js +124 -0
  107. package/dist/StepItem/StepItem.js +1 -1
  108. package/dist/StepItemSet/StepItemSet.js +1 -1
  109. package/dist/Table/Table.js +1 -1
  110. package/dist/Topic/Topic.js +1 -1
  111. package/dist/VideoTile/VideoTile.js +106 -2
  112. package/dist/VideoWrapper/index.js +110 -7
  113. package/dist/assets/Chatbot/AnimatedGradientBorder.css +99 -12
  114. package/dist/assets/Chatbot/Bubble.css +19 -6
  115. package/dist/assets/Chatbot/ChatWindow.css +79 -69
  116. package/dist/assets/ExecutiveBio/ExecutiveBio.css +0 -2
  117. package/dist/assets/Forms/Forms.css +94 -91
  118. package/dist/assets/HeroBanner/HeroBanner.css +82 -65
  119. package/dist/assets/HeroBanner/LargeBanner.css +126 -59
  120. package/dist/assets/NavigationMenu/AxosBank/MobileMenu/MobileMenu.css +49 -49
  121. package/dist/assets/NavigationMenu/AxosBank/NavBar.css +88 -126
  122. package/dist/assets/globals.css +9 -9
  123. package/dist/assets/notification.mp3.js +4 -0
  124. package/dist/assets/themes/axos.css +1 -1
  125. package/dist/assets/themes/ufb.css +1 -1
  126. package/dist/main.js +3 -2
  127. package/dist/utils/getPosition.d.ts +1 -0
  128. package/dist/utils/getPosition.js +17 -0
  129. package/dist/utils/variant.types.d.ts +1 -0
  130. package/package.json +4 -6
  131. package/dist/Chatbot/authenticate.d.ts +0 -3
  132. package/dist/Chatbot/authenticate.js +0 -16
  133. package/dist/NavigationMenu/AxosBank/DropwdownButton.d.ts +0 -7
  134. package/dist/NavigationMenu/AxosBank/DropwdownButton.js +0 -125
  135. package/dist/NavigationMenu/AxosBank/Menu.d.ts +0 -37
  136. package/dist/NavigationMenu/AxosBank/Menu.js +0 -150
  137. package/dist/NavigationMenu/AxosBank/MobileMenu/mobileReducer.d.ts +0 -36
  138. package/dist/NavigationMenu/AxosBank/MobileMenu/mobileReducer.js +0 -105
  139. package/dist/NavigationMenu/AxosBank/SubNavItem.d.ts +0 -1
  140. package/dist/NavigationMenu/AxosBank/SubNavItem.js +0 -206
  141. package/dist/NavigationMenu/utils.d.ts +0 -465
  142. package/dist/NavigationMenu/utils.js +0 -112
  143. package/dist/assets/incoming.mp3.js +0 -4
@@ -4,41 +4,41 @@ import '../assets/Chatbot/ChatWindow.css';import '../assets/Chatbot/Chatbot.css'
4
4
  /* empty css */
5
5
  /* empty css */
6
6
  /* empty css */
7
- var windowStyle = "_13n1jqk0";
8
- var windowOpenStyle = "_13n1jqk1";
9
- var windowBarStyle = "_13n1jqk2";
10
- var left_bar_section = "_13n1jqk3";
11
- var chat_title = "_13n1jqk4";
12
- var buttonss_section = "_13n1jqk5";
13
- var button_bar = "_13n1jqk6";
14
- var button_reset = "_13n1jqk7";
15
- var arrowFill = "_13n1jqk8";
16
- var inputStyle = "_13n1jqk9";
17
- var autoResize = "_13n1jqka";
18
- var sendButtonStyle = "_13n1jqkb";
19
- var messagesContainerStyle = "_13n1jqkc";
20
- var notificationStyle = "_13n1jqkd";
21
- var messageStyle = "_13n1jqke";
22
- var inline_button_wrapper = "_13n1jqkf";
23
- var inline_button = "_13n1jqkg";
24
- var endChatButtonStyle = "_13n1jqkh";
25
- var noAnswerButton = "_13n1jqki";
26
- var chatbotMenu = "_13n1jqkj";
27
- var chatbotMenuItem = "_13n1jqkk";
28
- var chatNetworkStatus = "_13n1jqkl";
29
- var chatEndDialogOverlay = "_13n1jqkm";
30
- var chatFinishDialog = "_13n1jqkn";
31
- var thankyou_overlay = "_13n1jqko";
32
- var thankyou_message = "_13n1jqkp";
33
- var thankyou_image = "_13n1jqkq";
34
- var chatEndCircle = "_13n1jqkr";
35
- var user_msg = "_13n1jqks";
36
- var agent_msg = "_13n1jqkt";
37
- var shimmerText = "_13n1jqkv";
38
- var tableMsg = "_13n1jqkw";
39
- var tableHead = "_13n1jqkx";
40
- var tableCell = "_13n1jqky";
41
- var trMortgageTable = "_13n1jqkz";
7
+ var windowStyle = "_13n1jqk1";
8
+ var windowOpenStyle = "_13n1jqk2";
9
+ var windowBarStyle = "_13n1jqk3";
10
+ var left_bar_section = "_13n1jqk4";
11
+ var chat_title = "_13n1jqk5";
12
+ var buttonss_section = "_13n1jqk6";
13
+ var button_bar = "_13n1jqk7";
14
+ var button_reset = "_13n1jqk8";
15
+ var arrowFill = "_13n1jqk9";
16
+ var inputStyle = "_13n1jqka";
17
+ var autoResize = "_13n1jqkb";
18
+ var sendButtonStyle = "_13n1jqkc";
19
+ var messagesContainerStyle = "_13n1jqkd";
20
+ var notificationStyle = "_13n1jqke";
21
+ var messageStyle = "_13n1jqkf";
22
+ var inline_button_wrapper = "_13n1jqkg";
23
+ var inline_button = "_13n1jqkh";
24
+ var endChatButtonStyle = "_13n1jqki";
25
+ var noAnswerButton = "_13n1jqkj";
26
+ var chatbotMenu = "_13n1jqkk";
27
+ var chatbotMenuItem = "_13n1jqkl";
28
+ var chatNetworkStatus = "_13n1jqkm";
29
+ var chatEndDialogOverlay = "_13n1jqkn";
30
+ var chatFinishDialog = "_13n1jqko";
31
+ var thankyou_overlay = "_13n1jqkp";
32
+ var thankyou_message = "_13n1jqkq";
33
+ var thankyou_image = "_13n1jqkr";
34
+ var chatEndCircle = "_13n1jqks";
35
+ var user_msg = "_13n1jqkt";
36
+ var agent_msg = "_13n1jqku";
37
+ var shimmerText = "_13n1jqkw";
38
+ var tableMsg = "_13n1jqkx";
39
+ var tableHead = "_13n1jqky";
40
+ var tableCell = "_13n1jqkz";
41
+ var trMortgageTable = "_13n1jqk10";
42
42
  export {
43
43
  agent_msg,
44
44
  arrowFill,
@@ -43,7 +43,8 @@ const ChatWindow = ({
43
43
  toggleThankyouMessage,
44
44
  hasEscalated,
45
45
  isBlockedInput,
46
- isOpen
46
+ isOpen,
47
+ hasOpenedOnce
47
48
  } = useOpenChat();
48
49
  const [mounted, setMounted] = React.useState(false);
49
50
  const [menuOpen, setMenuOpen] = React.useState(false);
@@ -398,7 +399,7 @@ const ChatWindow = ({
398
399
  }
399
400
  ) }) : null,
400
401
  /* @__PURE__ */ jsxs("div", { className: clsx(messagesContainerStyle), children: [
401
- (status === "idle" || messages.length == 0) && /* @__PURE__ */ jsx(
402
+ (status === "idle" && messages.length == 0 || messages.length == 0) && /* @__PURE__ */ jsx(
402
403
  "div",
403
404
  {
404
405
  className: clsx(),
@@ -425,23 +426,28 @@ const ChatWindow = ({
425
426
  )
426
427
  }
427
428
  ),
428
- messages?.map((msg) => /* @__PURE__ */ jsx(
429
- ChatbotMessage,
430
- {
431
- msg,
432
- onSend,
433
- showAvatar,
434
- showName,
435
- virtualAgent,
436
- onCancelEndChat,
437
- onEndChat: () => {
438
- endChat();
439
- onCloseAfterThankYou();
429
+ messages?.map((msg) => {
430
+ if (!hasOpenedOnce) {
431
+ return null;
432
+ }
433
+ return /* @__PURE__ */ jsx(
434
+ ChatbotMessage,
435
+ {
436
+ msg,
437
+ onSend,
438
+ showAvatar,
439
+ showName,
440
+ virtualAgent,
441
+ onCancelEndChat,
442
+ onEndChat: () => {
443
+ endChat();
444
+ onCloseAfterThankYou();
445
+ },
446
+ inputRef
440
447
  },
441
- inputRef
442
- },
443
- msg?.$index
444
- )),
448
+ msg?.$index
449
+ );
450
+ }),
445
451
  showReconnect && /* @__PURE__ */ jsx(
446
452
  "button",
447
453
  {
@@ -2,9 +2,17 @@ export type ChatbotProps = {
2
2
  project?: "axos" | "ufb";
3
3
  debug?: boolean;
4
4
  };
5
- export declare const Chatbot: ({ project, projectEnv, menuOption, debug, }: {
6
- project?: "axos" | "ufb";
5
+ type InitalizeChatbot = {
6
+ companyId: string;
7
+ tenantName: string;
8
+ host: string;
9
+ authUrl: string;
10
+ };
11
+ export declare const Chatbot: ({ project, projectEnv, menuOption, config, }: {
12
+ project?: "axos" | "ufb" | "Axos" | "Ufb";
7
13
  projectEnv?: "dev" | "qa" | "uat" | "stg" | "prod";
8
14
  menuOption?: "Support Virtual Agent" | string;
9
15
  debug?: boolean;
16
+ config: InitalizeChatbot;
10
17
  }) => false | import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -2,18 +2,27 @@
2
2
  import { jsxs, jsx } from "react/jsx-runtime";
3
3
  import { useRef, useState, useEffect } from "react";
4
4
  import { useMount, useUnmount } from "react-use";
5
- import notificationSound from "../assets/incoming.mp3.js";
6
- import { authenticate } from "./authenticate.js";
5
+ import notificationSound from "../assets/notification.mp3.js";
7
6
  import { Bubble } from "./Bubble.js";
8
- import { chatbotUFB, chatbotAXB } from "./Chatbot.css.js";
7
+ import { chatbotAXB, chatbotUFB } from "./Chatbot.css.js";
9
8
  import { ChatWindow } from "./ChatWindow.js";
10
9
  import { useOpenChat } from "./store/chat.js";
11
10
  import { useMessages } from "./store/messages.js";
11
+ if (typeof window !== "undefined") {
12
+ const OriginalAudio = window.Audio;
13
+ class PatchedAudio extends OriginalAudio {
14
+ constructor(src) {
15
+ const newSrc = src === "https://websdk.ujet.co/v3/ping.mp3" ? notificationSound : src;
16
+ super(newSrc);
17
+ }
18
+ }
19
+ window.Audio = PatchedAudio;
20
+ }
12
21
  const Chatbot = ({
13
22
  project = "axos",
14
23
  projectEnv = "dev",
15
24
  menuOption = "Support Virtual Agent",
16
- debug = false
25
+ config
17
26
  }) => {
18
27
  const {
19
28
  hasOpenedOnce,
@@ -29,13 +38,11 @@ const Chatbot = ({
29
38
  const clientRef = useRef(null);
30
39
  const menuRef = useRef(null);
31
40
  const isMountedRef = useRef(false);
32
- const hasLoadedBefore = useRef(true);
33
41
  const chatRef = useRef(null);
34
42
  const agent_virtual = useRef(null);
35
43
  const [status, setStatus] = useState("idle");
36
44
  const [hasStarted, setHasStarted] = useState(false);
37
45
  const [menusLoaded, setMenusLoaded] = useState(false);
38
- const [pendingStart, setPendingStart] = useState(false);
39
46
  const [isTyping, setIsTyping] = useState(false);
40
47
  const [scalationStarted, setScalationStarted] = useState(false);
41
48
  useEffect(() => {
@@ -90,6 +97,9 @@ const Chatbot = ({
90
97
  menuRef.current = await clientRef.current.getMenus();
91
98
  setMenusLoaded(true);
92
99
  console.log("menus:", menuRef.current);
100
+ if (menuRef.current !== null) {
101
+ await startChat();
102
+ }
93
103
  }
94
104
  };
95
105
  const onAuthenticatedHandler = async () => {
@@ -220,41 +230,37 @@ const Chatbot = ({
220
230
  clientRef.current?.off("chat.connected", onChatConnectedHandler);
221
231
  };
222
232
  const createClient = async () => {
223
- const { Client, Logger, consoleLoggerHandler } = await import("@ujet/websdk-headless");
224
- if (projectEnv !== "prod" || debug) {
225
- Logger.addHandler(consoleLoggerHandler);
226
- }
233
+ const { Client } = await import("@ujet/websdk-headless");
227
234
  if (clientRef.current) return;
228
235
  const client = new Client({
229
- companyId: process.env.CCAI_COMPANY_ID || "",
230
- tenant: process.env.CCAI_TENANT_NAME || "",
231
- host: process.env.CCAI_HOST || "",
232
- // or your region
233
- // companyId: import.meta.env.VITE_COMPANY_ID || "",
234
- // tenant: import.meta.env.VITE_TENANT_NAME || "",
235
- // host: import.meta.env.VITE_HOST || "", // or your region
236
- authenticate
236
+ companyId: config.companyId,
237
+ tenant: config.tenantName,
238
+ host: config.host,
239
+ authenticate: async () => {
240
+ const res = await fetch(config.authUrl, {
241
+ method: "GET",
242
+ headers: {
243
+ "Content-Type": "application/json"
244
+ }
245
+ });
246
+ const data = await res.json();
247
+ return {
248
+ token: data.token
249
+ };
250
+ }
237
251
  });
238
252
  client?.on("ready", onReadyHandler);
239
253
  client?.on("authenticated", onAuthenticatedHandler);
240
254
  isMountedRef.current = true;
241
255
  clientRef.current = client;
242
256
  registerEventHandlers();
243
- if (client) {
244
- const OriginalAudio = window.Audio;
245
- window.Audio = function(src) {
246
- if (src === "https://websdk.ujet.co/v3/ping.mp3") {
247
- src = notificationSound;
248
- }
249
- return new OriginalAudio(src);
250
- };
251
- }
252
257
  return;
253
258
  };
254
259
  const startChat = async () => {
255
- console.log("Starting chat");
260
+ console.log("Starting chat", chatRef.current);
256
261
  const client = clientRef.current;
257
262
  if (!client) return;
263
+ if (hasStarted) return;
258
264
  if (!menuRef.current || !menuRef.current.menus) {
259
265
  let waited = 0;
260
266
  while ((!menuRef.current || !menuRef.current.menus) && waited < 5e3) {
@@ -267,19 +273,26 @@ const Chatbot = ({
267
273
  }
268
274
  }
269
275
  try {
276
+ console.log("menus: ->", menuRef.current);
270
277
  const ongoingChat = await client.loadOngoingChat();
278
+ console.log("theres a ongoing chat?: -->", ongoingChat);
271
279
  if (ongoingChat) {
272
280
  console.log("Ongoing chat found:", ongoingChat);
273
281
  console.log("Resuming chat:", ongoingChat.id);
274
- chatRef.current = await client.resumeChat(ongoingChat.id);
282
+ chatRef.current = ongoingChat;
275
283
  agent_virtual.current = ongoingChat.agent;
276
284
  return;
277
285
  }
286
+ console.log("not ongoing chat ");
287
+ console.log(!!ongoingChat);
278
288
  const foundMenu = menuRef.current.menus.find(
279
289
  (menu) => menu.name === menuOption
280
290
  );
281
291
  const menuId = foundMenu && foundMenu.id;
282
292
  console.log("Creating new chat with menu ID:", menuId);
293
+ if (!foundMenu) {
294
+ throw new Error("Menu not found: " + menuOption);
295
+ }
283
296
  const newChat = await client.createChat(menuId, { custom_data });
284
297
  if (newChat !== null) {
285
298
  chatRef.current = newChat;
@@ -288,15 +301,23 @@ const Chatbot = ({
288
301
  }
289
302
  } catch (err) {
290
303
  console.error("Error creating chat:", err);
304
+ } finally {
305
+ setHasStarted(true);
306
+ if (clientRef?.current?.chat?.state?.status == "va_assigned") {
307
+ const OriginalAudio = window.Audio;
308
+ class PatchedAudio extends OriginalAudio {
309
+ constructor(src) {
310
+ const newSrc = src === "https://websdk.ujet.co/v3/ping.mp3" ? notificationSound : src;
311
+ super(newSrc);
312
+ }
313
+ }
314
+ window.Audio = PatchedAudio;
315
+ }
291
316
  }
292
317
  };
293
318
  const handleClick = async () => {
294
319
  toggle();
295
320
  if (hasStarted) return;
296
- if (!menusLoaded) {
297
- setPendingStart(true);
298
- return;
299
- }
300
321
  if (!hasOpenedOnce) {
301
322
  await startChat();
302
323
  setHasStarted(true);
@@ -337,17 +358,9 @@ const Chatbot = ({
337
358
  isMountedRef.current = true;
338
359
  await createClient();
339
360
  });
340
- useEffect(() => {
341
- if (menusLoaded && pendingStart && !hasStarted) {
342
- startChat();
343
- setPendingStart(false);
344
- }
345
- }, [menusLoaded, pendingStart, hasStarted]);
346
361
  useUnmount(() => {
347
362
  console.log("Chatbot unmounted");
348
363
  deregisterEventHandlers();
349
- isMountedRef.current = false;
350
- hasLoadedBefore.current = true;
351
364
  reset();
352
365
  setHasStarted(false);
353
366
  setStatus("idle");
@@ -360,9 +373,13 @@ const Chatbot = ({
360
373
  const onClose = () => {
361
374
  toggle();
362
375
  };
363
- const onCloseAfterThankYou = () => {
376
+ const newChatSession = async () => {
377
+ console.log("create new session");
378
+ };
379
+ const onCloseAfterThankYou = async () => {
364
380
  reset();
365
381
  setHasStarted(false);
382
+ newChatSession();
366
383
  };
367
384
  const onPreviewTyping = async (msg) => {
368
385
  console.log("Preview typing message:", msg);
@@ -375,24 +392,30 @@ const Chatbot = ({
375
392
  console.error("Error sending preview message:", error);
376
393
  }
377
394
  };
378
- return menusLoaded && /* @__PURE__ */ jsxs("div", { className: project === "ufb" ? chatbotUFB : chatbotAXB, children: [
379
- /* @__PURE__ */ jsx(Bubble, { onClick: handleClick }),
380
- /* @__PURE__ */ jsx(
381
- ChatWindow,
382
- {
383
- status,
384
- virtualAgent: agent_virtual.current,
385
- messages,
386
- onSend: onSendMessage,
387
- endChat: onEndChat,
388
- onClose,
389
- onNewChat: onEndAndStartNewChat,
390
- onCloseAfterThankYou,
391
- previewTyping: onPreviewTyping,
392
- isTyping
393
- }
394
- )
395
- ] });
395
+ return menusLoaded && /* @__PURE__ */ jsxs(
396
+ "div",
397
+ {
398
+ className: ["axos", "Axos"].includes(project) ? chatbotAXB : chatbotUFB,
399
+ children: [
400
+ /* @__PURE__ */ jsx(Bubble, { onClick: handleClick, project }),
401
+ /* @__PURE__ */ jsx(
402
+ ChatWindow,
403
+ {
404
+ status,
405
+ virtualAgent: agent_virtual.current,
406
+ messages,
407
+ onSend: onSendMessage,
408
+ endChat: onEndChat,
409
+ onClose,
410
+ onNewChat: onEndAndStartNewChat,
411
+ onCloseAfterThankYou,
412
+ previewTyping: onPreviewTyping,
413
+ isTyping
414
+ }
415
+ )
416
+ ]
417
+ }
418
+ );
396
419
  };
397
420
  export {
398
421
  Chatbot
@@ -76,8 +76,7 @@ function useHeadlessChat({
76
76
  let chatTimeoutHandler;
77
77
  async function init() {
78
78
  setStatus("connecting");
79
- const { Client, Logger, consoleLoggerHandler } = await import("@ujet/websdk-headless");
80
- if (debug) Logger.addHandler(consoleLoggerHandler);
79
+ const { Client } = await import("@ujet/websdk-headless");
81
80
  try {
82
81
  clientRef.current = new Client({
83
82
  companyId,
@@ -2,21 +2,131 @@
2
2
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
3
3
  import SvgArrowIcon from "../icons/ArrowIcon/index.js";
4
4
  import "../icons/CheckIcon/CheckIcon.css.js";
5
- import '../assets/Modal/Modal.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 */
5
+ 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/AxosBank/NavBar2.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/Typography/Typography.css';import '../assets/Modal/Modal.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 */
6
6
  /* empty css */
7
7
  /* empty css */
8
8
  /* empty css */
9
9
  /* empty css */
10
10
  /* empty css */
11
- import { Interstitial } from "../Interstitial/Interstitial.js";
11
+ import "../Accordion/Accordion.js";
12
+ import "../Accordion/Accordion.css.js";
13
+ import "../AlertBanner/AlertBanner.css.js";
12
14
  import { getVariant } from "../utils/getVariant.js";
13
15
  import { useState } from "react";
16
+ import "../Article/Article.css.js";
17
+ import { Interstitial } from "../Interstitial/Interstitial.js";
18
+ import { chevron, chevron_wrapper } from "./Chevron.css.js";
19
+ /* empty css */
20
+ import { useGlobalContext } from "../Modal/contextApi/store.js";
14
21
  import clsx from "clsx";
15
22
  import "../Button/Button.css.js";
16
23
  import "react-use";
17
- import { chevron, chevron_wrapper } from "./Chevron.css.js";
24
+ import "../ArticlesSet/ArticlesSet.css.js";
25
+ import "../IconBillboard/IconBillboard.css.js";
26
+ import "../Calculators/calculator.css.js";
27
+ import "../Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js";
28
+ import "../Calculators/ApyCalculator/ApyCalculator.css.js";
29
+ import "../Table/Table.css.js";
30
+ import "../Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js";
31
+ import "../Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js";
32
+ import "@hookform/resolvers/zod";
33
+ import "../Input/Checkbox.js";
34
+ import "../Input/CurrencyInput.js";
35
+ import "../Input/Dropdown.js";
36
+ import "../Input/Dropdown.css.js";
37
+ import "../Input/Input.js";
38
+ import "../Input/Input.css.js";
39
+ import "../Input/InputAmount.js";
40
+ import "../Input/InputPhone.js";
41
+ import "../Input/InputTextArea.js";
42
+ import "../Input/DownPaymentInput.js";
43
+ import "../Input/RadioButton.js";
44
+ import "../Input/PercentageInput.js";
45
+ import "react-hook-form";
46
+ import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
47
+ import "../Forms/Forms.css.js";
48
+ import "../Forms/HoneyPot/index.js";
49
+ import "../Forms/SalesforceFieldsForm.js";
50
+ /* empty css */
51
+ /* empty css */
52
+ import "../Input/RadioButton.css.js";
53
+ import "../Input/Checkbox.css.js";
54
+ import "../LoadingIndicator/LoadingIndicator.css.js";
55
+ import "../Interstitial/Interstitial-variants.css.js";
56
+ import "../Inputs/Input.css.js";
57
+ /* empty css */
58
+ import "../Hyperlink/Hyperlink.css.js";
59
+ /* empty css */
60
+ import "iframe-resizer";
61
+ /* empty css */
62
+ import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
63
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
64
+ import "../Calculators/SummitApyCalculator/BalanceAPYCalculator.css.js";
65
+ /* empty css */
66
+ import "react-dom";
18
67
  /* empty css */
19
- import { useGlobalContext } from "../Modal/contextApi/store.js";
68
+ import "../Auth/SignInPassword.js";
69
+ /* empty css */
70
+ /* empty css */
71
+ /* empty css */
72
+ /* empty css */
73
+ import "../Carousel/index.js";
74
+ /* empty css */
75
+ /* empty css */
76
+ /* empty css */
77
+ import "../Chatbot/store/chat.js";
78
+ import "../Chatbot/Chatbot.js";
79
+ /* empty css */
80
+ import "../Chatbot/store/messages.js";
81
+ /* empty css */
82
+ import "../Comparison/Comparison.css.js";
83
+ import "next/image.js";
84
+ import "../HeroBanner/LargeBanner.css.js";
85
+ import "../HeroBanner/HeroBanner.css.js";
86
+ import "../HeroBanner/SelectionBanner.css.js";
87
+ import "../SetContainer/SetContainer.css.js";
88
+ import "../Tab/Tab.css.js";
89
+ import "../icons/Star/Star.css.js";
90
+ import "../ContentBanner/ContentBanner.css.js";
91
+ /* empty css */
92
+ import "../ExecutiveBio/ExecutiveBio.css.js";
93
+ import "../FaqAccordion/index.js";
94
+ import "../FooterDisclosure/FooterDisclosure.css.js";
95
+ /* empty css */
96
+ /* empty css */
97
+ /* empty css */
98
+ import "../ImageBillboard/ImageBillboard.css.js";
99
+ import "next/script.js";
100
+ /* empty css */
101
+ /* empty css */
102
+ /* empty css */
103
+ /* empty css */
104
+ /* empty css */
105
+ import "../LandingPageHeader/LandingPageHeader.css.js";
106
+ /* empty css */
107
+ import "next/navigation.js";
108
+ /* empty css */
109
+ /* empty css */
110
+ /* empty css */
111
+ import "next/link.js";
112
+ /* empty css */
113
+ /* empty css */
114
+ /* empty css */
115
+ /* empty css */
116
+ /* empty css */
117
+ import "../PageNavItem/PageNavItem.css.js";
118
+ import "react-slick";
119
+ /* empty css */
120
+ /* empty css */
121
+ /* empty css */
122
+ /* empty css */
123
+ import "../StepItem/StepItem.css.js";
124
+ import "../StepItemSet/StepItemSet.css.js";
125
+ /* empty css */
126
+ /* empty css */
127
+ /* empty css */
128
+ /* empty css */
129
+ /* empty css */
20
130
  const Chevron = ({
21
131
  children,
22
132
  variant,