@axos-web-dev/shared-components 1.0.100-dev.3 → 1.0.100-dev.31

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 (249) hide show
  1. package/dist/ATMLocator/ATMLocator.js +3 -3
  2. package/dist/Article/Article.css.d.ts +9 -36
  3. package/dist/Article/Article.css.js +10 -8
  4. package/dist/Article/index.js +3 -2
  5. package/dist/ArticlesSet/ArticlesSet.css.d.ts +10 -70
  6. package/dist/ArticlesSet/ArticlesSet.js +1 -1
  7. package/dist/Auth/ErrorAlert.js +3 -3
  8. package/dist/Avatar/Avatar.module.js +7 -7
  9. package/dist/AwardsBanner/AwardsBanner.css.js +4 -1
  10. package/dist/AwardsItem/AwardsItem.css.js +1 -2
  11. package/dist/Blockquote/Blockquote.module.js +3 -3
  12. package/dist/Button/Button.css.d.ts +3 -3
  13. package/dist/Button/Button.js +3 -3
  14. package/dist/Calculators/ApyCalculator/ApyCalculator.css.d.ts +2 -30
  15. package/dist/Calculators/ApyCalculator/index.js +11 -5
  16. package/dist/Calculators/AxosOneCalculator/BalanceAPYCalculator.css.d.ts +1 -0
  17. package/dist/Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js +3 -1
  18. package/dist/Calculators/AxosOneCalculator/index.d.ts +3 -0
  19. package/dist/Calculators/AxosOneCalculator/index.js +48 -20
  20. package/dist/Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.d.ts +2 -30
  21. package/dist/Calculators/BuyDownCalculator/BuyDownCalculator.css.d.ts +0 -1
  22. package/dist/Calculators/BuyDownCalculator/BuyDownCalculator.css.js +2 -4
  23. package/dist/Calculators/BuyDownCalculator/index.d.ts +5 -1
  24. package/dist/Calculators/BuyDownCalculator/index.js +267 -141
  25. package/dist/Calculators/Calculator.d.ts +3 -0
  26. package/dist/Calculators/Calculator.js +10 -6
  27. package/dist/Calculators/calculator.css.d.ts +2 -8
  28. package/dist/CallToActionBar/CallToActionBar.css.d.ts +3 -1
  29. package/dist/CallToActionBar/CallToActionBar.css.js +22 -16
  30. package/dist/CallToActionBar/index.js +4 -3
  31. package/dist/Carousel/Carousel.css.d.ts +8 -19
  32. package/dist/Carousel/index.js +3 -3
  33. package/dist/Chatbot/Bubble.css.js +1 -0
  34. package/dist/Chatbot/Bubble.js +3 -3
  35. package/dist/Chatbot/ChatWindow.css.d.ts +4 -0
  36. package/dist/Chatbot/ChatWindow.css.js +8 -0
  37. package/dist/Chatbot/ChatWindow.d.ts +7 -0
  38. package/dist/Chatbot/ChatWindow.js +213 -24
  39. package/dist/Chatbot/Chatbot.css.js +0 -1
  40. package/dist/Chatbot/Chatbot.js +6 -3
  41. package/dist/Chatbot/EllipsisIcon.d.ts +4 -0
  42. package/dist/Chatbot/EllipsisIcon.js +19 -0
  43. package/dist/Chatbot/index.js +5 -1
  44. package/dist/Chatbot/store/messages.d.ts +1 -0
  45. package/dist/Chatbot/store/messages.js +2 -1
  46. package/dist/Chatbot/useHeadlessChat.d.ts +6 -1
  47. package/dist/Chatbot/useHeadlessChat.js +103 -20
  48. package/dist/Chevron/Chevron.css.d.ts +2 -2
  49. package/dist/Chevron/index.js +3 -3
  50. package/dist/CollectInformationAlert/index.js +1 -1
  51. package/dist/Comparison/Comparison.js +3 -3
  52. package/dist/Comparison/ComparisonSet.js +33 -24
  53. package/dist/ContentBanner/ContentBanner.css.js +2 -1
  54. package/dist/ExecutiveBio/ExecutiveBio.js +3 -3
  55. package/dist/FaqAccordion/index.js +3 -3
  56. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +6 -10
  57. package/dist/Forms/ApplyNow.js +3 -3
  58. package/dist/Forms/CommercialDepositsNoLendingOption.d.ts +16 -0
  59. package/dist/Forms/CommercialDepositsNoLendingOption.js +330 -0
  60. package/dist/Forms/ContactUsBusiness.d.ts +1 -1
  61. package/dist/Forms/ContactUsBusiness.js +7 -7
  62. package/dist/Forms/ContactUsBusinessNameEmail.js +3 -3
  63. package/dist/Forms/ContactUsLVF.d.ts +5 -1
  64. package/dist/Forms/ContactUsLVF.js +8 -6
  65. package/dist/Forms/ContactUsNMLSId.js +3 -3
  66. package/dist/Forms/CraPublicFile.js +3 -3
  67. package/dist/Forms/EmailOnly.js +85 -65
  68. package/dist/Forms/FormEnums.js +6 -15
  69. package/dist/Forms/Forms.css.d.ts +8 -31
  70. package/dist/Forms/Forms.css.js +50 -44
  71. package/dist/Forms/MortgageRate/MortgageRateForm.js +23 -8
  72. package/dist/Forms/MortgageRate/MortgageRateWatch.js +3 -3
  73. package/dist/Forms/MortgageWarehouseLending.js +3 -3
  74. package/dist/Forms/QuickPricer/QuickPricerForm.js +1 -1
  75. package/dist/Forms/SalesforceFieldsForm.d.ts +5 -0
  76. package/dist/Forms/SalesforceFieldsForm.js +11 -1
  77. package/dist/Forms/SuccesForm.js +4 -4
  78. package/dist/Forms/index.d.ts +1 -0
  79. package/dist/Forms/index.js +6 -1
  80. package/dist/HeroBanner/HeroBanner.css.d.ts +5 -17
  81. package/dist/HeroBanner/HeroBanner.css.js +2 -1
  82. package/dist/HeroBanner/HeroBanner.js +2 -13
  83. package/dist/HeroBanner/SelectionBanner.css.d.ts +1 -19
  84. package/dist/HeroBanner/SelectionBanner.css.js +6 -6
  85. package/dist/Hyperlink/Hyperlink.css.d.ts +4 -4
  86. package/dist/Hyperlink/Hyperlink.css.js +4 -1
  87. package/dist/Hyperlink/index.js +3 -3
  88. package/dist/IconBillboard/IconBillboard.css.d.ts +6 -40
  89. package/dist/ImageBillboard/ImageBillboard.css.d.ts +5 -61
  90. package/dist/ImageBillboard/ImageBillboard.css.js +2 -1
  91. package/dist/ImageLink/ImageLink.js +3 -3
  92. package/dist/ImageLink/ImageLinkSet.js +3 -3
  93. package/dist/ImageLink/index.js +3 -3
  94. package/dist/Input/Dropdown.js +1 -0
  95. package/dist/Input/Input.css.d.ts +1 -0
  96. package/dist/Input/Input.css.js +10 -8
  97. package/dist/Input/index.js +2 -1
  98. package/dist/Insight/Featured/CategorySelector.js +3 -3
  99. package/dist/Insight/Featured/Featured.js +3 -3
  100. package/dist/Insight/Featured/Header.js +3 -3
  101. package/dist/Insight/Insight.css.d.ts +18 -0
  102. package/dist/Insight/Insight.css.js +44 -8
  103. package/dist/Insight/index.js +19 -1
  104. package/dist/LandingPageHeader/LandingPageHeader.css.d.ts +2 -0
  105. package/dist/LandingPageHeader/LandingPageHeader.css.js +6 -2
  106. package/dist/LandingPageHeader/LandingPageHeader.js +18 -9
  107. package/dist/LandingPageHeader/index.js +3 -1
  108. package/dist/LoadingIndicator/LoadingIndicator.css.d.ts +4 -4
  109. package/dist/Modal/Modal.css.d.ts +1 -0
  110. package/dist/Modal/Modal.css.js +5 -3
  111. package/dist/Modal/Modal.js +6 -6
  112. package/dist/NavigationMenu/AxosALTS/NavData.js +3 -3
  113. package/dist/NavigationMenu/AxosALTS/index.js +3 -3
  114. package/dist/NavigationMenu/AxosAdvisor/NavBar.css.d.ts +2 -0
  115. package/dist/NavigationMenu/AxosAdvisor/NavBar.css.js +7 -2
  116. package/dist/NavigationMenu/AxosAdvisor/NavBar.module.js +52 -52
  117. package/dist/NavigationMenu/AxosAdvisor/index.js +39 -21
  118. package/dist/NavigationMenu/AxosAdvisorServices/NavBar.css.d.ts +2 -0
  119. package/dist/NavigationMenu/AxosAdvisorServices/NavBar.css.js +7 -2
  120. package/dist/NavigationMenu/AxosAdvisorServices/NavBar.module.js +53 -53
  121. package/dist/NavigationMenu/AxosAdvisorServices/SubNavbar.css.d.ts +1 -1
  122. package/dist/NavigationMenu/AxosAdvisorServices/SubNavbar.css.js +2 -2
  123. package/dist/NavigationMenu/AxosAdvisorServices/index.js +14 -8
  124. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.js +2 -2
  125. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.module.js +16 -16
  126. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.d.ts +5 -8
  127. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +12 -15
  128. package/dist/NavigationMenu/AxosBank/NavBar.css.js +2 -1
  129. package/dist/NavigationMenu/AxosBank/NavBar.module.js +41 -41
  130. package/dist/NavigationMenu/AxosBank/NavData.js +3 -3
  131. package/dist/NavigationMenu/AxosBank/SubNavBar.js +274 -296
  132. package/dist/NavigationMenu/AxosBank/SubNavbar.css.d.ts +2 -0
  133. package/dist/NavigationMenu/AxosBank/SubNavbar.css.js +4 -0
  134. package/dist/NavigationMenu/AxosBank/index.js +3 -3
  135. package/dist/NavigationMenu/AxosClearing/NavBar.module.js +37 -37
  136. package/dist/NavigationMenu/AxosFiduciary/NavBar.module.js +41 -41
  137. package/dist/NavigationMenu/LaVictoire/NavData.js +3 -3
  138. package/dist/NavigationMenu/LaVictoire/index.js +3 -3
  139. package/dist/NavigationMenu/NavDataJson.js +3 -3
  140. package/dist/NavigationMenu/Navbar.js +3 -3
  141. package/dist/NavigationMenu/SignInNavButton.js +3 -3
  142. package/dist/PageNavItem/PageNavItem.css.d.ts +4 -22
  143. package/dist/Pagination/Pagination.js +6 -6
  144. package/dist/SetContainer/SetContainer.js +3 -3
  145. package/dist/SocialMediaBar/iconsRepository.js +3 -3
  146. package/dist/StepItem/StepItem.css.d.ts +8 -36
  147. package/dist/StepItemSet/StepItemSet.css.d.ts +5 -32
  148. package/dist/StepItemSet/StepItemSet.css.js +9 -5
  149. package/dist/StepItemSet/StepItemSet.d.ts +6 -0
  150. package/dist/StepItemSet/StepItemSet.js +22 -3
  151. package/dist/StepItemSet/index.js +2 -1
  152. package/dist/Table/Table.css.d.ts +4 -3
  153. package/dist/Table/Table.css.js +5 -5
  154. package/dist/Table/Table.js +1 -1
  155. package/dist/VideoTile/VideoTile.js +3 -3
  156. package/dist/VideoWrapper/index.js +3 -3
  157. package/dist/WalnutIframe/wrapper.module.js +3 -3
  158. package/dist/assets/Accordion/Accordion.css +2 -2
  159. package/dist/assets/Article/Article.css +87 -86
  160. package/dist/assets/ArticlesSet/ArticlesSet.css +26 -56
  161. package/dist/assets/Auth/SignIn.css +12 -12
  162. package/dist/assets/Avatar/Avatar.css.css +59 -59
  163. package/dist/assets/AwardsBanner/AwardsBanner.css +1 -1
  164. package/dist/assets/AwardsItem/AwardsItem.css +3 -4
  165. package/dist/assets/Blockquote/Blockquote.css.css +72 -68
  166. package/dist/assets/Button/Button.css +28 -28
  167. package/dist/assets/Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css +8 -8
  168. package/dist/assets/Calculators/ApyCalculator/ApyCalculator.css +12 -21
  169. package/dist/assets/Calculators/AxosOneCalculator/BalanceAPYCalculator.css +31 -11
  170. package/dist/assets/Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css +20 -32
  171. package/dist/assets/Calculators/BuyDownCalculator/BuyDownCalculator.css +15 -21
  172. package/dist/assets/Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css +9 -9
  173. package/dist/assets/Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css +9 -9
  174. package/dist/assets/Calculators/SummitApyCalculator/BalanceAPYCalculator.css +18 -10
  175. package/dist/assets/Calculators/calculator.css +9 -15
  176. package/dist/assets/CallToActionBar/CallToActionBar.css +95 -69
  177. package/dist/assets/Carousel/Carousel.css +27 -41
  178. package/dist/assets/Chatbot/ChatWindow.css +56 -0
  179. package/dist/assets/Chevron/Chevron.css +11 -10
  180. package/dist/assets/CollectInformationAlert/CollectInformationAlert.css +4 -3
  181. package/dist/assets/Comparison/Comparison.css +8 -5
  182. package/dist/assets/ContentBanner/ContentBanner.css +14 -8
  183. package/dist/assets/DownloadTile/DownloadTile.css +6 -6
  184. package/dist/assets/ExecutiveBio/ExecutiveBio.css +27 -27
  185. package/dist/assets/FaqAccordion/FaqAccordion.css +5 -5
  186. package/dist/assets/FooterDisclosure/FooterDisclosure.css +1 -1
  187. package/dist/assets/FooterSiteMap/AxosBank/FooterSiteMap.css +3 -8
  188. package/dist/assets/Forms/Forms.css +176 -165
  189. package/dist/assets/Forms/QuickPricer/UserInformation.css +1 -1
  190. package/dist/assets/HeroBanner/HeroBanner.css +85 -76
  191. package/dist/assets/HeroBanner/LargeBanner.css +15 -15
  192. package/dist/assets/HeroBanner/SelectionBanner.css +15 -29
  193. package/dist/assets/Hyperlink/Hyperlink.css +4 -4
  194. package/dist/assets/IconBillboard/IconBillboard.css +32 -48
  195. package/dist/assets/ImageBillboard/ImageBillboard.css +59 -63
  196. package/dist/assets/Input/Input.css +54 -47
  197. package/dist/assets/Inputs/Input.css +4 -4
  198. package/dist/assets/Insight/Featured/CategorySelector.css +1 -1
  199. package/dist/assets/Insight/Insight.css +212 -43
  200. package/dist/assets/Interstitial/Interstitial-variants.css +3 -3
  201. package/dist/assets/LandingPageHeader/LandingPageHeader.css +37 -4
  202. package/dist/assets/LoadingIndicator/LoadingIndicator.css +5 -5
  203. package/dist/assets/Modal/Modal.css +17 -28
  204. package/dist/assets/NavigationMenu/AxosALTS/NavBar.css +1 -1
  205. package/dist/assets/NavigationMenu/AxosAdvisor/NavBar.css +25 -2
  206. package/dist/assets/NavigationMenu/AxosAdvisor/NavBar.css.css +609 -597
  207. package/dist/assets/NavigationMenu/AxosAdvisor/SubNavbar.css +5 -4
  208. package/dist/assets/NavigationMenu/AxosAdvisorServices/NavBar.css +25 -2
  209. package/dist/assets/NavigationMenu/AxosAdvisorServices/NavBar.css.css +630 -618
  210. package/dist/assets/NavigationMenu/AxosAdvisorServices/SubNavbar.css +22 -4
  211. package/dist/assets/NavigationMenu/AxosBank/MobileMenu/MobileMenu.css.css +192 -191
  212. package/dist/assets/NavigationMenu/AxosBank/NavBar.css +21 -9
  213. package/dist/assets/NavigationMenu/AxosBank/NavBar.css.css +445 -473
  214. package/dist/assets/NavigationMenu/AxosBank/SubNavbar.css +35 -1
  215. package/dist/assets/NavigationMenu/AxosClearing/NavBar.css.css +484 -458
  216. package/dist/assets/NavigationMenu/AxosFiduciary/NavBar.css.css +427 -426
  217. package/dist/assets/PageNavItem/PageNavItem.css +16 -33
  218. package/dist/assets/Pagination/Pagination.css +1 -1
  219. package/dist/assets/SetContainer/SetContainer.css +4 -4
  220. package/dist/assets/StepItem/StepItem.css +26 -42
  221. package/dist/assets/StepItemSet/StepItemSet.css +40 -36
  222. package/dist/assets/Tab/Tab.css +12 -12
  223. package/dist/assets/Table/Table.css +87 -93
  224. package/dist/assets/TextBlock/TextBlock.css +1 -1
  225. package/dist/assets/TopicalNavItem/TopicalNavItem.css +3 -3
  226. package/dist/assets/TopicalNavSet/TopicalNavSet.css +1 -1
  227. package/dist/assets/VideoTile/VideoTile.css +1 -1
  228. package/dist/assets/WalnutIframe/wrapper.css.css +7 -8
  229. package/dist/assets/globals.css +11 -8
  230. package/dist/assets/icons/ArrowIcon/ArrowIcon.css +3 -3
  231. package/dist/assets/icons/DownloadIcon/DownloadIcon.css +1 -1
  232. package/dist/assets/icons/FollowIcon/FollowIcon.css +1 -1
  233. package/dist/assets/themes/axos.css +30 -30
  234. package/dist/assets/themes/premier.css +31 -31
  235. package/dist/assets/themes/victorie.css +23 -23
  236. package/dist/icons/CheckCircle.js +1 -1
  237. package/dist/icons/CheckCircleLight.js +1 -1
  238. package/dist/icons/CheckIcon/index.js +1 -1
  239. package/dist/icons/Clock/index.js +6 -6
  240. package/dist/icons/Logos/SPB.d.ts +4 -0
  241. package/dist/icons/Logos/SPB.js +132 -0
  242. package/dist/icons/QuoteIconGrey.js +2 -2
  243. package/dist/icons/index.d.ts +1 -0
  244. package/dist/icons/index.js +2 -0
  245. package/dist/main.js +55 -21
  246. package/dist/themes/axos.css.d.ts +12 -12
  247. package/dist/themes/axos.css.js +1 -1
  248. package/dist/utils/allowedAxosDomains.js +2 -1
  249. package/package.json +136 -136
