@axos-web-dev/shared-components 2.0.0-queryparams.1 → 2.1.0

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 (204) hide show
  1. package/README.md +111 -111
  2. package/dist/ATMLocator/ATMLocator.js +11 -6
  3. package/dist/Auth/ErrorAlert.js +13 -8
  4. package/dist/Auth/SignInPassword.js +1 -0
  5. package/dist/Avatar/Avatar.module.js +7 -7
  6. package/dist/Blockquote/Blockquote.module.js +3 -3
  7. package/dist/BulletItem/BulletItem.js +1 -0
  8. package/dist/Button/Button.js +14 -14
  9. package/dist/Calculators/AnnualFeeCalculator/index.js +2 -1
  10. package/dist/Calculators/ApyCalculator/index.js +1 -3
  11. package/dist/Calculators/AxosOneCalculator/index.js +6 -7
  12. package/dist/Calculators/BalanceAPYCalculator/index.js +1 -0
  13. package/dist/Calculators/BuyDownCalculator/index.js +1 -0
  14. package/dist/Calculators/Calculator.js +12 -7
  15. package/dist/Calculators/MarginTradingCalculator/index.js +2 -119
  16. package/dist/Calculators/MarineLoanMonthlyPaymentCalculator/index.js +2 -1
  17. package/dist/Calculators/MaxLoanCalculator/index.js +2 -1
  18. package/dist/Calculators/MonthlyPaymentCalculator/index.js +2 -1
  19. package/dist/Calculators/MonthlyPaymentLVFCalculator/index.js +1 -0
  20. package/dist/Calculators/SummitApyCalculator/index.js +2 -3
  21. package/dist/Calculators/calculator.css.d.ts +21 -1
  22. package/dist/Calculators/calculator.css.js +3 -3
  23. package/dist/Carousel/index.js +11 -6
  24. package/dist/Chatbot/AnimatedGradientBorder.css.d.ts +5 -0
  25. package/dist/Chatbot/AnimatedGradientBorder.css.js +13 -3
  26. package/dist/Chatbot/Bubble.css.js +2 -1
  27. package/dist/Chatbot/Bubble.d.ts +1 -0
  28. package/dist/Chatbot/Bubble.js +3 -12
  29. package/dist/Chatbot/Chat.js +17 -7
  30. package/dist/Chatbot/ChatWindow.css.d.ts +4 -0
  31. package/dist/Chatbot/ChatWindow.css.js +39 -31
  32. package/dist/Chatbot/ChatWindow.js +163 -95
  33. package/dist/Chatbot/Chatbot.d.ts +10 -2
  34. package/dist/Chatbot/Chatbot.js +148 -80
  35. package/dist/Chatbot/ChatbotMessage.d.ts +1 -0
  36. package/dist/Chatbot/ChatbotMessage.js +214 -160
  37. package/dist/Chatbot/index.js +5 -1
  38. package/dist/Chatbot/store/chat.d.ts +5 -0
  39. package/dist/Chatbot/store/chat.js +10 -2
  40. package/dist/Chatbot/useHeadlessChat.js +1 -2
  41. package/dist/Chevron/index.js +12 -6
  42. package/dist/Comparison/Comparison.js +11 -6
  43. package/dist/ExecutiveBio/ExecutiveBio.js +9 -4
  44. package/dist/ExecutiveBio/ExecutiveBioSet.js +1 -0
  45. package/dist/FaqAccordion/index.js +11 -6
  46. package/dist/FdicCallout/FdicCallout.module.js +2 -2
  47. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +208 -91
  48. package/dist/Forms/ApplicationStart.js +1 -0
  49. package/dist/Forms/ApplyNow.js +10 -5
  50. package/dist/Forms/BoatMooringLocation.d.ts +6 -1
  51. package/dist/Forms/BoatMooringLocation.js +146 -8
  52. package/dist/Forms/ClearingForm.js +1 -0
  53. package/dist/Forms/CommercialDeposits.js +1 -0
  54. package/dist/Forms/CommercialDepositsNoLendingOption.js +1 -0
  55. package/dist/Forms/CommercialLending.js +1 -0
  56. package/dist/Forms/CommercialPremiumFinance.js +1 -0
  57. package/dist/Forms/ConstructionLendingDynamic.js +1 -0
  58. package/dist/Forms/ContactCompany.js +1 -0
  59. package/dist/Forms/ContactCompanyTitle.js +1 -0
  60. package/dist/Forms/ContactUs.js +1 -0
  61. package/dist/Forms/ContactUsAAS.js +1 -0
  62. package/dist/Forms/ContactUsBusiness.js +11 -6
  63. package/dist/Forms/ContactUsBusinessNameEmail.js +11 -6
  64. package/dist/Forms/ContactUsLVF.js +1 -0
  65. package/dist/Forms/ContactUsNMLSId.js +11 -6
  66. package/dist/Forms/CpraRequest.js +3 -100
  67. package/dist/Forms/CraPublicFile.js +11 -6
  68. package/dist/Forms/DealerServices.js +1 -0
  69. package/dist/Forms/EmailOnly.js +11 -6
  70. package/dist/Forms/EmailUs.js +41 -34
  71. package/dist/Forms/FormEnums.js +2 -2
  72. package/dist/Forms/Forms.css.d.ts +3 -0
  73. package/dist/Forms/Forms.css.js +39 -39
  74. package/dist/Forms/HoneyPot/index.js +1 -0
  75. package/dist/Forms/MortgageRate/MortgageRateForm.js +12 -7
  76. package/dist/Forms/MortgageRate/MortgageRateWatch.js +11 -6
  77. package/dist/Forms/MortgageWarehouseLending.js +11 -6
  78. package/dist/Forms/QuickPricer/QuickPricerForm.js +1 -0
  79. package/dist/Forms/ScheduleCall.js +1 -0
  80. package/dist/Forms/ScheduleCallPremier.js +1 -0
  81. package/dist/Forms/SuccesForm.js +13 -8
  82. package/dist/Forms/VendorQuestionnaire.js +1 -0
  83. package/dist/Forms/index.js +1 -0
  84. package/dist/HeroBanner/HeroBanner.css.d.ts +1 -0
  85. package/dist/HeroBanner/HeroBanner.css.js +19 -16
  86. package/dist/HeroBanner/HeroBanner.d.ts +1 -1
  87. package/dist/HeroBanner/HeroBanner.interface.d.ts +4 -1
  88. package/dist/HeroBanner/HeroBanner.js +26 -160
  89. package/dist/HeroBanner/HeroVideoPoster.d.ts +5 -0
  90. package/dist/HeroBanner/HeroVideoPoster.js +24 -0
  91. package/dist/HeroBanner/LargeBanner.css.d.ts +110 -0
  92. package/dist/HeroBanner/LargeBanner.css.js +22 -8
  93. package/dist/HeroBanner/LargeHeroBanner.d.ts +5 -0
  94. package/dist/HeroBanner/LargeHeroBanner.js +228 -0
  95. package/dist/HeroBanner/index.js +3 -2
  96. package/dist/Hyperlink/index.js +13 -8
  97. package/dist/ImageLink/ImageLink.js +10 -5
  98. package/dist/ImageLink/ImageLinkSet.js +10 -5
  99. package/dist/ImageLink/index.js +10 -5
  100. package/dist/Insight/Featured/CategorySelector.js +10 -5
  101. package/dist/Insight/Featured/Featured.js +11 -6
  102. package/dist/Insight/Featured/Header.js +11 -6
  103. package/dist/Interstitial/Interstitial.module.js +10 -10
  104. package/dist/LoadingIndicator/index.js +1 -0
  105. package/dist/Modal/Modal.js +10 -5
  106. package/dist/Modal/contextApi/store.d.ts +2 -16
  107. package/dist/Modal/contextApi/store.js +6 -37
  108. package/dist/NavigationMenu/AxosALTS/NavBar.module.js +23 -23
  109. package/dist/NavigationMenu/AxosALTS/NavData.d.ts +1 -7
  110. package/dist/NavigationMenu/AxosALTS/NavData.js +137 -6
  111. package/dist/NavigationMenu/AxosALTS/index.js +16 -14
  112. package/dist/NavigationMenu/AxosAdvisor/NavBar.module.js +52 -52
  113. package/dist/NavigationMenu/AxosAdvisor/SubNavBar.js +1 -0
  114. package/dist/NavigationMenu/AxosAdvisor/index.js +1 -0
  115. package/dist/NavigationMenu/AxosAdvisorServices/NavBar.module.js +53 -53
  116. package/dist/NavigationMenu/AxosAdvisorServices/SubNavBar.js +1 -0
  117. package/dist/NavigationMenu/AxosAdvisorServices/index.js +1 -0
  118. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.js +4 -128
  119. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.module.js +27 -27
  120. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.d.ts +15 -13
  121. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +368 -196
  122. package/dist/NavigationMenu/AxosBank/NavBar.module.js +39 -39
  123. package/dist/NavigationMenu/AxosBank/NavData.d.ts +2 -39
  124. package/dist/NavigationMenu/AxosBank/NavData.js +166 -34
  125. package/dist/NavigationMenu/AxosBank/SubNavBar.js +486 -429
  126. package/dist/NavigationMenu/AxosBank/index.js +74 -20
  127. package/dist/NavigationMenu/AxosClearing/NavBar.module.js +37 -37
  128. package/dist/NavigationMenu/AxosClearing/index.js +1 -0
  129. package/dist/NavigationMenu/AxosFiduciary/NavBar.module.js +41 -41
  130. package/dist/NavigationMenu/LaVictoire/NavBar.module.js +37 -37
  131. package/dist/NavigationMenu/LaVictoire/NavData.d.ts +2 -13
  132. package/dist/NavigationMenu/LaVictoire/NavData.js +146 -14
  133. package/dist/NavigationMenu/LaVictoire/SubNavBar.js +1 -4
  134. package/dist/NavigationMenu/LaVictoire/index.js +44 -19
  135. package/dist/NavigationMenu/Navbar.js +9 -8
  136. package/dist/NavigationMenu/SignInNavButton.js +27 -19
  137. package/dist/SetContainer/SetContainer.css.d.ts +1 -0
  138. package/dist/SetContainer/SetContainer.css.js +5 -3
  139. package/dist/SetContainer/SetContainer.js +18 -7
  140. package/dist/SetContainer/index.js +2 -1
  141. package/dist/SocialMediaBar/iconsRepository.d.ts +14 -44
  142. package/dist/SocialMediaBar/iconsRepository.js +41 -32
  143. package/dist/SocialMediaBar/index.js +1 -3
  144. package/dist/Tab/Tab.js +1 -0
  145. package/dist/Table/Table.css.d.ts +21 -1
  146. package/dist/Table/Table.css.js +18 -18
  147. package/dist/Table/Table.d.ts +1 -1
  148. package/dist/Table/Table.js +6 -3
  149. package/dist/VideoTile/VideoTile.js +9 -4
  150. package/dist/VideoWrapper/index.js +9 -4
  151. package/dist/WalnutIframe/wrapper.module.js +3 -3
  152. package/dist/assets/Avatar/Avatar.css +59 -59
  153. package/dist/assets/Blockquote/Blockquote.css +72 -72
  154. package/dist/assets/Calculators/AxosOneCalculator/BalanceAPYCalculator.css +2 -2
  155. package/dist/assets/Calculators/calculator.css +25 -15
  156. package/dist/assets/Chatbot/AnimatedGradientBorder.css +99 -12
  157. package/dist/assets/Chatbot/Bubble.css +21 -6
  158. package/dist/assets/Chatbot/ChatWindow.css +127 -90
  159. package/dist/assets/Comparison/Comparison.css +2 -2
  160. package/dist/assets/DownloadTile/DownloadTile.css +7 -0
  161. package/dist/assets/ExecutiveBio/ExecutiveBio.css +0 -2
  162. package/dist/assets/FdicCallout/FdicCallout.css +48 -48
  163. package/dist/assets/Forms/Forms.css +94 -91
  164. package/dist/assets/HeroBanner/HeroBanner.css +82 -65
  165. package/dist/assets/HeroBanner/LargeBanner.css +126 -59
  166. package/dist/assets/ImageBillboard/ImageBillboard.css +1 -1
  167. package/dist/assets/Interstitial/Interstitial.css +142 -142
  168. package/dist/assets/NavigationMenu/AxosALTS/NavBar.css +264 -264
  169. package/dist/assets/NavigationMenu/AxosAdvisor/NavBar.css +609 -609
  170. package/dist/assets/NavigationMenu/AxosAdvisorServices/NavBar.css +630 -630
  171. package/dist/assets/NavigationMenu/AxosBank/MobileMenu/MobileMenu.css +353 -353
  172. package/dist/assets/NavigationMenu/AxosBank/NavBar.css +445 -445
  173. package/dist/assets/NavigationMenu/AxosClearing/NavBar.css +484 -484
  174. package/dist/assets/NavigationMenu/AxosFiduciary/NavBar.css +427 -427
  175. package/dist/assets/NavigationMenu/LaVictoire/NavBar.css +429 -429
  176. package/dist/assets/SetContainer/SetContainer.css +25 -15
  177. package/dist/assets/Table/Table.css +90 -75
  178. package/dist/assets/TextBlock/TextBlock.css +7 -0
  179. package/dist/assets/VideoTile/VideoTile.css +6 -0
  180. package/dist/assets/WalnutIframe/wrapper.css +48 -48
  181. package/dist/assets/globals.css +9 -9
  182. package/dist/assets/notification.mp3.js +4 -0
  183. package/dist/assets/themes/axos.css +8 -7
  184. package/dist/assets/themes/premier.css +9 -8
  185. package/dist/assets/themes/ufb.css +9 -8
  186. package/dist/assets/themes/victorie.css +9 -8
  187. package/dist/assets/utils/optimizeImage/optimizeImage.css +47 -47
  188. package/dist/main.js +11 -6
  189. package/dist/themes/axos.css.d.ts +1 -0
  190. package/dist/themes/axos.css.js +1 -1
  191. package/dist/utils/allowedAxosDomains.d.ts +2 -5
  192. package/dist/utils/allowedAxosDomains.js +46 -50
  193. package/dist/utils/getPosition.d.ts +1 -0
  194. package/dist/utils/getPosition.js +17 -0
  195. package/dist/utils/index.js +1 -2
  196. package/dist/utils/optimizeImage/optimizeImage.module.js +3 -3
  197. package/dist/utils/validateExternalLinks.d.ts +1 -1
  198. package/dist/utils/validateExternalLinks.js +2 -2
  199. package/dist/utils/variant.types.d.ts +1 -0
  200. package/package.json +148 -149
  201. package/dist/Chatbot/authenticate.d.ts +0 -3
  202. package/dist/Chatbot/authenticate.js +0 -16
  203. package/dist/utils/samePageNavigation.d.ts +0 -3
  204. package/dist/utils/samePageNavigation.js +0 -23
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from "react/jsx-runtime";
3
3
  import { useRef, useEffect } from "react";
