@axos-web-dev/shared-components 1.0.77-patch.35 → 1.0.77-patch.37

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 (91) hide show
  1. package/dist/ATMLocator/ATMLocator.js +1 -7
  2. package/dist/Auth/ErrorAlert.js +1 -7
  3. package/dist/Avatar/Avatar.module.js +7 -7
  4. package/dist/Blockquote/Blockquote.module.js +3 -3
  5. package/dist/Button/Button.js +1 -7
  6. package/dist/Calculators/BuyDownCalculator/index.js +1 -1
  7. package/dist/Calculators/Calculator.js +2 -8
  8. package/dist/Carousel/index.js +1 -7
  9. package/dist/Chevron/index.js +1 -7
  10. package/dist/Comparison/Comparison.js +1 -7
  11. package/dist/Comparison/ComparisonSet.js +33 -24
  12. package/dist/ExecutiveBio/ExecutiveBio.js +1 -7
  13. package/dist/FaqAccordion/index.js +1 -7
  14. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +1 -7
  15. package/dist/Forms/ApplyNow.js +1 -7
  16. package/dist/Forms/ContactUsBusiness.js +1 -7
  17. package/dist/Forms/ContactUsBusinessNameEmail.js +1 -7
  18. package/dist/Forms/ContactUsNMLSId.js +1 -7
  19. package/dist/Forms/CraPublicFile.js +1 -7
  20. package/dist/Forms/EmailOnly.js +1 -7
  21. package/dist/Forms/MortgageRate/MortgageRateForm.js +1 -7
  22. package/dist/Forms/MortgageRate/MortgageRateWatch.js +1 -7
  23. package/dist/Forms/MortgageWarehouseLending.js +1 -7
  24. package/dist/Forms/SuccesForm.js +2 -8
  25. package/dist/Hyperlink/index.js +1 -7
  26. package/dist/ImageLink/ImageLink.js +1 -7
  27. package/dist/ImageLink/ImageLinkSet.js +1 -7
  28. package/dist/ImageLink/index.js +1 -7
  29. package/dist/Insight/Featured/CategorySelector.js +1 -7
  30. package/dist/Insight/Featured/Featured.js +1 -7
  31. package/dist/Insight/Featured/Header.js +1 -7
  32. package/dist/Modal/Modal.js +1 -7
  33. package/dist/NavigationMenu/AxosALTS/NavData.js +1 -7
  34. package/dist/NavigationMenu/AxosALTS/index.js +1 -7
  35. package/dist/NavigationMenu/AxosAdvisor/NavBar.module.js +52 -52
  36. package/dist/NavigationMenu/AxosAdvisorServices/NavBar.module.js +53 -53
  37. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.module.js +16 -16
  38. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +1 -7
  39. package/dist/NavigationMenu/AxosBank/NavBar.module.js +39 -39
  40. package/dist/NavigationMenu/AxosBank/NavData.js +1 -7
  41. package/dist/NavigationMenu/AxosBank/SubNavBar.js +1 -7
  42. package/dist/NavigationMenu/AxosBank/index.js +1 -7
  43. package/dist/NavigationMenu/AxosClearing/NavBar.module.js +37 -37
  44. package/dist/NavigationMenu/AxosFiduciary/NavBar.module.js +41 -41
  45. package/dist/NavigationMenu/LaVictoire/NavData.js +1 -7
  46. package/dist/NavigationMenu/LaVictoire/index.js +1 -7
  47. package/dist/SetContainer/SetContainer.js +1 -7
  48. package/dist/SocialMediaBar/iconsRepository.js +1 -7
  49. package/dist/VideoTile/VideoTile.js +1 -7
  50. package/dist/VideoWrapper/index.js +1 -7
  51. package/dist/assets/Avatar/Avatar.css.css +59 -59
  52. package/dist/assets/Blockquote/Blockquote.css.css +68 -68
  53. package/dist/assets/Comparison/Comparison.css +3 -1
  54. package/dist/assets/NavigationMenu/AxosAdvisor/NavBar.css.css +597 -597
  55. package/dist/assets/NavigationMenu/AxosAdvisorServices/NavBar.css.css +618 -618
  56. package/dist/assets/NavigationMenu/AxosBank/MobileMenu/MobileMenu.css.css +191 -191
  57. package/dist/assets/NavigationMenu/AxosBank/NavBar.css.css +473 -473
  58. package/dist/assets/NavigationMenu/AxosClearing/NavBar.css.css +458 -458
  59. package/dist/assets/NavigationMenu/AxosFiduciary/NavBar.css.css +426 -426
  60. package/dist/main.d.ts +0 -1
  61. package/dist/main.js +0 -37
  62. package/package.json +133 -135
  63. package/dist/Chatbot/Bubble.css.d.ts +0 -2
  64. package/dist/Chatbot/Bubble.css.js +0 -7
  65. package/dist/Chatbot/Bubble.d.ts +0 -3
  66. package/dist/Chatbot/Bubble.js +0 -100
  67. package/dist/Chatbot/Chat.d.ts +0 -1
  68. package/dist/Chatbot/Chat.js +0 -165
  69. package/dist/Chatbot/ChatWindow.css.d.ts +0 -18
  70. package/dist/Chatbot/ChatWindow.css.js +0 -40
  71. package/dist/Chatbot/ChatWindow.d.ts +0 -30
  72. package/dist/Chatbot/ChatWindow.js +0 -397
  73. package/dist/Chatbot/Chatbot.css.d.ts +0 -2
  74. package/dist/Chatbot/Chatbot.css.js +0 -6
  75. package/dist/Chatbot/Chatbot.css.ts.vanilla.css.js +0 -1
  76. package/dist/Chatbot/Chatbot.d.ts +0 -5
  77. package/dist/Chatbot/Chatbot.js +0 -42
  78. package/dist/Chatbot/EllipsisIcon.d.ts +0 -4
  79. package/dist/Chatbot/EllipsisIcon.js +0 -19
  80. package/dist/Chatbot/authenticate.d.ts +0 -3
  81. package/dist/Chatbot/authenticate.js +0 -16
  82. package/dist/Chatbot/index.d.ts +0 -9
  83. package/dist/Chatbot/index.js +0 -40
  84. package/dist/Chatbot/store/chat.d.ts +0 -9
  85. package/dist/Chatbot/store/chat.js +0 -11
  86. package/dist/Chatbot/store/messages.d.ts +0 -15
  87. package/dist/Chatbot/store/messages.js +0 -13
  88. package/dist/Chatbot/useHeadlessChat.d.ts +0 -27
  89. package/dist/Chatbot/useHeadlessChat.js +0 -240
  90. package/dist/assets/Chatbot/Bubble.css +0 -51
  91. package/dist/assets/Chatbot/ChatWindow.css +0 -213