@@ -1,11 +1,13 @@
1
1
  "use client";
2
- import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
3
3
  import clsx from "clsx";
4
- import React, { useRef, useEffect, Fragment } from "react";
4
+ import React, { useRef, useEffect, Fragment as Fragment$1 } from "react";
5
5
  import ReactMarkdown from "react-markdown";
6
+ import { useNetworkState, useMount } from "react-use";
6
7
  import remarkGfm from "remark-gfm";
8
+ import { windowBarStyle, chat_title, chatbotMenuItem, chatbotMenu, chatFinishDialog, endChatButtonStyle, button_reset, arrowFill, chatNetworkStatus, notificationStyle, messageStyle, inline_button_wrapper, inline_button, messagesContainerStyle, inputStyle, sendButtonStyle, windowStyle, windowOpenStyle } from "./ChatWindow.css.js";
9
+ import { EllipsisIcon } from "./EllipsisIcon.js";
7
10
  import { useOpenChat } from "./store/chat.js";
8
- import { windowBarStyle, chat_title, button_reset, arrowFill, notificationStyle, messageStyle, inline_button_wrapper, inline_button, endChatButtonStyle, messagesContainerStyle, inputStyle, sendButtonStyle, windowStyle, windowOpenStyle } from "./ChatWindow.css.js";
9
11
  const ChatWindow = ({
10
12
  messages,
11
13
  status = "connected",
@@ -14,11 +16,18 @@ const ChatWindow = ({
14
16
  onClose,
15
17
  endChat = () => {
16
18
  console.log("End chat");
17
- }
19
+ },
20
+ showReconnect = false,
21
+ virtualAgent,
22
+ showAvatar = false
18
23
  }) => {
24
+ const [mounted, setMounted] = React.useState(false);
25
+ const [menuOpen, setMenuOpen] = React.useState(false);
26
+ const [showEndChatDialog, setShowEndChatDialog] = React.useState(false);
27
+ const state = useNetworkState();
19
28
  const [input, setInput] = React.useState("");
20
29
  const messagesEndRef = useRef(null);
21
- const isOpen = useOpenChat((state) => state.isOpen);
30
+ const isOpen = useOpenChat((state2) => state2.isOpen);
22
31
  useEffect(() => {
23
32
  messagesEndRef.current?.scrollIntoView({ behavior: "smooth" });
24
33
  }, [messages]);
@@ -29,6 +38,9 @@ const ChatWindow = ({
29
38
  setInput("");
30
39
  }
31
40
  };
41
+ useMount(() => {
42
+ setMounted(true);
43
+ });
32
44
  const project = process.env.CCAI_PROJECT_ID;
33
45
  const isAxos = project === "axos";
34
46
  const endUserBg = isAxos ? "#14263d" : "#323339";
@@ -47,6 +59,105 @@ const ChatWindow = ({
47
59
  ),
48
60
  /* @__PURE__ */ jsx("h2", { className: chat_title, children: "Evo Virtual Assistant" })
49
61
  ] }),
