@axos-web-dev/shared-components 1.0.77-patch.32 → 1.0.77-patch.34

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 (75) hide show
  1. package/dist/ATMLocator/ATMLocator.js +1 -7
  2. package/dist/Auth/ErrorAlert.js +1 -7
  3. package/dist/Button/Button.js +1 -7
  4. package/dist/Calculators/ApyCalculator/index.js +11 -5
  5. package/dist/Calculators/Calculator.js +2 -8
  6. package/dist/Carousel/index.js +1 -7
  7. package/dist/Chevron/index.js +1 -7
  8. package/dist/Comparison/Comparison.js +1 -7
  9. package/dist/ExecutiveBio/ExecutiveBio.js +1 -7
  10. package/dist/FaqAccordion/index.js +1 -7
  11. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +1 -7
  12. package/dist/Forms/ApplyNow.js +1 -7
  13. package/dist/Forms/ContactUsBusiness.js +1 -7
  14. package/dist/Forms/ContactUsBusinessNameEmail.js +1 -7
  15. package/dist/Forms/ContactUsNMLSId.js +1 -7
  16. package/dist/Forms/CraPublicFile.js +1 -7
  17. package/dist/Forms/EmailOnly.js +1 -7
  18. package/dist/Forms/MortgageRate/MortgageRateForm.js +1 -7
  19. package/dist/Forms/MortgageRate/MortgageRateWatch.js +1 -7
  20. package/dist/Forms/MortgageWarehouseLending.js +1 -7
  21. package/dist/Forms/SuccesForm.js +2 -8
  22. package/dist/Hyperlink/index.js +1 -7
  23. package/dist/ImageLink/ImageLink.js +1 -7
  24. package/dist/ImageLink/ImageLinkSet.js +1 -7
  25. package/dist/ImageLink/index.js +1 -7
  26. package/dist/Insight/Featured/CategorySelector.js +1 -7
  27. package/dist/Insight/Featured/Featured.js +1 -7
  28. package/dist/Insight/Featured/Header.js +1 -7
  29. package/dist/Modal/Modal.js +1 -7
  30. package/dist/NavigationMenu/AxosALTS/NavData.js +1 -7
  31. package/dist/NavigationMenu/AxosALTS/index.js +1 -7
  32. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.d.ts +1 -1
  33. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +2 -8
  34. package/dist/NavigationMenu/AxosBank/NavData.js +1 -7
  35. package/dist/NavigationMenu/AxosBank/SubNavBar.js +2 -8
  36. package/dist/NavigationMenu/AxosBank/index.js +1 -7
  37. package/dist/NavigationMenu/LaVictoire/NavData.js +1 -7
  38. package/dist/NavigationMenu/LaVictoire/index.js +1 -7
  39. package/dist/SetContainer/SetContainer.js +1 -7
  40. package/dist/SocialMediaBar/iconsRepository.js +1 -7
  41. package/dist/VideoTile/VideoTile.js +1 -7
  42. package/dist/VideoWrapper/index.js +1 -7
  43. package/dist/assets/TopicalNavItem/TopicalNavItem.css +2 -2
  44. package/dist/main.d.ts +0 -1
  45. package/dist/main.js +0 -37
  46. package/package.json +1 -3
  47. package/dist/Chatbot/Bubble.css.d.ts +0 -2
  48. package/dist/Chatbot/Bubble.css.js +0 -7
  49. package/dist/Chatbot/Bubble.d.ts +0 -3
  50. package/dist/Chatbot/Bubble.js +0 -100
  51. package/dist/Chatbot/Chat.d.ts +0 -1
  52. package/dist/Chatbot/Chat.js +0 -165
  53. package/dist/Chatbot/ChatWindow.css.d.ts +0 -18
  54. package/dist/Chatbot/ChatWindow.css.js +0 -39
  55. package/dist/Chatbot/ChatWindow.d.ts +0 -30
  56. package/dist/Chatbot/ChatWindow.js +0 -397
  57. package/dist/Chatbot/Chatbot.css.d.ts +0 -2
  58. package/dist/Chatbot/Chatbot.css.js +0 -7
  59. package/dist/Chatbot/Chatbot.css.ts.vanilla.css.js +0 -1
  60. package/dist/Chatbot/Chatbot.d.ts +0 -5
  61. package/dist/Chatbot/Chatbot.js +0 -42
  62. package/dist/Chatbot/EllipsisIcon.d.ts +0 -4
  63. package/dist/Chatbot/EllipsisIcon.js +0 -19
  64. package/dist/Chatbot/authenticate.d.ts +0 -3
  65. package/dist/Chatbot/authenticate.js +0 -16
  66. package/dist/Chatbot/index.d.ts +0 -9
  67. package/dist/Chatbot/index.js +0 -40
  68. package/dist/Chatbot/store/chat.d.ts +0 -9
  69. package/dist/Chatbot/store/chat.js +0 -11
  70. package/dist/Chatbot/store/messages.d.ts +0 -15
  71. package/dist/Chatbot/store/messages.js +0 -13
  72. package/dist/Chatbot/useHeadlessChat.d.ts +0 -27
  73. package/dist/Chatbot/useHeadlessChat.js +0 -240
  74. package/dist/assets/Chatbot/Bubble.css +0 -51
  75. package/dist/assets/Chatbot/ChatWindow.css +0 -213