4
- import { authenticate } from "./authenticate.js";
5
4
  import { useMessages } from "./store/messages.js";
6
- const companyId = process.env.CCAI_COMPANY_ID || "";
7
- const tenant = process.env.CCAI_TENANT_NAME || "";
8
- const host = process.env.CCAI_HOST || "";
5
+ const companyId = "";
6
+ const tenant = "";
7
+ const host = "";
8
+ const authUrl = "";
9
9
  const COBROWSE_CONSENT_TEMPLATE = `
10
10
  <script class="cobrowse-template" type="text/template">
11
11
  <div class="cobrowse">
@@ -32,8 +32,7 @@ function Chat() {
32
32
  let memberJoinedHandler;
33
33
  let chatConnectedHandler;
34
34
  async function initChat() {
35
- const { Client, consoleLoggerHandler, Logger } = await import("@ujet/websdk-headless");
36
- Logger.addHandler(consoleLoggerHandler);
35
+ const { Client } = await import("@ujet/websdk-headless");
37
36
  clientRef.current = new Client({
38
37
  companyId,
39
38
  tenant,
@@ -53,7 +52,18 @@ function Chat() {
53
52
  }
54
53
  },
55
54
  host,
56
- authenticate
55
+ authenticate: async () => {
56
+ const res = await fetch(authUrl, {
57
+ method: "GET",
58
+ headers: {
59
+ "Content-Type": "application/json"
60
+ }
61
+ });
62
+ const data = await res.json();
63
+ return {
64
+ token: data.token
65
+ };
66
+ }
57
67
  });
58
68
  const menus = await clientRef.current?.getMenus();
59
69
  try {
@@ -34,3 +34,7 @@ export declare const chatEndCircle: string;
34
34
  export declare const user_msg: string;
35
35
  export declare const agent_msg: string;
36
36
  export declare const shimmerText: string;
37
+ export declare const tableMsg: string;
38
+ export declare const tableHead: string;
39
+ export declare const tableCell: string;
40
+ export declare const trMortgageTable: string;
@@ -4,37 +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";
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";
38
42
  export {
39
43
  agent_msg,
40
44
  arrowFill,
@@ -60,9 +64,13 @@ export {
60
64
  notificationStyle,
61
65
  sendButtonStyle,
62
66
  shimmerText,
67
+ tableCell,
68
+ tableHead,
69
+ tableMsg,
63
70
  thankyou_image,
64
71
  thankyou_message,
65
72
  thankyou_overlay,
73
+ trMortgageTable,
66
74
  user_msg,
67
75
  windowBarStyle,
68
76
  windowOpenStyle,
@@ -1,14 +1,15 @@
1
1
  "use client";
2
2
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
3
+ import { LoadingIndicator } from "../LoadingIndicator/index.js";
3
4
  import { vars } from "../themes/axos.css.js";
4
5
  import '../assets/themes/victorie.css';import '../assets/themes/ufb.css';import '../assets/themes/premier.css';import '../assets/themes/axos.css';/* empty css */
5
6
  /* empty css */
6
7
  /* empty css */
7
8
  /* empty css */
8
9
  import clsx from "clsx";
9
- import React, { useRef, useEffect } from "react";
10
+ import React, { useRef, useState, useEffect } from "react";
10
11
  import { useNetworkState, useMount } from "react-use";
11
- import { gradientFocus } from "./AnimatedGradientBorder.css.js";
12
+ import { focusAnimation, gradientFocus } from "./AnimatedGradientBorder.css.js";
12
13
  import { ChatbotMessage } from "./ChatbotMessage.js";
13
14
  import { windowBarStyle, left_bar_section, chat_title, button_bar, chatbotMenuItem, chatbotMenu, chatEndDialogOverlay, chatFinishDialog, chatEndCircle, endChatButtonStyle, noAnswerButton, arrowFill, button_reset, buttonss_section, chatNetworkStatus, shimmerText, messagesContainerStyle, inputStyle, autoResize, sendButtonStyle, windowStyle, windowOpenStyle } from "./ChatWindow.css.js";
14
15
  import { EllipsisIcon } from "./EllipsisIcon.js";
@@ -39,11 +40,13 @@ const ChatWindow = ({
39
40
  }) => {
40
41
  const {
41
42
  showThankyouMessage,
42
- displayThankyouMessage,
43
43
  toggleThankyouMessage,
44
44
  hasEscalated,
45
45
  isBlockedInput,
46
- isOpen
46
+ isOpen,
47
+ hasOpenedOnce,
48
+ chatStatus,
49
+ setChatStatus
47
50
  } = useOpenChat();
48
51
  const [mounted, setMounted] = React.useState(false);
49
52
  const [menuOpen, setMenuOpen] = React.useState(false);
@@ -52,6 +55,7 @@ const ChatWindow = ({
52
55
  const [input, setInput] = React.useState("");
53
56
  const messagesEndRef = useRef(null);
54
57
  const inputRef = useRef(null);
58
+ const [focused, setFocused] = useState(false);
55
59
  useEffect(() => {
56
60
  messagesEndRef.current?.scrollIntoView({ behavior: "smooth" });
57
61
  }, [messages]);
@@ -82,9 +86,6 @@ const ChatWindow = ({
82
86
  useEffect(() => {
83
87
  autoResizeTextarea();
84
88
  }, [input]);
85
- const displayThankYouScreen = () => {
86
- displayThankyouMessage();
87
- };
88
89
  const onCancelEndChat = () => {
89
90
  setShowEndChatDialog(false);
90
91
  toggleThankyouMessage?.();
@@ -96,6 +97,11 @@ const ChatWindow = ({
96
97
  setInput("");
97
98
  toggleThankyouMessage?.();
98
99
  };
100
+ useEffect(() => {
101
+ if (inputRef.current) {
102
+ inputRef.current.focus();
103
+ }
104
+ }, [messages]);
99
105
  return /* @__PURE__ */ jsxs("div", { className: clsx(windowStyle, isOpen && windowOpenStyle), children: [
100
106
  /* @__PURE__ */ jsxs("div", { className: windowBarStyle, children: [
101
107
  /* @__PURE__ */ jsx("div", { className: clsx(left_bar_section) }),
@@ -159,7 +165,7 @@ const ChatWindow = ({
159
165
  alignContent: "center",
160
166
  background: menuOpen ? "#0000000f" : void 0
161
167
  },
162
- children: /* @__PURE__ */ jsx(EllipsisIcon, {})
168
+ children: /* @__PURE__ */ jsx(EllipsisIcon, { color: vars.chatbot.window.headerText })
163
169
  }
164
170
  ),
165
171
  menuOpen && /* @__PURE__ */ jsx("ul", { className: clsx(chatbotMenu), children: /* @__PURE__ */ jsx("li", { className: chatbotMenuItem, children: /* @__PURE__ */ jsxs(
@@ -191,7 +197,7 @@ const ChatWindow = ({
191
197
  "path",
192
198
  {
193
199
  d: "M11.1236 5.37374L8.60278 7.89457L11.1236 10.4167L10.4166 11.1237L7.89445 8.6029L5.37362 11.1237L4.66658 10.4167L7.18742 7.89457L4.66658 5.37374L5.37362 4.66671L7.89445 7.18754L10.4166 4.66671L11.1236 5.37374Z",
194
- fill: "#1E3860"
200
+ fill: vars.chatbot.window.headerText
195
201
  }
196
202
  ),
197
203
  /* @__PURE__ */ jsx(
@@ -200,7 +206,7 @@ const ChatWindow = ({
200
206
  fillRule: "evenodd",
201
207
  clipRule: "evenodd",
202
208
  d: "M13.3333 0.833374C14.3458 0.833374 15.1666 1.65419 15.1666 2.66671V13.3334C15.1666 14.3459 14.3458 15.1667 13.3333 15.1667H2.66659C1.65406 15.1667 0.833252 14.3459 0.833252 13.3334V2.66671C0.833252 1.65419 1.65406 0.833374 2.66659 0.833374H13.3333ZM2.66659 1.83337C2.20635 1.83337 1.83325 2.20647 1.83325 2.66671V13.3334C1.83325 13.7936 2.20635 14.1667 2.66659 14.1667H13.3333C13.7935 14.1667 14.1666 13.7936 14.1666 13.3334V2.66671C14.1666 2.20647 13.7935 1.83337 13.3333 1.83337H2.66659Z",
203
- fill: "#1E3860"
209
+ fill: vars.chatbot.window.headerText
204
210
  }
205
211
  )
206
212
  ] }),
@@ -287,7 +293,7 @@ const ChatWindow = ({
287
293
  type: "submit",
288
294
  onClick: () => {
289
295
  endChat();
290
- displayThankYouScreen();
296
+ setChatStatus("ending");
291
297
  setShowEndChatDialog(false);
292
298
  },
293
299
  children: "Yes, End Chat"
@@ -310,6 +316,45 @@ const ChatWindow = ({
310
316
  " "
311
317
  ] }) })
312
318
  ] }),
319
+ chatStatus == "ending" && /* @__PURE__ */ jsxs("div", { children: [
320
+ /* @__PURE__ */ jsx(
321
+ "div",
322
+ {
323
+ style: {
324
+ background: "#00000080",
325
+ position: "fixed",
326
+ top: 0,
327
+ left: 0,
328
+ right: 0,
329
+ bottom: 0,
330
+ zIndex: 999
331
+ }
332
+ }
333
+ ),
334
+ /* @__PURE__ */ jsx(
335
+ "div",
336
+ {
337
+ style: {
338
+ position: "fixed",
339
+ top: 0,
340
+ left: 0,
341
+ right: 0,
342
+ bottom: 0,
343
+ zIndex: 1e3,
344
+ display: "flex",
345
+ justifyContent: "center",
346
+ alignItems: "center"
347
+ },
348
+ children: /* @__PURE__ */ jsx(
349
+ LoadingIndicator,
350
+ {
351
+ variant: "primary",
352
+ style: { borderTopColor: vars.chatbot.bubble.glowShadow }
353
+ }
354
+ )
355
+ }
356
+ )
357
+ ] }),
313
358
  /* @__PURE__ */ jsx(
314
359
  ThankYouMessage,
315
360
  {
@@ -393,7 +438,7 @@ const ChatWindow = ({
393
438
  }
394
439
  ) }) : null,
395
440
  /* @__PURE__ */ jsxs("div", { className: clsx(messagesContainerStyle), children: [
396
- (status === "idle" || messages.length == 0) && /* @__PURE__ */ jsx(
441
+ (status === "idle" && messages.length == 0 || messages.length == 0) && /* @__PURE__ */ jsx(
397
442
  "div",
398
443
  {
399
444
  className: clsx(),
@@ -413,29 +458,35 @@ const ChatWindow = ({
413
458
  fontSize: 14,
414
459
  display: "flex",
415
460
  flexDirection: "column",
416
- gap: 4
461
+ gap: 16
417
462
  },
418
- children: /* @__PURE__ */ jsx("p", { className: shimmerText, children: "AI thinking..." })
463
+ children: /* @__PURE__ */ jsx("p", { className: shimmerText, children: "Chat connecting..." })
419
464
  }
420
465
  )
421
466
  }
422
467
  ),
423
- messages?.map((msg) => /* @__PURE__ */ jsx(
424
- ChatbotMessage,
425
- {
426
- msg,
427
- onSend,
428
- showAvatar,
429
- showName,
430
- virtualAgent,
431
- onCancelEndChat,
432
- onEndChat: () => {
433
- endChat();
434
- onCloseAfterThankYou();
435
- }
436
- },
437
- msg?.$index
438
- )),
468
+ messages?.map((msg) => {
469
+ if (!hasOpenedOnce) {
470
+ return null;
471
+ }
472
+ return /* @__PURE__ */ jsx(
473
+ ChatbotMessage,
474
+ {
475
+ msg,
476
+ onSend,
477
+ showAvatar,
478
+ showName,
479
+ virtualAgent,
480
+ onCancelEndChat,
481
+ onEndChat: () => {
482
+ endChat();
483
+ onCloseAfterThankYou();
484
+ },
485
+ inputRef
486
+ },
487
+ msg?.$index
488
+ );
489
+ }),
439
490
  showReconnect && /* @__PURE__ */ jsx(
440
491
  "button",
441
492
  {
@@ -447,71 +498,88 @@ const ChatWindow = ({
447
498
  ),
448
499
  /* @__PURE__ */ jsx("div", { ref: messagesEndRef })
449
500
  ] }),
450
- /* @__PURE__ */ jsx("div", { style: { padding: "16px 16px 24px 16px" }, children: /* @__PURE__ */ jsx("form", { onSubmit: handleSend, className: clsx(gradientFocus), children: /* @__PURE__ */ jsxs(
451
- "div",
452
- {
453
- style: {
454
- display: "flex",
455
- padding: "12px 16px",
456
- background: isBlockedInput || inputDisabled || status !== "connected" || messages.length == 0 || escalationDeflected ? "light-dark(rgba(239, 239, 239, 0.3), rgba(59, 59, 59, 0.3))" : "#ffffff",
457
- borderRadius: 12
458
- },
459
- children: [
460
- /* @__PURE__ */ jsx(
461
- "textarea",
462
- {
463
- ref: inputRef,
464
- value: input,
465
- onChange: (e) => setInput(e.target.value),
466
- onKeyDown: (e) => {
467
- if (hasEscalated) {
468
- previewTyping(e.target?.value);
469
- }
470
- if (e.key === "Enter" && !e.shiftKey) {
471
- handleSend(e);
472
- }
473
- },
474
- placeholder: "Ask anything...",
475
- className: clsx(inputStyle, autoResize),
476
- autoFocus: true,
477
- disabled: isBlockedInput || inputDisabled || status !== "connected" || messages.length == 0 || escalationDeflected,
478
- rows: 1
479
- }
480
- ),
481
- /* @__PURE__ */ jsx(
482
- "button",
483
- {
484
- className: clsx(
485
- sendButtonStyle,
486
- input.trim().length > 0 && "active"
487
- ),
488
- type: "submit",
489
- title: "Send message",
490
- disabled: isBlockedInput || inputDisabled || status !== "connected" || !input.trim() || messages.length == 0 || escalationDeflected,
491
- children: /* @__PURE__ */ jsx(
492
- "svg",
493
- {
494
- xmlns: "http://www.w3.org/2000/svg",
495
- width: "16",
496
- height: "16",
497
- viewBox: "0 0 16 16",
498
- fill: "none",
499
- children: /* @__PURE__ */ jsx(
500
- "path",
501
- {
502
- fillRule: "evenodd",
503
- clipRule: "evenodd",
504
- d: "M0.0030533 5.42479C0.0273417 5.1795 0.193529 4.9714 0.427369 4.89345L15.0114 0.0320896C15.236 -0.0427712 15.4836 0.0156801 15.651 0.183075C15.8184 0.35047 15.8769 0.598075 15.802 0.822659L10.9407 15.4067C10.8627 15.6406 10.6546 15.8068 10.4093 15.8311C10.164 15.8553 9.92737 15.7332 9.80508 15.5192L6.35411 9.47999L0.314925 6.02903C0.100912 5.90673 -0.0212351 5.67008 0.0030533 5.42479ZM7.59169 9.1263L9.64202 12.7144C9.85645 13.0896 10.4138 13.0344 10.5505 12.6244L13.9046 2.56191C14.0349 2.17103 13.6631 1.79916 13.2722 1.92946L3.20969 5.28362C2.79967 5.4203 2.74448 5.97766 3.11973 6.19209L6.70781 8.24242L9.90579 5.04443C10.1499 4.80036 10.5456 4.80036 10.7897 5.04443C11.0337 5.28851 11.0337 5.68424 10.7897 5.92832L7.59169 9.1263Z",
505
- fill: "#435164"
506
- }
507
- )
508
- }
509
- )
510
- }
511
- )
512
- ]
513
- }
514
- ) }) })
501
+ /* @__PURE__ */ jsx("div", { style: { padding: "16px 16px 24px 16px" }, children: /* @__PURE__ */ jsxs("form", { onSubmit: handleSend, className: clsx(gradientFocus), children: [
502
+ /* @__PURE__ */ jsx(
503
+ "div",
504
+ {
505
+ className: clsx(focused ? focusAnimation : ""),
506
+ style: {
507
+ position: "absolute",
508
+ left: "10%",
509
+ width: "80%",
510
+ height: "40px",
511
+ zIndex: "-1"
512
+ }
513
+ }
514
+ ),
515
+ /* @__PURE__ */ jsxs(
516
+ "div",
517
+ {
518
+ style: {
519
+ display: "flex",
520
+ padding: "12px 16px",
521
+ background: isBlockedInput || inputDisabled || status !== "connected" || messages.length == 0 || escalationDeflected ? "light-dark(rgba(239, 239, 239, 0.3), rgba(59, 59, 59, 0.3))" : "#ffffff",
522
+ borderRadius: 12
523
+ },
524
+ children: [
525
+ /* @__PURE__ */ jsx(
526
+ "textarea",
527
+ {
528
+ ref: inputRef,
529
+ value: input,
530
+ onChange: (e) => setInput(e.target.value),
531
+ onKeyDown: (e) => {
532
+ if (hasEscalated) {
533
+ previewTyping(e.target?.value);
534
+ }
535
+ if (e.key === "Enter" && !e.shiftKey) {
536
+ handleSend(e);
537
+ }
538
+ },
539
+ onFocus: () => setFocused(true),
540
+ onBlur: () => setFocused(false),
541
+ placeholder: "Ask anything...",
542
+ className: clsx(inputStyle, autoResize),
543
+ autoFocus: true,
544
+ disabled: isBlockedInput || inputDisabled || status !== "connected" || messages.length == 0 || escalationDeflected,
545
+ rows: 1
546
+ }
547
+ ),
548
+ /* @__PURE__ */ jsx(
549
+ "button",
550
+ {
551
+ className: clsx(
552
+ sendButtonStyle,
553
+ input.trim().length > 0 && "active"
554
+ ),
555
+ type: "submit",
556
+ title: "Send message",
557
+ disabled: isBlockedInput || inputDisabled || status !== "connected" || !input.trim() || messages.length == 0 || escalationDeflected,
558
+ children: /* @__PURE__ */ jsx(
559
+ "svg",
560
+ {
561
+ xmlns: "http://www.w3.org/2000/svg",
562
+ width: "20",
563
+ height: "20",
564
+ viewBox: "0 0 16 16",
565
+ fill: "none",
566
+ children: /* @__PURE__ */ jsx(
567
+ "path",
568
+ {
569
+ fillRule: "evenodd",
570
+ clipRule: "evenodd",
571
+ d: "M0.0030533 5.42479C0.0273417 5.1795 0.193529 4.9714 0.427369 4.89345L15.0114 0.0320896C15.236 -0.0427712 15.4836 0.0156801 15.651 0.183075C15.8184 0.35047 15.8769 0.598075 15.802 0.822659L10.9407 15.4067C10.8627 15.6406 10.6546 15.8068 10.4093 15.8311C10.164 15.8553 9.92737 15.7332 9.80508 15.5192L6.35411 9.47999L0.314925 6.02903C0.100912 5.90673 -0.0212351 5.67008 0.0030533 5.42479ZM7.59169 9.1263L9.64202 12.7144C9.85645 13.0896 10.4138 13.0344 10.5505 12.6244L13.9046 2.56191C14.0349 2.17103 13.6631 1.79916 13.2722 1.92946L3.20969 5.28362C2.79967 5.4203 2.74448 5.97766 3.11973 6.19209L6.70781 8.24242L9.90579 5.04443C10.1499 4.80036 10.5456 4.80036 10.7897 5.04443C11.0337 5.28851 11.0337 5.68424 10.7897 5.92832L7.59169 9.1263Z",
572
+ fill: "#435164"
573
+ }
574
+ )
575
+ }
576
+ )
577
+ }
578
+ )
579
+ ]
580
+ }
581
+ )
582
+ ] }) })
515
583
  ] });
516
584
  };
517
585
  export {
@@ -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 {};