62
+ /* @__PURE__ */ jsx(
63
+ "button",
64
+ {
65
+ onClick: () => {
66
+ setMenuOpen(!menuOpen);
67
+ },
68
+ style: {
69
+ border: "none",
70
+ background: "transparent",
71
+ marginLeft: "auto",
72
+ cursor: "pointer",
73
+ padding: 0,
74
+ display: "flex",
75
+ alignContent: "center"
76
+ },
77
+ children: /* @__PURE__ */ jsx(EllipsisIcon, { color: "#fff" })
78
+ }
79
+ ),
80
+ menuOpen && /* @__PURE__ */ jsx("ul", { className: clsx(chatbotMenu), children: /* @__PURE__ */ jsx("li", { className: chatbotMenuItem, children: /* @__PURE__ */ jsx(
81
+ "button",
82
+ {
83
+ type: "button",
84
+ onClick: () => {
85
+ setShowEndChatDialog(true);
86
+ setMenuOpen(false);
87
+ },
88
+ style: { width: "100%" },
89
+ children: "Finish chat"
90
+ }
91
+ ) }) }),
92
+ showEndChatDialog && /* @__PURE__ */ jsxs(Fragment, { children: [
93
+ /* @__PURE__ */ jsx(
94
+ "div",
95
+ {
96
+ style: {
97
+ background: "#00000080",
98
+ position: "fixed",
99
+ top: 0,
100
+ left: 0,
101
+ right: 0,
102
+ bottom: 0,
103
+ zIndex: 999,
104
+ opacity: 0.75
105
+ }
106
+ }
107
+ ),
108
+ /* @__PURE__ */ jsx(
109
+ "dialog",
110
+ {
111
+ open: showEndChatDialog,
112
+ style: {
113
+ padding: "1rem",
114
+ borderRadius: 8,
115
+ background: "#fff",
116
+ color: "#000",
117
+ border: `1px solid ${endUserBg}`,
118
+ outline: "none",
119
+ maxWidth: "90%",
120
+ top: "25%",
121
+ marginInline: "auto",
122
+ zIndex: 1e3
123
+ },
124
+ children: /* @__PURE__ */ jsxs("form", { method: "dialog", className: chatFinishDialog, children: [
125
+ /* @__PURE__ */ jsx("p", { children: "Are you sure you want to end this chat?" }),
126
+ /* @__PURE__ */ jsxs(
127
+ "div",
128
+ {
129
+ style: { display: "flex", gap: "1rem", marginTop: "1rem" },
130
+ children: [
131
+ /* @__PURE__ */ jsx(
132
+ "button",
133
+ {
134
+ className: endChatButtonStyle,
135
+ type: "submit",
136
+ onClick: () => {
137
+ endChat();
138
+ setShowEndChatDialog(false);
139
+ },
140
+ children: "Yes"
141
+ }
142
+ ),
143
+ /* @__PURE__ */ jsx(
144
+ "button",
145
+ {
146
+ className: endChatButtonStyle,
147
+ type: "button",
148
+ onClick: () => {
149
+ setShowEndChatDialog(false);
150
+ },
151
+ children: "No"
152
+ }
153
+ )
154
+ ]
155
+ }
156
+ )
157
+ ] })
158
+ }
159
+ )
160
+ ] }),
50
161
  onClose && /* @__PURE__ */ jsx(
51
162
  "button",
52
163
  {
@@ -75,8 +186,31 @@ const ChatWindow = ({
75
186
  }
76
187
  )
77
188
  ] }),