@@ -1,42 +0,0 @@
1
- "use client";
2
- import { jsxs, jsx } from "react/jsx-runtime";
3
- import { authenticate } from "./authenticate.js";
4
- import { Bubble } from "./Bubble.js";
5
- import { chatbotUFB, chatbotAXB } from "./Chatbot.css.js";
6
- import { ChatWindow } from "./ChatWindow.js";
7
- import { useOpenChat } from "./store/chat.js";
8
- import { useMessages } from "./store/messages.js";
9
- import { useHeadlessChat } from "./useHeadlessChat.js";
10
- const Chatbot = (props) => {
11
- const messages = useMessages((state) => state.messages);
12
- const close = useOpenChat((state) => state.close);
13
- const { status, sendMessage, showReconnect, endChat, virtualAgent } = useHeadlessChat({
14
- companyId: process.env.CCAI_COMPANY_ID || "",
15
- tenant: process.env.CCAI_TENANT_NAME || "",
16
- host: process.env.CCAI_HOST || "",
17
- // or your region
18
- projectId: process.env.CCAI_PROJECT_ID || props.project || "axos",
19
- getToken: authenticate,
20
- debug: props.debug || process.env.NODE_ENV === "development"
21
- });
22
- return /* @__PURE__ */ jsxs("div", { className: props.project === "ufb" ? chatbotUFB : chatbotAXB, children: [
23
- /* @__PURE__ */ jsx(Bubble, {}),
24
- /* @__PURE__ */ jsx(
25
- ChatWindow,
26
- {
27
- status,
28
- onClose: close,
29
- messages,
30
- onSend: function(msg) {
31
- sendMessage(msg);
32
- },
33
- endChat,
34
- virtualAgent,
35
- showReconnect
36
- }
37
- )
38
- ] });
39
- };
40
- export {
41
- Chatbot
42
- };
@@ -1,4 +0,0 @@
1
- export declare const EllipsisIcon: ({ size, color }: {
2
- size?: number | undefined;
3
- color?: string | undefined;
4
- }) => import("react/jsx-runtime").JSX.Element;
@@ -1,19 +0,0 @@
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
- };
@@ -1,3 +0,0 @@
1
- export declare const authenticate: () => Promise<{
2
- token: any;
3
- }>;
@@ -1,16 +0,0 @@
1
- const AUTH_URL = process.env.AUTH_CHAT_URL || "http://localhost:3000/api/auth/token";
2
- const authenticate = async () => {
3
- const res = await fetch(AUTH_URL, {
4
- method: "GET",
5
- headers: {
6
- "Content-Type": "application/json"
7
- }
8
- });
9
- const data = await res.json();
10
- return {
11
- token: data.token
12
- };
13
- };
14
- export {
15
- authenticate
16
- };
@@ -1,9 +0,0 @@
1
- export * from './Bubble';
2
- export * from './Bubble.css';
3
- export * from './Chatbot';
4
- export * from './Chatbot.css';
5
- export * from './ChatWindow';
6
- export * from './ChatWindow.css';
7
- export * from './store/chat';
8
- export * from './store/messages';
9
- export * from './useHeadlessChat';
@@ -1,40 +0,0 @@
1
- "use client";
2
- import { Bubble } from "./Bubble.js";
3
- import { bubbleWrapper, svgFill } from "./Bubble.css.js";
4
- import { Chatbot } from "./Chatbot.js";
5
- import { chatbotAXB, chatbotUFB } from "./Chatbot.css.js";
6
- import { ChatWindow } from "./ChatWindow.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
- import { useOpenChat } from "./store/chat.js";
9
- import { useMessages } from "./store/messages.js";
10
- import { useHeadlessChat } from "./useHeadlessChat.js";
11
- export {
12
- Bubble,
13
- ChatWindow,
14
- Chatbot,
15
- arrowFill,
16
- bubbleWrapper,
17
- button_reset,
18
- chatFinishDialog,
19
- chatNetworkStatus,
20
- chat_title,
21
- chatbotAXB,
22
- chatbotMenu,
23
- chatbotMenuItem,
24
- chatbotUFB,
25
- endChatButtonStyle,
26
- inline_button,
27
- inline_button_wrapper,
28
- inputStyle,
29
- messageStyle,
30
- messagesContainerStyle,
31
- notificationStyle,
32
- sendButtonStyle,
33
- svgFill,
34
- useHeadlessChat,
35
- useMessages,
36
- useOpenChat,
37
- windowBarStyle,
38
- windowOpenStyle,
39
- windowStyle
40
- };
@@ -1,9 +0,0 @@
1
- interface OpenChatState {
2
- isOpen: boolean;
3
- toggle: () => void;
4
- open: () => void;
5
- close: () => void;
6
- reset: () => void;
7
- }
8
- export declare const useOpenChat: import('zustand').UseBoundStore<import('zustand').StoreApi<OpenChatState>>;
9
- export {};
@@ -1,11 +0,0 @@
1
- import { create } from "zustand";
2
- const useOpenChat = create((set) => ({
3
- isOpen: false,
4
- toggle: () => set((state) => ({ isOpen: !state.isOpen })),
5
- open: () => set({ isOpen: true }),
6
- close: () => set({ isOpen: false }),
7
- reset: () => set({ isOpen: false })
8
- }));
9
- export {
10
- useOpenChat
11
- };
@@ -1,15 +0,0 @@
1
- import { MessageResponse } from '@ujet/websdk-headless';
2
-
3
- interface MessageStore {
4
- messages: MessageResponse[];
5
- addMessage: (message: MessageResponse) => void;
6
- removeMessage: (id: string) => void;
7
- addMessages: (newMessages: MessageResponse[]) => void;
8
- clearMessages: () => void;
9
- }
10
- export interface Message {
11
- id: string;
12
- text: string;
13
- }
14
- export declare const useMessages: import('zustand').UseBoundStore<import('zustand').StoreApi<MessageStore>>;
15
- export {};
@@ -1,13 +0,0 @@
1
- import { create } from "zustand";
2
- const useMessages = create((set) => ({
3
- messages: [],
4
- addMessage: (message) => set((state) => ({ messages: [...state.messages, message] })),
5
- removeMessage: (id) => set((state) => ({
6
- messages: state.messages.filter((msg) => msg.id !== id)
7
- })),
8
- addMessages: (newMessages) => set((state) => ({ messages: [...state.messages, ...newMessages] })),
9
- clearMessages: () => set({ messages: [] })
10
- }));
11
- export {
12
- useMessages
13
- };
@@ -1,27 +0,0 @@
1
- import { TokenResponse } from '@ujet/websdk-headless';
2
-
3
- interface UseHeadlessChatOptions {
4
- companyId: string;
5
- tenant: string;
6
- host: string;
7
- getToken: () => Promise<TokenResponse>;
8
- channelId?: string;
9
- projectId?: "axos" | "" | "ufb" | string;
10
- debug?: boolean;
11
- menuOption?: string;
12
- }
13
- export interface ChatMessage {
14
- id: string;
15
- body: string;
16
- sender?: string;
17
- timestamp?: string;
18
- }
19
- export declare function useHeadlessChat({ companyId, tenant, host, getToken, projectId, debug, menuOption, }: UseHeadlessChatOptions): {
20
- status: "error" | "idle" | "connected" | "connecting" | "finished";
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;
26
- };
27
- export {};
@@ -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
- }