@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.
- package/dist/ATMLocator/ATMLocator.js +84 -14
- package/dist/Accordion/Accordion.js +3 -3
- package/dist/AlertBanner/index.js +1 -1
- package/dist/Article/Article.js +1 -1
- package/dist/Auth/ErrorAlert.js +88 -6
- package/dist/Button/Button.js +120 -6
- package/dist/Calculators/AnnualFeeCalculator/index.js +1 -1
- package/dist/Calculators/ApyCalculator/index.js +1 -1
- package/dist/Calculators/BuyDownCalculator/index.js +1 -1
- package/dist/Calculators/Calculator.d.ts +1 -1
- package/dist/Calculators/Calculator.js +89 -18
- package/dist/Calculators/MarginTradingCalculator/index.js +113 -3
- package/dist/Calculators/MarineLoanMonthlyPaymentCalculator/index.js +1 -1
- package/dist/Calculators/MaxLoanCalculator/index.js +1 -1
- package/dist/Calculators/MonthlyPaymentCalculator/index.js +1 -1
- package/dist/Calculators/MonthlyPaymentLVFCalculator/index.js +1 -1
- package/dist/Carousel/index.js +110 -5
- package/dist/Chatbot/AnimatedGradientBorder.css.d.ts +4 -0
- package/dist/Chatbot/AnimatedGradientBorder.css.js +11 -3
- package/dist/Chatbot/Bubble.css.js +2 -1
- package/dist/Chatbot/Bubble.d.ts +1 -0
- package/dist/Chatbot/Bubble.js +2 -2
- package/dist/Chatbot/Chat.js +17 -7
- package/dist/Chatbot/ChatWindow.css.js +35 -35
- package/dist/Chatbot/ChatWindow.js +24 -18
- package/dist/Chatbot/Chatbot.d.ts +10 -2
- package/dist/Chatbot/Chatbot.js +83 -60
- package/dist/Chatbot/useHeadlessChat.js +1 -2
- package/dist/Chevron/index.js +114 -4
- package/dist/Comparison/Comparison.js +121 -5
- package/dist/ContentBanner/index.js +1 -1
- package/dist/ExecutiveBio/ExecutiveBio.interface.d.ts +2 -3
- package/dist/ExecutiveBio/ExecutiveBio.js +126 -4
- package/dist/ExecutiveBio/ExecutiveBioSet.js +1 -1
- package/dist/FaqAccordion/index.js +112 -9
- package/dist/FooterDisclosure/FooterDisclosure.js +1 -1
- package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +128 -5
- package/dist/Forms/ApplyNow.js +109 -4
- package/dist/Forms/BoatMooringLocation.d.ts +6 -1
- package/dist/Forms/BoatMooringLocation.js +145 -8
- package/dist/Forms/ContactCompany.d.ts +1 -1
- package/dist/Forms/ContactCompanyTitle.d.ts +1 -1
- package/dist/Forms/ContactUsBusiness.js +104 -7
- package/dist/Forms/ContactUsBusinessNameEmail.js +104 -8
- package/dist/Forms/ContactUsNMLSId.js +104 -7
- package/dist/Forms/CpraRequest.js +96 -2
- package/dist/Forms/CraPublicFile.js +104 -7
- package/dist/Forms/DealerServices.d.ts +1 -1
- package/dist/Forms/EmailOnly.js +104 -7
- package/dist/Forms/EmailUs.js +40 -34
- package/dist/Forms/FormEnums.js +2 -2
- package/dist/Forms/Forms.css.d.ts +3 -0
- package/dist/Forms/Forms.css.js +39 -39
- package/dist/Forms/MortgageRate/MortgageRateForm.js +97 -9
- package/dist/Forms/MortgageRate/MortgageRateWatch.js +92 -4
- package/dist/Forms/MortgageWarehouseLending.js +104 -7
- package/dist/Forms/SuccesForm.js +91 -8
- package/dist/HeroBanner/HeroBanner.css.d.ts +1 -0
- package/dist/HeroBanner/HeroBanner.css.js +19 -16
- package/dist/HeroBanner/HeroBanner.d.ts +1 -1
- package/dist/HeroBanner/HeroBanner.interface.d.ts +4 -1
- package/dist/HeroBanner/HeroBanner.js +26 -160
- package/dist/HeroBanner/HeroVideoPoster.d.ts +5 -0
- package/dist/HeroBanner/HeroVideoPoster.js +24 -0
- package/dist/HeroBanner/LargeBanner.css.d.ts +110 -0
- package/dist/HeroBanner/LargeBanner.css.js +22 -8
- package/dist/HeroBanner/LargeHeroBanner.d.ts +5 -0
- package/dist/HeroBanner/LargeHeroBanner.js +228 -0
- package/dist/HeroBanner/index.js +3 -2
- package/dist/Hyperlink/index.js +110 -5
- package/dist/IconBillboard/IconBillboardSet.js +1 -1
- package/dist/ImageBillboard/ImageBillboard.js +1 -1
- package/dist/ImageLink/ImageLink.js +106 -6
- package/dist/ImageLink/ImageLinkSet.js +114 -6
- package/dist/ImageLink/index.js +106 -7
- package/dist/Input/Checkbox.js +2 -2
- package/dist/Input/DownPaymentInput.js +1 -1
- package/dist/Input/Dropdown.js +1 -1
- package/dist/Input/Input.js +1 -1
- package/dist/Input/InputTextArea.js +1 -1
- package/dist/Insight/Featured/CategorySelector.d.ts +1 -1
- package/dist/Insight/Featured/CategorySelector.js +109 -5
- package/dist/Insight/Featured/Featured.js +108 -10
- package/dist/Insight/Featured/Header.js +109 -4
- package/dist/LandingPageHeader/LandingPageHeader.d.ts +1 -1
- package/dist/LandingPageHeader/LandingPageHeader.js +1 -1
- package/dist/Modal/Modal.js +122 -2
- package/dist/Modal/contextApi/store.js +1 -1
- package/dist/NavigationMenu/AxosALTS/index.js +111 -6
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.d.ts +1 -12
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.js +268 -183
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.module.js +27 -27
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.d.ts +271 -37
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +493 -63
- package/dist/NavigationMenu/AxosBank/NavBar.module.js +39 -42
- package/dist/NavigationMenu/AxosBank/SubNavBar.d.ts +1 -6
- package/dist/NavigationMenu/AxosBank/SubNavBar.js +3192 -118
- package/dist/NavigationMenu/AxosBank/index.d.ts +4 -6
- package/dist/NavigationMenu/AxosBank/index.js +467 -83
- package/dist/NavigationMenu/LaVictoire/index.js +118 -5
- package/dist/NavigationMenu/Navbar.d.ts +1 -4
- package/dist/NavigationMenu/Navbar.js +114 -11
- package/dist/NavigationMenu/SignInNavButton.js +122 -9
- package/dist/PageNavItem/PageNavItem.js +1 -1
- package/dist/SetContainer/SetContainer.js +108 -7
- package/dist/SocialMediaBar/iconsRepository.js +124 -0
- package/dist/StepItem/StepItem.js +1 -1
- package/dist/StepItemSet/StepItemSet.js +1 -1
- package/dist/Table/Table.js +1 -1
- package/dist/Topic/Topic.js +1 -1
- package/dist/VideoTile/VideoTile.js +106 -2
- package/dist/VideoWrapper/index.js +110 -7
- package/dist/assets/Chatbot/AnimatedGradientBorder.css +99 -12
- package/dist/assets/Chatbot/Bubble.css +19 -6
- package/dist/assets/Chatbot/ChatWindow.css +79 -69
- package/dist/assets/ExecutiveBio/ExecutiveBio.css +0 -2
- package/dist/assets/Forms/Forms.css +94 -91
- package/dist/assets/HeroBanner/HeroBanner.css +82 -65
- package/dist/assets/HeroBanner/LargeBanner.css +126 -59
- package/dist/assets/NavigationMenu/AxosBank/MobileMenu/MobileMenu.css +49 -49
- package/dist/assets/NavigationMenu/AxosBank/NavBar.css +88 -126
- package/dist/assets/globals.css +9 -9
- package/dist/assets/notification.mp3.js +4 -0
- package/dist/assets/themes/axos.css +1 -1
- package/dist/assets/themes/ufb.css +1 -1
- package/dist/main.js +3 -2
- package/dist/utils/getPosition.d.ts +1 -0
- package/dist/utils/getPosition.js +17 -0
- package/dist/utils/variant.types.d.ts +1 -0
- package/package.json +4 -6
- package/dist/Chatbot/authenticate.d.ts +0 -3
- package/dist/Chatbot/authenticate.js +0 -16
- package/dist/NavigationMenu/AxosBank/DropwdownButton.d.ts +0 -7
- package/dist/NavigationMenu/AxosBank/DropwdownButton.js +0 -125
- package/dist/NavigationMenu/AxosBank/Menu.d.ts +0 -37
- package/dist/NavigationMenu/AxosBank/Menu.js +0 -150
- package/dist/NavigationMenu/AxosBank/MobileMenu/mobileReducer.d.ts +0 -36
- package/dist/NavigationMenu/AxosBank/MobileMenu/mobileReducer.js +0 -105
- package/dist/NavigationMenu/AxosBank/SubNavItem.d.ts +0 -1
- package/dist/NavigationMenu/AxosBank/SubNavItem.js +0 -206
- package/dist/NavigationMenu/utils.d.ts +0 -465
- package/dist/NavigationMenu/utils.js +0 -112
- 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 = "
|
|
8
|
-
var windowOpenStyle = "
|
|
9
|
-
var windowBarStyle = "
|
|
10
|
-
var left_bar_section = "
|
|
11
|
-
var chat_title = "
|
|
12
|
-
var buttonss_section = "
|
|
13
|
-
var button_bar = "
|
|
14
|
-
var button_reset = "
|
|
15
|
-
var arrowFill = "
|
|
16
|
-
var inputStyle = "
|
|
17
|
-
var autoResize = "
|
|
18
|
-
var sendButtonStyle = "
|
|
19
|
-
var messagesContainerStyle = "
|
|
20
|
-
var notificationStyle = "
|
|
21
|
-
var messageStyle = "
|
|
22
|
-
var inline_button_wrapper = "
|
|
23
|
-
var inline_button = "
|
|
24
|
-
var endChatButtonStyle = "
|
|
25
|
-
var noAnswerButton = "
|
|
26
|
-
var chatbotMenu = "
|
|
27
|
-
var chatbotMenuItem = "
|
|
28
|
-
var chatNetworkStatus = "
|
|
29
|
-
var chatEndDialogOverlay = "
|
|
30
|
-
var chatFinishDialog = "
|
|
31
|
-
var thankyou_overlay = "
|
|
32
|
-
var thankyou_message = "
|
|
33
|
-
var thankyou_image = "
|
|
34
|
-
var chatEndCircle = "
|
|
35
|
-
var user_msg = "
|
|
36
|
-
var agent_msg = "
|
|
37
|
-
var shimmerText = "
|
|
38
|
-
var tableMsg = "
|
|
39
|
-
var tableHead = "
|
|
40
|
-
var tableCell = "
|
|
41
|
-
var trMortgageTable = "
|
|
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) =>
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
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
|
-
|
|
442
|
-
|
|
443
|
-
|
|
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
|
-
|
|
6
|
-
|
|
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 {};
|
package/dist/Chatbot/Chatbot.js
CHANGED
|
@@ -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/
|
|
6
|
-
import { authenticate } from "./authenticate.js";
|
|
5
|
+
import notificationSound from "../assets/notification.mp3.js";
|
|
7
6
|
import { Bubble } from "./Bubble.js";
|
|
8
|
-
import {
|
|
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
|
-
|
|
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
|
|
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:
|
|
230
|
-
tenant:
|
|
231
|
-
host:
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
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 =
|
|
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
|
|
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(
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
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
|
|
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,
|
package/dist/Chevron/index.js
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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,
|