189
+ mounted && !state.online ? /* @__PURE__ */ jsx("div", { className: clsx(chatNetworkStatus), children: /* @__PURE__ */ jsxs(
190
+ "div",
191
+ {
192
+ style: {
193
+ color: "#d32f2f",
194
+ textAlign: "center",
195
+ padding: "8px 0",
196
+ fontWeight: 500
197
+ },
198
+ children: [
199
+ /* @__PURE__ */ jsx(
200
+ "span",
201
+ {
202
+ role: "img",
203
+ "aria-label": "disconnected",
204
+ style: { marginRight: 6 },
205
+ children: "⚠️"
206
+ }
207
+ ),
208
+ "You are currently disconnected. Please check your connection."
209
+ ]
210
+ }
211
+ ) }) : null,
78
212
  /* @__PURE__ */ jsxs("div", { className: clsx(messagesContainerStyle), children: [
79
- messages?.map((msg) => /* @__PURE__ */ jsxs(Fragment, { children: [
213
+ messages?.map((msg) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
80
214
  msg.type == "noti" && msg.$userType == "system" && msg.event == "escalationStarted" && /* @__PURE__ */ jsx("div", { className: notificationStyle, children: "We are connecting you with a human agent..." }, msg.$index),
81
215
  msg.type == "noti" && msg.$userType == "system" && msg.event == "memberLeft" && /* @__PURE__ */ jsxs("div", { className: notificationStyle, children: [
82
216
  /* @__PURE__ */ jsx("strong", { children: "Virtual Agent" }),
@@ -99,7 +233,7 @@ const ChatWindow = ({
99
233
  boxShadow: msg.$userType == "end_user" ? "0 1px 4px #b3e0ff55" : void 0
100
234
  },
101
235
  children: [
102
- /* @__PURE__ */ jsx(
236
+ /* @__PURE__ */ jsxs(
103
237
  "div",
104
238
  {
105
239
  style: {
@@ -108,22 +242,48 @@ const ChatWindow = ({
108
242
  flexDirection: "column",
109
243
  gap: 4
110
244
  },
111
- children: /* @__PURE__ */ jsx(
112
- ReactMarkdown,
113
- {
114
- remarkPlugins: [[remarkGfm, { singleTilde: false }]],
115
- components: {
116
- p: ({ ...props }) => /* @__PURE__ */ jsx(
117
- "p",
118
- {
119
- style: { margin: 0, fontSize: "inherit" },
120
- ...props
121
- }
122
- )
123
- },
124
- children: msg.content
125
- }
126
- )
245
+ children: [
246
+ msg.$userType == "virtual_agent" && /* @__PURE__ */ jsxs(
247
+ "div",
248
+ {
249
+ style: {
250
+ display: "flex",
251
+ // justifyContent: "center",
252
+ alignItems: "center",
253
+ gap: "8px"
254
+ },
255
+ children: [
256
+ showAvatar && /* @__PURE__ */ jsx(
257
+ "img",
258
+ {
259
+ width: 24,
260
+ height: 24,
261
+ src: virtualAgent?.avatar_url,
262
+ alt: "agent avatar"
263
+ }
264
+ ),
265
+ /* @__PURE__ */ jsx("strong", { children: virtualAgent?.name })
266
+ ]
267
+ }
268
+ ),
269
+ /* @__PURE__ */ jsx(
270
+ ReactMarkdown,
271
+ {
272
+ remarkPlugins: [[remarkGfm, { singleTilde: false }]],
273
+ components: {
274
+ p: ({ ...props }) => /* @__PURE__ */ jsx(
275
+ "p",
276
+ {
277
+ style: { margin: 0, fontSize: "inherit" },
278
+ title: new Date(msg.$timestamp).toLocaleString(),
279
+ ...props
280
+ }
281
+ )
282
+ },
283
+ children: msg.content
284
+ }
285
+ )
286
+ ]
127
287
  }
128
288
  ),
129
289
  /* @__PURE__ */ jsx("div", { style: { fontSize: 10, color: "#888", marginTop: 2 } })
@@ -152,8 +312,36 @@ const ChatWindow = ({
152
312
  index
153
313
  );
154
314
  }) }),
155
- msg.event == "chatEnded" && /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("button", { className: endChatButtonStyle, onClick: endChat, children: "End Chat" }) })
315
+ msg.event == "chatEnded" && /* @__PURE__ */ jsxs(Fragment, { children: [
316
+ /* @__PURE__ */ jsxs(
317
+ "div",
318
+ {
319
+ title: (/* @__PURE__ */ new Date()).toLocaleString(),
320
+ style: {
321
+ fontSize: 12,
322
+ color: "#888",
323
+ marginBottom: 4,
324
+ textAlign: "center"
325
+ },
326
+ children: [
327
+ "Thank you for chatting!",
328
+ /* @__PURE__ */ jsx("br", {}),
329
+ " This conversation has ended."
330
+ ]
331
+ }
332
+ ),
333
+ /* @__PURE__ */ jsx("div", { style: { textAlign: "center", marginBottom: 12 }, children: /* @__PURE__ */ jsx("button", { className: endChatButtonStyle, onClick: endChat, children: "End Chat" }) })
334
+ ] })
156
335
  ] }, msg.$index)),
336
+ showReconnect && /* @__PURE__ */ jsx(
337
+ "button",
338
+ {
339
+ style: { margin: "12px auto", display: "block" },
340
+ onClick: () => {
341
+ },
342
+ children: "Reconnect Chat"
343
+ }
344
+ ),
157
345
  /* @__PURE__ */ jsx("div", { ref: messagesEndRef })
158
346
  ] }),
159
347
  /* @__PURE__ */ jsxs(
@@ -174,6 +362,7 @@ const ChatWindow = ({
174
362
  onChange: (e) => setInput(e.target.value),
175
363
  placeholder: "Ask something...",
176
364
  className: inputStyle,
365
+ autoFocus: true,
177
366
  disabled: inputDisabled || status !== "connected"
178
367
  }
179
368
  ),
@@ -1,4 +1,3 @@
1
- import "./Chatbot.css.ts.vanilla.css.js";
2
1
  var chatbotAXB = "_1hpv6vm0";
3
2
  var chatbotUFB = "_1hpv6vm1";
4
3
  export {
@@ -2,15 +2,15 @@
2
2
  import { jsxs, jsx } from "react/jsx-runtime";
3
3
  import { authenticate } from "./authenticate.js";
4
4
  import { Bubble } from "./Bubble.js";
5
+ import { chatbotUFB, chatbotAXB } from "./Chatbot.css.js";
5
6
  import { ChatWindow } from "./ChatWindow.js";
6
7
  import { useOpenChat } from "./store/chat.js";
7
8
  import { useMessages } from "./store/messages.js";
8
9
  import { useHeadlessChat } from "./useHeadlessChat.js";
9
- import { chatbotUFB, chatbotAXB } from "./Chatbot.css.js";
10
10
  const Chatbot = (props) => {
11
11
  const messages = useMessages((state) => state.messages);
12
12
  const close = useOpenChat((state) => state.close);
13
- const { status, sendMessage } = useHeadlessChat({
13
+ const { status, sendMessage, showReconnect, endChat, virtualAgent } = useHeadlessChat({
14
14
  companyId: process.env.CCAI_COMPANY_ID || "",
15
15
  tenant: process.env.CCAI_TENANT_NAME || "",
16
16
  host: process.env.CCAI_HOST || "",
@@ -29,7 +29,10 @@ const Chatbot = (props) => {
29
29
  messages,
30
30
  onSend: function(msg) {
31
31
  sendMessage(msg);
32
- }
32
+ },
33
+ endChat,
34
+ virtualAgent,
35
+ showReconnect
33
36
  }
34
37
  )
35
38
  ] });
@@ -0,0 +1,4 @@
1
+ export declare const EllipsisIcon: ({ size, color }: {
2
+ size?: number | undefined;
3
+ color?: string | undefined;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,19 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ const EllipsisIcon = ({ size = 24, color = "currentColor" }) => /* @__PURE__ */ jsxs(
3
+ "svg",
4
+ {
5
+ width: size,
6
+ height: size,
7
+ viewBox: "0 0 24 24",
8
+ fill: "none",
9
+ "aria-hidden": "true",
10
+ children: [
11
+ /* @__PURE__ */ jsx("circle", { cx: "5", cy: "12", r: "2", fill: color }),
12
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "2", fill: color }),
13
+ /* @__PURE__ */ jsx("circle", { cx: "19", cy: "12", r: "2", fill: color })
14
+ ]
15
+ }
16
+ );
17
+ export {
18
+ EllipsisIcon
19
+ };
@@ -4,7 +4,7 @@ import { bubbleWrapper, svgFill } from "./Bubble.css.js";
4
4
  import { Chatbot } from "./Chatbot.js";
5
5
  import { chatbotAXB, chatbotUFB } from "./Chatbot.css.js";
6
6
  import { ChatWindow } from "./ChatWindow.js";
7
- import { arrowFill, button_reset, chat_title, endChatButtonStyle, inline_button, inline_button_wrapper, inputStyle, messageStyle, messagesContainerStyle, notificationStyle, sendButtonStyle, windowBarStyle, windowOpenStyle, windowStyle } from "./ChatWindow.css.js";
7
+ import { arrowFill, button_reset, chatFinishDialog, chatNetworkStatus, chat_title, chatbotMenu, chatbotMenuItem, endChatButtonStyle, inline_button, inline_button_wrapper, inputStyle, messageStyle, messagesContainerStyle, notificationStyle, sendButtonStyle, windowBarStyle, windowOpenStyle, windowStyle } from "./ChatWindow.css.js";
8
8
  import { useOpenChat } from "./store/chat.js";
9
9
  import { useMessages } from "./store/messages.js";
10
10
  import { useHeadlessChat } from "./useHeadlessChat.js";
@@ -15,8 +15,12 @@ export {
15
15
  arrowFill,
16
16
  bubbleWrapper,
17
17
  button_reset,
18
+ chatFinishDialog,
19
+ chatNetworkStatus,
18
20
  chat_title,
19
21
  chatbotAXB,
22
+ chatbotMenu,
23
+ chatbotMenuItem,
20
24
  chatbotUFB,
21
25
  endChatButtonStyle,
22
26
  inline_button,
@@ -5,6 +5,7 @@ interface MessageStore {
5
5
  addMessage: (message: MessageResponse) => void;
6
6
  removeMessage: (id: string) => void;
7
7
  addMessages: (newMessages: MessageResponse[]) => void;
8
+ clearMessages: () => void;
8
9
  }
9
10
  export interface Message {
10
11
  id: string;
@@ -5,7 +5,8 @@ const useMessages = create((set) => ({
5
5
  removeMessage: (id) => set((state) => ({
6
6
  messages: state.messages.filter((msg) => msg.id !== id)
7
7
  })),
8
- addMessages: (newMessages) => set((state) => ({ messages: [...state.messages, ...newMessages] }))
8
+ addMessages: (newMessages) => set((state) => ({ messages: [...state.messages, ...newMessages] })),
9
+ clearMessages: () => set({ messages: [] })
9
10
  }));
10
11
  export {
11
12
  useMessages
@@ -8,6 +8,7 @@ interface UseHeadlessChatOptions {
8
8
  channelId?: string;
9
9
  projectId?: "axos" | "" | "ufb" | string;
10
10
  debug?: boolean;
11
+ menuOption?: string;
11
12
  }
12
13
  export interface ChatMessage {
13
14
  id: string;
@@ -15,8 +16,12 @@ export interface ChatMessage {
15
16
  sender?: string;
16
17
  timestamp?: string;
17
18
  }
18
- export declare function useHeadlessChat({ companyId, tenant, host, getToken, projectId, debug, }: UseHeadlessChatOptions): {
19
+ export declare function useHeadlessChat({ companyId, tenant, host, getToken, projectId, debug, menuOption, }: UseHeadlessChatOptions): {
19
20
  status: "error" | "idle" | "connected" | "connecting" | "finished";
20
21
  sendMessage: (body: string) => Promise<void>;
22
+ showReconnect: boolean;
23
+ setShowReconnect: import('react').Dispatch<import('react').SetStateAction<boolean>>;
24
+ endChat: () => Promise<void>;
25
+ virtualAgent: any;
21
26
  };
22
27
  export {};
@@ -1,26 +1,68 @@
1
1
  "use client";
2
2
  import { useState, useRef, useCallback, useEffect } from "react";
3
+ import { useLocation } from "react-use";
3
4
  import { useMessages } from "./store/messages.js";
5
+ const brandMap = /* @__PURE__ */ new Map([
6
+ ["axos", 1],
7
+ ["", 2],
8
+ ["ufb", 3]
9
+ ]);
4
10
  function useHeadlessChat({
5
11
  companyId,
6
12
  tenant,
7
13
  host,
8
14
  getToken,
9
15
  projectId = "axos",
10
- debug = false
16
+ debug = false,
17
+ menuOption = "Support Virtual Agent"
11
18
  }) {
19
+ const { hostname } = useLocation();
12
20
  const addMessage = useMessages((state) => state.addMessage);
13
21
  const addMessages = useMessages((state) => state.addMessages);
22
+ const clearMessages = useMessages((state) => state.clearMessages);
23
+ const [showReconnect, setShowReconnect] = useState(false);
14
24
  const [status, setStatus] = useState("idle");
15
25
  const chatRef = useRef(null);
16
26
  const clientRef = useRef(null);
17
27
  const isMountedRef = useRef(true);
18
28
  const hasLoadedBefore = useRef(true);
29
+ const menuRef = useRef({ menus: [] });
19
30
  const sendMessage = useCallback(async (body) => {
20
31
  if (chatRef.current) {
21
32
  await clientRef.current?.sendTextMessage(body);
22
33
  }
23
34
  }, []);
35
+ const endChat = useCallback(async () => {
36
+ if (chatRef.current) {
37
+ await clientRef.current?.finishChat();
38
+ clearMessages();
39
+ clientRef.current?.createChat(
40
+ menuRef.current.menus.find((menu) => menu.name === menuOption)?.id,
41
+ {
42
+ custom_data: {
43
+ unsigned: {
44
+ facingBrandId: {
45
+ label: "facingBrandId",
46
+ value: `${brandMap.get(projectId) || 1}`
47
+ },
48
+ channel: {
49
+ label: "channel",
50
+ value: "in_web"
51
+ },
52
+ user_auth: {
53
+ label: "user_auth",
54
+ value: "false"
55
+ },
56
+ env: {
57
+ label: "env",
58
+ value: hostname?.includes("www") ? "prod" : hostname?.split(".")[1] ? hostname?.split(".")[1] : ""
59
+ }
60
+ }
61
+ }
62
+ }
63
+ );
64
+ }
65
+ }, [clearMessages, hostname, menuOption, projectId]);
24
66
  useEffect(() => {
25
67
  let messageHandler;
26
68
  let chatReadyHandler;
@@ -49,21 +91,49 @@ function useHeadlessChat({
49
91
  if (isMountedRef.current) setStatus("error");
50
92
  return;
51
93
  }
52
- const menus = await clientRef.current?.getMenus();
53
- if (debug) console.log("channelId:", menus);
54
- if (debug) console.log("channelId:", menus?.menus[5].id);
55
- try {
56
- chatRef.current = await clientRef.current?.createChat(
57
- menus.menus[5].id
58
- // {
59
- // custom_data: {
60
- // unsigned: {
61
- // facingBrandId: brandMap.get(projectId) || 1,
62
- // },
63
- // },
64
- // }
94
+ menuRef.current = await clientRef.current?.getMenus();
95
+ if (debug) console.log("channelId:", menuRef.current);
96
+ if (debug)
97
+ console.log(
98
+ "channelId:",
99
+ menuRef.current?.menus.find((menu) => menu.name === menuOption)?.id
65
100
  );
66
- if (debug) console.log("chatRef:", chatRef.current);
101
+ const custom_data = {
102
+ unsigned: {
103
+ facingBrandId: {
104
+ label: "facingBrandId",
105
+ value: `${brandMap.get(projectId) || 1}`
106
+ },
107
+ channel: {
108
+ label: "channel",
109
+ value: "in_web"
110
+ },
111
+ user_auth: {
112
+ label: "user_auth",
113
+ value: "false"
114
+ },
115
+ env: {
116
+ label: "env",
117
+ value: hostname?.includes("www") ? "prod" : hostname?.split(".")[1] ? hostname?.split(".")[1] : ""
118
+ }
119
+ }
120
+ };
121
+ try {
122
+ chatRef.current = await clientRef.current?.loadOngoingChat();
123
+ if (chatRef.current != null) {
124
+ chatRef.current = await clientRef.current?.resumeChat(
125
+ chatRef.current?.state?.id
126
+ );
127
+ if (debug) console.log("Resumed chatRef:", chatRef.current);
128
+ } else {
129
+ chatRef.current = await clientRef.current?.createChat(
130
+ menuRef.current.menus.find((menu) => menu.name === menuOption)?.id,
131
+ {
132
+ custom_data
133
+ }
134
+ );
135
+ if (debug) console.log("chatRef:", chatRef.current);
136
+ }
67
137
  } catch (error) {
68
138
  console.error("Error creating chat:", error);
69
139
  }
@@ -81,9 +151,13 @@ function useHeadlessChat({
81
151
  chatConnectedHandler = async () => {
82
152
  console.log("Chat connected");
83
153
  setStatus("connected");
84
- const messagesFetched = await chatRef.current?.fetchMessages();
85
- if (debug) console.log("[messages]:", messagesFetched);
86
- addMessages(messagesFetched || []);
154
+ try {
155
+ const messagesFetched = await chatRef.current?.fetchMessages();
156
+ if (debug) console.log("[messages]:", messagesFetched);
157
+ addMessages(messagesFetched || []);
158
+ } catch (error) {
159
+ console.error("Error fetching messages:", error);
160
+ }
87
161
  };
88
162
  startTypingHandler = (identity) => {
89
163
  console.log("start typing: ", identity);
@@ -148,9 +222,18 @@ function useHeadlessChat({
148
222
  addMessage,
149
223
  addMessages,
150
224
  debug,
151
- projectId
225
+ projectId,
226
+ menuOption,
227
+ hostname
152
228
  ]);
153
- return { status, sendMessage };
229
+ return {
230
+ status,
231
+ sendMessage,
232
+ showReconnect,
233
+ setShowReconnect,
234
+ endChat,
235
+ virtualAgent: chatRef.current?.state.virtual_agent
236
+ };
154
237
  }
155
238
  export {
156
239
  useHeadlessChat
@@ -19,11 +19,11 @@ export declare const chevron: import('@vanilla-extract/recipes').RuntimeFn<{
19
19
  };
20
20
  };
21
21
  tertiary: {
22
- color: `var(--${string})`;
22
+ color: "FFFFFF";
23
23
  selectors: {
24
24
  "&:hover": {
25
25
  textDecoration: "underline";
26
- textDecorationColor: `var(--${string})`;
26
+ textDecorationColor: "#FFFFFF";
27
27
  };
28
28
  };
29
29
  };
@@ -2,7 +2,7 @@
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/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/NavBar.css';import '../assets/NavigationMenu/AxosALTS/NavBar.css';import '../assets/NavigationMenu/AxosClearing/NavBar.css';import '../assets/NavigationMenu/AxosBank/SubNavbar.css';import '../assets/NavigationMenu/AxosBank/NavBar.css';import '../assets/NavigationMenu/AxosAdvisorServices/SubNavbar.css';import '../assets/NavigationMenu/AxosAdvisorServices/NavBar.css';import '../assets/NavigationMenu/AxosAdvisor/SubNavbar.css';import '../assets/NavigationMenu/AxosAdvisor/NavBar.css';import '../assets/Insight/Insight.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/CallToActionBar/CallToActionBar.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/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/NavBar.css';import '../assets/NavigationMenu/AxosALTS/NavBar.css';import '../assets/NavigationMenu/AxosClearing/NavBar.css';import '../assets/NavigationMenu/AxosBank/SubNavbar.css';import '../assets/NavigationMenu/AxosBank/NavBar.css';import '../assets/NavigationMenu/AxosAdvisorServices/SubNavbar.css';import '../assets/NavigationMenu/AxosAdvisorServices/NavBar.css';import '../assets/NavigationMenu/AxosAdvisor/SubNavbar.css';import '../assets/NavigationMenu/AxosAdvisor/NavBar.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/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/premier.css';import '../assets/themes/axos.css';/* empty css */
6
6
  /* empty css */
7
7
  /* empty css */
8
8
  /* empty css */
@@ -69,14 +69,15 @@ import "react-dom";
69
69
  import "../Auth/SignInPassword.js";
70
70
  /* empty css */
71
71
  /* empty css */
72
+ /* empty css */
72
73
  /* empty css */
73
74
  import "../Carousel/index.js";
75
+ import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
74
76
  /* empty css */
75
77
  import "../Chatbot/store/chat.js";
76
78
  import "../Chatbot/authenticate.js";
77
79
  /* empty css */
78
80
  import "../Chatbot/store/messages.js";
79
- import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
80
81
  /* empty css */
81
82
  import "../Comparison/Comparison.css.js";
82
83
  import "next/image.js";
@@ -101,7 +102,6 @@ import "next/script.js";
101
102
  /* empty css */
102
103
  /* empty css */
103
104
  /* empty css */
104
- /* empty css */
105
105
  import "../LandingPageHeader/LandingPageHeader.css.js";
106
106
  /* empty css */
107
107
  import "next/navigation.js";