@@ -1,240 +0,0 @@
1
- "use client";
2
- import { useState, useRef, useCallback, useEffect } from "react";
3
- import { useLocation } from "react-use";
4
- import { useMessages } from "./store/messages.js";
5
- const brandMap = /* @__PURE__ */ new Map([
6
- ["axos", 1],
7
- ["", 2],
8
- ["ufb", 3]
9
- ]);
10
- function useHeadlessChat({
11
- companyId,
12
- tenant,
13
- host,
14
- getToken,
15
- projectId = "axos",
16
- debug = false,
17
- menuOption = "Support Virtual Agent"
18
- }) {
19
- const { hostname } = useLocation();
20
- const addMessage = useMessages((state) => state.addMessage);
21
- const addMessages = useMessages((state) => state.addMessages);
22
- const clearMessages = useMessages((state) => state.clearMessages);
23
- const [showReconnect, setShowReconnect] = useState(false);
24
- const [status, setStatus] = useState("idle");
25
- const chatRef = useRef(null);
26
- const clientRef = useRef(null);
27
- const isMountedRef = useRef(true);
28
- const hasLoadedBefore = useRef(true);
29
- const menuRef = useRef({ menus: [] });
30
- const sendMessage = useCallback(async (body) => {
31
- if (chatRef.current) {
32
- await clientRef.current?.sendTextMessage(body);
33
- }
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]);
66
- useEffect(() => {
67
- let messageHandler;
68
- let chatReadyHandler;
69
- let chatEndedHandler;
70
- let chatConnectedHandler;
71
- let chatDisconnectedHandler;
72
- let memberLeftHandler;
73
- let memberJoinedHandler;
74
- let startTypingHandler;
75
- let stopTypingHandler;
76
- let chatTimeoutHandler;
77
- async function init() {
78
- setStatus("connecting");
79
- const { Client, Logger, consoleLoggerHandler } = await import("@ujet/websdk-headless");
80
- if (debug) Logger.addHandler(consoleLoggerHandler);
81
- try {
82
- clientRef.current = new Client({
83
- companyId,
84
- tenant,
85
- host,
86
- authenticate: getToken
87
- });
88
- if (debug) console.log("clientRef:", clientRef.current);
89
- } catch (e) {
90
- console.error("Error creating client:", e);
91
- if (isMountedRef.current) setStatus("error");
92
- return;
93
- }
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
100
- );
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
- }
137
- } catch (error) {
138
- console.error("Error creating chat:", error);
139
- }
140
- messageHandler = (msg) => {
141
- if (debug) console.log("Received message:", msg);
142
- addMessage(msg);
143
- };
144
- chatReadyHandler = () => {
145
- console.log("Chat is ready");
146
- };
147
- chatEndedHandler = () => {
148
- console.log("Chat has ended");
149
- setStatus("finished");
150
- };
151
- chatConnectedHandler = async () => {
152
- console.log("Chat connected");
153
- setStatus("connected");
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
- }
161
- };
162
- startTypingHandler = (identity) => {
163
- console.log("start typing: ", identity);
164
- };
165
- stopTypingHandler = (identity) => {
166
- console.log("stop typing: ", identity);
167
- };
168
- memberLeftHandler = (identity) => {
169
- console.log("Member has left the chat: ", identity);
170
- };
171
- memberJoinedHandler = (identity) => {
172
- console.log("Member has joined the chat: ", identity);
173
- };
174
- chatDisconnectedHandler = () => {
175
- console.log("Chat disconnected");
176
- setStatus("idle");
177
- };
178
- chatTimeoutHandler = () => {
179
- console.log("Chat timeout");
180
- };
181
- clientRef.current?.on("ready", chatReadyHandler);
182
- clientRef.current?.on("chat.connected", chatConnectedHandler);
183
- clientRef.current?.on("chat.message", messageHandler);
184
- clientRef.current?.on("chat.memberLeft", memberLeftHandler);
185
- clientRef.current?.on("chat.memberJoined", memberJoinedHandler);
186
- clientRef.current?.on("chat.typingStarted", startTypingHandler);
187
- clientRef.current?.on("chat.typingEnded", stopTypingHandler);
188
- clientRef.current?.on("chat.disconnected", chatDisconnectedHandler);
189
- clientRef.current?.on("chat.ended", chatEndedHandler);
190
- clientRef.current?.on("chat.timeout", chatTimeoutHandler);
191
- }
192
- if (hasLoadedBefore.current) {
193
- if (debug) console.log("Initializing chat...");
194
- init();
195
- hasLoadedBefore.current = false;
196
- }
197
- return () => {
198
- isMountedRef.current = false;
199
- if (debug)
200
- console.log(
201
- "Component unmounted. Cancelling pending async operations."
202
- );
203
- chatRef.current = null;
204
- clientRef.current?.off("ready", chatReadyHandler);
205
- clientRef.current?.off("chat.message", messageHandler);
206
- clientRef.current?.off("chat.connected", chatConnectedHandler);
207
- clientRef.current?.off("chat.ended", chatEndedHandler);
208
- clientRef.current?.off("chat.memberLeft", memberLeftHandler);
209
- clientRef.current?.off("chat.memberJoined", memberJoinedHandler);
210
- clientRef.current?.off("chat.typingStarted", startTypingHandler);
211
- clientRef.current?.off("chat.typingEnded", stopTypingHandler);
212
- clientRef.current?.off("chat.disconnected", chatDisconnectedHandler);
213
- clientRef.current?.off("chat.timeout", chatTimeoutHandler);
214
- clientRef.current?.destroyChat();
215
- clientRef.current = null;
216
- };
217
- }, [
218
- companyId,
219
- tenant,
220
- host,
221
- getToken,
222
- addMessage,
223
- addMessages,
224
- debug,
225
- projectId,
226
- menuOption,
227
- hostname
228
- ]);
229
- return {
230
- status,
231
- sendMessage,
232
- showReconnect,
233
- setShowReconnect,
234
- endChat,
235
- virtualAgent: chatRef.current?.state.virtual_agent
236
- };
237
- }
238
- export {
239
- useHeadlessChat
240
- };
@@ -1,51 +0,0 @@
1
- @keyframes fade-in-bounce {
2
- 0% {
3
- transform: translate3d(100px,100px,0) scale(0.3);
4
- opacity: 0;
5
- }
6
- 50% {
7
- transform: translate3d(-10px,-10px,0) scale(1.1);
8
- opacity: 1;
9
- }
10
- 100% {
11
- transform: translate3d(0,0,0) scale(1);
12
- opacity: 1;
13
- }
14
- }
15
- @keyframes pulse {
16
- 0%,100% {
17
- box-shadow: 0 0 0 0 rgba(0,123,255,0.4);
18
- }
19
- 50% {
20
- box-shadow: 0 0 0 10px rgba(0,123,255,0);
21
- }
22
- }
23
- ._7u9pv30 {
24
- align-items: center;
25
- animation: fade-in-bounce 2s cubic-bezier(0.65, 0.25, 0.14, 0.93) forwards, pulse 4.5s 0.5s;
26
- background-color: #14263d;
27
- border-radius: 50%;
28
- bottom: 16px;
29
- cursor: pointer;
30
- display: grid;
31
- font-family: var(--main-font-family);
32
- height: 68px;
33
- line-height: 1;
34
- outline: 2px solid #98DDFF;
35
- place-items: center;
36
- position: fixed;
37
- right: 16px;
38
- width: 68px;
39
- z-index: 9999;
40
- }
41
- ._1hpv6vm1 ._7u9pv30 {
42
- animation: fade-in-bounce 2s cubic-bezier(0.65, 0.25, 0.14, 0.93) forwards;
43
- background-color: #60707A;
44
- outline: none;
45
- }
46
- ._7u9pv31 {
47
- fill: #98DDFF;
48
- }
49
- ._1hpv6vm1 ._7u9pv31 {
50
- fill: #FFFFFF;
51
- }
@@ -1,213 +0,0 @@
1
- ._13n1jqk0 {
2
- background: #FFF;
3
- border-radius: 10px;
4
- bottom: 100px;
5
- box-shadow: -4px -4px 60px 5px rgba(0, 0, 0, 0.3);
6
- display: flex;
7
- flex-direction: column;
8
- height: min(calc(100vh - 112px), 560px);
9
- max-width: 100%;
10
- outline: none;
11
- overflow: hidden;
12
- position: fixed;
13
- right: 24px;
14
- transform: translate(calc(0px - 64px / 2), calc(64px / 2 + 24px)) scale(0);
15
- transition: transform 0.3s, visibility 0.3s;
16
- transform-origin: bottom right;
17
- width: min(calc(100vw - 50px), 350px);
18
- z-index: 10000;
19
- }
20
- ._13n1jqk1 {
21
- transform: translate(0px) scale(1);
22
- transition: transform 0.3s;
23
- visibility: visible;
24
- }
25
- ._13n1jqk2 {
26
- align-items: center;
27
- background-color: #14263d;
28
- display: flex;
29
- justify-content: space-between;
30
- min-height: 50px;
31
- padding-inline: 18px;
32
- }
33
- ._1hpv6vm1 ._13n1jqk2 {
34
- background-color: #60707A;
35
- }
36
- ._13n1jqk3 {
37
- color: #FFF;
38
- font: 700 18px/1.5 var(--header-font-family);
39
- line-height: 1.15;
40
- }
41
- ._13n1jqk4 {
42
- background: transparent;
43
- border: none;
44
- cursor: pointer;
45
- line-height: 1;
46
- margin-left: 8px;
47
- padding: 0;
48
- }
49
- ._13n1jqk5 {
50
- fill: #98DDFF;
51
- }
52
- ._1hpv6vm1 ._13n1jqk5 {
53
- fill: #FFFFFF;
54
- }
55
- ._13n1jqk6 {
56
- border: none;
57
- color: #1F1F1F;
58
- flex: 1;
59
- font-family: var(--header-font-family);
60
- font-size: 13px;
61
- opacity: 0.7;
62
- outline: none;
63
- padding: 20px 0 20px 20px;
64
- }
65
- ._13n1jqk6::placeholder {
66
- color: rgba(31,31,31,.38);
67
- }
68
- ._1hpv6vm1 ._13n1jqk6 {
69
- font-family: var(--main-font-family);
70
- }
71
- ._1hpv6vm1 ._13n1jqk6::placeholder {
72
- color: rgba(31,31,31,.58);
73
- }
74
- ._13n1jqk7 {
75
- padding-inline: 20px;
76
- background: #fafafa;
77
- border: none;
78
- }
79
- ._13n1jqk7:hover {
80
- background: #E9F8FF;
81
- cursor: pointer;
82
- }
83
- ._1hpv6vm1 ._13n1jqk7:hover {
84
- background: #eae8e8;
85
- }
86
- ._13n1jqk7 svg {
87
- fill: rgba(31,31,31,.38);
88
- }
89
- ._13n1jqk7.active svg {
90
- fill: #1e3860;
91
- }
92
- ._1hpv6vm1 ._13n1jqk7.active svg {
93
- fill: #e18357;
94
- }
95
- ._13n1jqk8 {
96
- background: #f9f9f9;
97
- display: flex;
98
- flex: 1;
99
- flex-direction: column;
100
- gap: 8px;
101
- overflow-y: auto;
102
- padding: 1rem;
103
- scrollbar-color: #ccc transparent;
104
- }
105
- ._13n1jqk9 {
106
- color: #888;
107
- font-size: 10px;
108
- margin-bottom: 4px;
109
- text-align: center;
110
- }
111
- ._13n1jqka {
112
- border-radius: 8px;
113
- margin-bottom: 8px;
114
- max-width: 93%;
115
- padding: 8px 12px;
116
- }
117
- ._13n1jqka ul {
118
- padding-left: 24px;
119
- }
120
- ._13n1jqkb {
121
- border: 1px solid #ddd;
122
- border-radius: 8px;
123
- box-shadow: 0 1px 4px #b3e0ff55;
124
- display: flex;
125
- flex-direction: column;
126
- margin-bottom: 8px;
127
- }
128
- ._13n1jqkc {
129
- font-size: 12px;
130
- text-align: left;
131
- background: #fff;
132
- color: #1e3860;
133
- cursor: pointer;
134
- }
135
- ._13n1jqkc:hover {
136
- background: #f0f0f0;
137
- }
138
- ._1hpv6vm1 ._13n1jqkc {
139
- color: #323339;
140
- }
141
- ._13n1jqkd {
142
- background: #1e629a;
143
- border: none;
144
- color: #fff;
145
- cursor: pointer;
146
- font-size: 12px;
147
- padding: 6px 12px;
148
- border-radius: 4px;
149
- text-align: center;
150
- }
151
- ._13n1jqkd:hover {
152
- opacity: 0.8;
153
- }
154
- ._1hpv6vm1 ._13n1jqkd {
155
- background: #e18357;
156
- color: #323339;
157
- }
158
- ._13n1jqke {
159
- position: absolute;
160
- top: 40px;
161
- right: 25px;
162
- background: #14263d;
163
- padding: 0;
164
- border-radius: 8px;
165
- list-style: none;
166
- margin: 0;
167
- box-shadow: 0 2px 8px rgba(0,0,0,0.15);
168
- overflow: hidden;
169
- _1hpv6vm1 & {
170
- background: #e18357;
171
- color: #323339;
172
- }
173
- }
174
- ._13n1jqkf {
175
- color: #fff;
176
- border-bottom: 1px solid #1f2d3e;
177
- padding: 2px 12px;
178
- cursor: pointer;
179
- font-size: 12px;
180
- }
181
- ._13n1jqkf:last-child {
182
- border-bottom: none;
183
- }
184
- ._13n1jqkf:hover {
185
- background: #1f2d3e;
186
- }
187
- ._1hpv6vm1 ._13n1jqkf {
188
- background: #e18357;
189
- color: #323339;
190
- }
191
- ._13n1jqkf button {
192
- background: transparent;
193
- border: none;
194
- color: inherit;
195
- cursor: pointer;
196
- }
197
- ._13n1jqkg {
198
- font-size: 10px;
199
- text-align: center;
200
- margin-bottom: 8px;
201
- margin-top: 8px;
202
- color: #1e3860;
203
- }
204
- ._1hpv6vm1 ._13n1jqkg {
205
- color: #323339;
206
- }
207
- ._13n1jqkh {
208
- display: flex;
209
- flex-direction: column;
210
- align-items: center;
211
- justify-content: center;
212
- padding: 0 1rem;
213
- }