@droppii-org/chat-sdk 0.1.30 → 0.1.32
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/components/biz-thread-detail/BizLinkInputPreview.d.ts +7 -0
- package/dist/components/biz-thread-detail/BizLinkInputPreview.d.ts.map +1 -0
- package/dist/components/biz-thread-detail/BizLinkInputPreview.js +16 -0
- package/dist/components/biz-thread-detail/BizLinkMessageCard.d.ts +6 -0
- package/dist/components/biz-thread-detail/BizLinkMessageCard.d.ts.map +1 -0
- package/dist/components/biz-thread-detail/BizLinkMessageCard.js +21 -0
- package/dist/components/biz-thread-detail/BizLinkTextContent.d.ts +6 -0
- package/dist/components/biz-thread-detail/BizLinkTextContent.d.ts.map +1 -0
- package/dist/components/biz-thread-detail/BizLinkTextContent.js +11 -0
- package/dist/components/biz-thread-detail/BizMessageBubble.d.ts +2 -1
- package/dist/components/biz-thread-detail/BizMessageBubble.d.ts.map +1 -1
- package/dist/components/biz-thread-detail/BizMessageBubble.js +1 -1
- package/dist/components/biz-thread-detail/BizMessageContent.d.ts +7 -0
- package/dist/components/biz-thread-detail/BizMessageContent.d.ts.map +1 -0
- package/dist/components/biz-thread-detail/BizMessageContent.js +26 -0
- package/dist/components/biz-thread-detail/BizThreadDetailInput.d.ts.map +1 -1
- package/dist/components/biz-thread-detail/BizThreadDetailInput.js +15 -4
- package/dist/components/biz-thread-detail/item/BizMessageItem.d.ts.map +1 -1
- package/dist/components/biz-thread-detail/item/BizMessageItem.js +3 -2
- package/dist/hooks/biz/useBizSendMessage.d.ts.map +1 -1
- package/dist/hooks/biz/useBizSendMessage.js +6 -2
- package/dist/hooks/common/useFetchUrlMetadata.d.ts +9 -0
- package/dist/hooks/common/useFetchUrlMetadata.d.ts.map +1 -0
- package/dist/hooks/common/useFetchUrlMetadata.js +21 -0
- package/dist/locales/vi/biz-inbox.json +6 -1
- package/dist/services/query.d.ts +1 -0
- package/dist/services/query.d.ts.map +1 -1
- package/dist/services/query.js +1 -0
- package/dist/services/routes.d.ts +1 -0
- package/dist/services/routes.d.ts.map +1 -1
- package/dist/services/routes.js +1 -0
- package/dist/styles/global.css +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/bizLink.d.ts +13 -0
- package/dist/utils/bizLink.d.ts.map +1 -0
- package/dist/utils/bizLink.js +77 -0
- package/dist/utils/bizMessage.d.ts.map +1 -1
- package/dist/utils/bizMessage.js +4 -1
- package/dist/utils/openBizLink.d.ts +3 -0
- package/dist/utils/openBizLink.d.ts.map +1 -0
- package/dist/utils/openBizLink.js +18 -0
- package/package.json +127 -126
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface BizLinkInputPreviewProps {
|
|
2
|
+
url: string;
|
|
3
|
+
onRemove: () => void;
|
|
4
|
+
}
|
|
5
|
+
declare const BizLinkInputPreview: ({ url, onRemove }: BizLinkInputPreviewProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export default BizLinkInputPreview;
|
|
7
|
+
//# sourceMappingURL=BizLinkInputPreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BizLinkInputPreview.d.ts","sourceRoot":"","sources":["../../../src/components/biz-thread-detail/BizLinkInputPreview.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,QAAA,MAAM,mBAAmB,GAAI,mBAAmB,wBAAwB,4CAoEvE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Icon } from "../../components/icon";
|
|
4
|
+
import { useFetchUrlMetadata } from "../../hooks/common/useFetchUrlMetadata";
|
|
5
|
+
import { getHostLabel } from "../../utils/bizLink";
|
|
6
|
+
import { openBizLink } from "../../utils/openBizLink";
|
|
7
|
+
import { useTranslation } from "react-i18next";
|
|
8
|
+
const BizLinkInputPreview = ({ url, onRemove }) => {
|
|
9
|
+
const { t } = useTranslation("biz-inbox");
|
|
10
|
+
const { data, isLoading, isError } = useFetchUrlMetadata(url);
|
|
11
|
+
const handleOpen = () => {
|
|
12
|
+
openBizLink(url, t);
|
|
13
|
+
};
|
|
14
|
+
return (_jsxs("div", { "data-testid": "biz-link-input-preview", className: "flex w-full shrink-0 items-center gap-2 overflow-hidden bg-[#EAF5FF] pr-2", children: [_jsxs("button", { type: "button", onClick: handleOpen, className: "flex min-w-0 flex-1 items-center gap-2 py-0 pl-0 text-left", children: [_jsx("div", { className: "flex h-[51px] w-[51px] shrink-0 items-center justify-center overflow-hidden bg-[#EAF5FF]", children: isLoading ? (_jsx("div", { className: "h-5 w-5 animate-spin rounded-full border-2 border-[#1B3FE4] border-t-transparent" })) : (data === null || data === void 0 ? void 0 : data.image) ? (_jsx("img", { src: data.image, alt: "", className: "h-full w-full object-cover" })) : (_jsx(Icon, { icon: "link-alt-b", size: 24, className: "text-[#1B3FE4]" })) }), _jsxs("div", { className: "min-w-0 flex-1", children: [isLoading ? (_jsx("p", { className: "truncate text-[14px] font-medium leading-[1.6] text-[#393E40]", children: t("link_preview.loading") })) : (_jsxs(_Fragment, { children: [_jsx("p", { className: "truncate text-[14px] font-medium leading-[1.6] text-[#393E40]", children: (data === null || data === void 0 ? void 0 : data.title) || getHostLabel(url) }), ((data === null || data === void 0 ? void 0 : data.description) || !(data === null || data === void 0 ? void 0 : data.title)) && (_jsx("p", { className: "truncate text-[13px] leading-[1.6] text-[#747B7E]", children: (data === null || data === void 0 ? void 0 : data.description) || getHostLabel(url) }))] })), isError && !isLoading && (_jsx("p", { className: "truncate text-[13px] leading-[1.6] text-[#747B7E]", children: getHostLabel(url) }))] })] }), _jsx("button", { type: "button", onClick: onRemove, "data-testid": "biz-link-input-preview-remove", className: "flex h-4 w-4 shrink-0 items-center justify-center", "aria-label": t("link_preview.remove"), children: _jsx(Icon, { icon: "close-b", size: 16, className: "text-[#393E40]" }) })] }));
|
|
15
|
+
};
|
|
16
|
+
export default BizLinkInputPreview;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface BizLinkMessageCardProps {
|
|
2
|
+
url: string;
|
|
3
|
+
}
|
|
4
|
+
declare const BizLinkMessageCard: ({ url }: BizLinkMessageCardProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
5
|
+
export default BizLinkMessageCard;
|
|
6
|
+
//# sourceMappingURL=BizLinkMessageCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BizLinkMessageCard.d.ts","sourceRoot":"","sources":["../../../src/components/biz-thread-detail/BizLinkMessageCard.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,QAAA,MAAM,kBAAkB,GAAI,SAAS,uBAAuB,mDA+D3D,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useTranslation } from "react-i18next";
|
|
4
|
+
import { useFetchUrlMetadata } from "../../hooks/common/useFetchUrlMetadata";
|
|
5
|
+
import { getHostLabel } from "../../utils/bizLink";
|
|
6
|
+
import { openBizLink } from "../../utils/openBizLink";
|
|
7
|
+
const BizLinkMessageCard = ({ url }) => {
|
|
8
|
+
const { t } = useTranslation("biz-inbox");
|
|
9
|
+
const { data, isLoading } = useFetchUrlMetadata(url);
|
|
10
|
+
if (isLoading) {
|
|
11
|
+
return (_jsxs("div", { "data-testid": "biz-link-message-card-loading", className: "flex w-full max-w-[292px] flex-col overflow-hidden rounded-[12px] border border-[rgba(57,62,64,0.1)] bg-white", children: [_jsx("div", { className: "flex aspect-[1920/1080] w-full items-center justify-center bg-[#EAF5FF]", children: _jsx("div", { className: "h-6 w-6 animate-spin rounded-full border-2 border-[#1B3FE4] border-t-transparent" }) }), _jsxs("div", { className: "flex flex-col gap-1 px-3 py-2", children: [_jsx("div", { className: "h-4 w-2/3 animate-pulse rounded bg-[#EFEFEF]" }), _jsx("div", { className: "h-3 w-1/3 animate-pulse rounded bg-[#EFEFEF]" })] })] }));
|
|
12
|
+
}
|
|
13
|
+
if (!(data === null || data === void 0 ? void 0 : data.title) && !(data === null || data === void 0 ? void 0 : data.description) && !(data === null || data === void 0 ? void 0 : data.image)) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const handleOpen = () => {
|
|
17
|
+
openBizLink(url, t);
|
|
18
|
+
};
|
|
19
|
+
return (_jsxs("button", { type: "button", onClick: handleOpen, "data-testid": "biz-link-message-card", className: "flex w-full max-w-[292px] flex-col overflow-hidden rounded-[12px] border border-[rgba(57,62,64,0.1)] bg-white text-left", children: [(data === null || data === void 0 ? void 0 : data.image) && (_jsx("div", { className: "aspect-[16/9] w-full overflow-hidden", children: _jsx("img", { src: data.image, alt: "", className: "h-full w-full object-cover" }) })), _jsxs("div", { className: "flex flex-col px-3 py-2", children: [(data === null || data === void 0 ? void 0 : data.title) && (_jsx("p", { className: "truncate text-[14px] font-medium leading-[1.6] text-[#393E40]", children: data.title })), _jsx("p", { className: "truncate text-[12px] font-medium leading-[1.6] tracking-[0.12px] text-[#1B3FE4]", children: getHostLabel(url) }), (data === null || data === void 0 ? void 0 : data.description) && (_jsx("p", { className: "line-clamp-2 text-[12px] leading-[1.6] text-[#5C6366]", children: data.description }))] })] }));
|
|
20
|
+
};
|
|
21
|
+
export default BizLinkMessageCard;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BizLinkTextContent.d.ts","sourceRoot":"","sources":["../../../src/components/biz-thread-detail/BizLinkTextContent.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,QAAA,MAAM,kBAAkB,GAAI,UAAU,uBAAuB,4CAsB5D,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useTranslation } from "react-i18next";
|
|
4
|
+
import { parseBizTextWithLinks } from "../../utils/bizLink";
|
|
5
|
+
import { openBizLink } from "../../utils/openBizLink";
|
|
6
|
+
const BizLinkTextContent = ({ text }) => {
|
|
7
|
+
const { t } = useTranslation("biz-inbox");
|
|
8
|
+
const segments = parseBizTextWithLinks(text);
|
|
9
|
+
return (_jsx("span", { className: "whitespace-pre-wrap break-words text-[16px] leading-[160%] tracking-[0.16px] text-[#393E40]", children: segments.map((segment, index) => segment.type === "link" ? (_jsx("button", { type: "button", onClick: () => openBizLink(segment.url, t), className: "inline font-medium text-[#1B3FE4] underline-offset-2 hover:underline", children: segment.value }, `${segment.url}-${index}`)) : (_jsx("span", { children: segment.value }, `text-${index}`))) }));
|
|
10
|
+
};
|
|
11
|
+
export default BizLinkTextContent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BizMessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/biz-thread-detail/BizMessageBubble.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BizMessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/biz-thread-detail/BizMessageBubble.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA6BD,QAAA,MAAM,gBAAgB,GAAI,2DAMvB,qBAAqB,4CA8BvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -10,6 +10,6 @@ const BizMessageBubble = ({ isMine, content, senderName, showSenderName, showTip
|
|
|
10
10
|
? "rounded-[20px] rounded-br-none"
|
|
11
11
|
: "rounded-[20px] rounded-bl-none"
|
|
12
12
|
: "rounded-[20px]", isMine ? "bg-[rgba(0,81,255,0.1)]" : "bg-[rgba(131,137,157,0.1)]");
|
|
13
|
-
return (_jsxs("div", { className: "relative flex items-end", "data-testid": "biz-message-bubble", children: [!isMine && showTip && _jsx(BizMessageBubbleTail, { isMine: isMine }), _jsx("div", { className: bubbleClass, children: _jsxs("div", { className: "flex flex-col gap-1 px-1", children: [showSenderName && senderName && (_jsx("span", { className: "text-[12px] font-medium leading-[160%] tracking-[0.12px] text-[#747B7E]", children: senderName })), _jsx("
|
|
13
|
+
return (_jsxs("div", { className: "relative flex items-end", "data-testid": "biz-message-bubble", children: [!isMine && showTip && _jsx(BizMessageBubbleTail, { isMine: isMine }), _jsx("div", { className: bubbleClass, children: _jsxs("div", { className: "flex flex-col gap-1 px-1", children: [showSenderName && senderName && (_jsx("span", { className: "text-[12px] font-medium leading-[160%] tracking-[0.12px] text-[#747B7E]", children: senderName })), _jsx("div", { className: "flex flex-col gap-2", children: content })] }) }), isMine && showTip && _jsx(BizMessageBubbleTail, { isMine: isMine })] }));
|
|
14
14
|
};
|
|
15
15
|
export default BizMessageBubble;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MessageItem } from "@openim/wasm-client-sdk";
|
|
2
|
+
export interface BizMessageContentProps {
|
|
3
|
+
message: MessageItem;
|
|
4
|
+
}
|
|
5
|
+
declare const BizMessageContent: ({ message }: BizMessageContentProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
+
export default BizMessageContent;
|
|
7
|
+
//# sourceMappingURL=BizMessageContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BizMessageContent.d.ts","sourceRoot":"","sources":["../../../src/components/biz-thread-detail/BizMessageContent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAe,MAAM,yBAAyB,CAAC;AAKnE,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,QAAA,MAAM,iBAAiB,GAAI,aAAa,sBAAsB,mDAoC7D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { MessageType } from "@openim/wasm-client-sdk";
|
|
4
|
+
import BizLinkMessageCard from "./BizLinkMessageCard";
|
|
5
|
+
import BizLinkTextContent from "./BizLinkTextContent";
|
|
6
|
+
import { extractBizLinkUrls } from "../../utils/bizLink";
|
|
7
|
+
const BizMessageContent = ({ message }) => {
|
|
8
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
9
|
+
const text = (_e = (_d = (_b = (_a = message.textElem) === null || _a === void 0 ? void 0 : _a.content) !== null && _b !== void 0 ? _b : (_c = message.urlTextElem) === null || _c === void 0 ? void 0 : _c.content) !== null && _d !== void 0 ? _d : message.content) !== null && _e !== void 0 ? _e : "";
|
|
10
|
+
const hasLinks = text ? extractBizLinkUrls(text).length > 0 : false;
|
|
11
|
+
if (message.contentType === MessageType.UrlTextMessage) {
|
|
12
|
+
const urls = (_g = (_f = message.urlTextElem) === null || _f === void 0 ? void 0 : _f.urls) !== null && _g !== void 0 ? _g : [];
|
|
13
|
+
const singleLink = urls.length === 1 ? urls[0] : null;
|
|
14
|
+
if (singleLink) {
|
|
15
|
+
return (_jsxs("div", { className: "flex max-w-[292px] flex-col gap-2", children: [text && _jsx(BizLinkTextContent, { text: text }), _jsx(BizLinkMessageCard, { url: singleLink })] }));
|
|
16
|
+
}
|
|
17
|
+
return text ? _jsx(BizLinkTextContent, { text: text }) : null;
|
|
18
|
+
}
|
|
19
|
+
if (!text)
|
|
20
|
+
return null;
|
|
21
|
+
if (hasLinks) {
|
|
22
|
+
return _jsx(BizLinkTextContent, { text: text });
|
|
23
|
+
}
|
|
24
|
+
return (_jsx("p", { className: "whitespace-pre-wrap break-words text-[16px] leading-[160%] tracking-[0.16px] text-[#393E40]", children: text }));
|
|
25
|
+
};
|
|
26
|
+
export default BizMessageContent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BizThreadDetailInput.d.ts","sourceRoot":"","sources":["../../../src/components/biz-thread-detail/BizThreadDetailInput.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BizThreadDetailInput.d.ts","sourceRoot":"","sources":["../../../src/components/biz-thread-detail/BizThreadDetailInput.tsx"],"names":[],"mappings":"AAgBA,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,QAAA,MAAM,oBAAoB,GAAI,gDAI3B,yBAAyB,4CA0N3B,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
4
4
|
import { useTranslation } from "react-i18next";
|
|
5
5
|
import clsx from "clsx";
|
|
6
6
|
import { Icon } from "../../components/icon";
|
|
@@ -8,6 +8,8 @@ import { useBizSendMessage } from "../../hooks/biz/useBizSendMessage";
|
|
|
8
8
|
import useBizConversationStore from "../../store/bizConversation";
|
|
9
9
|
import useBizMessageDraftStore from "../../store/bizMessageDraft";
|
|
10
10
|
import { emit } from "../../utils/events";
|
|
11
|
+
import { extractBizLinkUrls } from "../../utils/bizLink";
|
|
12
|
+
import BizLinkInputPreview from "./BizLinkInputPreview";
|
|
11
13
|
const MAX_LINES = 5;
|
|
12
14
|
const CONTAINER_MIN_HEIGHT = 48;
|
|
13
15
|
const BizThreadDetailInput = ({ placeholder, onSendMessage, onInputChange, }) => {
|
|
@@ -21,6 +23,15 @@ const BizThreadDetailInput = ({ placeholder, onSendMessage, onInputChange, }) =>
|
|
|
21
23
|
const [value, setValue] = useState("");
|
|
22
24
|
const [isFocused, setIsFocused] = useState(false);
|
|
23
25
|
const [isSending, setIsSending] = useState(false);
|
|
26
|
+
const [previewDismissed, setPreviewDismissed] = useState(false);
|
|
27
|
+
const previewUrl = useMemo(() => {
|
|
28
|
+
const urls = extractBizLinkUrls(value);
|
|
29
|
+
return urls.length === 1 ? urls[0] : null;
|
|
30
|
+
}, [value]);
|
|
31
|
+
const showLinkPreview = !!previewUrl && !previewDismissed;
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
setPreviewDismissed(false);
|
|
34
|
+
}, [previewUrl]);
|
|
24
35
|
const canSend = value.trim().length > 0 && !isSending;
|
|
25
36
|
const getTextareaHeights = useCallback(() => {
|
|
26
37
|
const textarea = textareaRef.current;
|
|
@@ -140,8 +151,8 @@ const BizThreadDetailInput = ({ placeholder, onSendMessage, onInputChange, }) =>
|
|
|
140
151
|
event.preventDefault();
|
|
141
152
|
void handleSend();
|
|
142
153
|
};
|
|
143
|
-
return (
|
|
144
|
-
|
|
145
|
-
|
|
154
|
+
return (_jsxs("div", { ref: containerRef, "data-testid": "biz-thread-detail-input", className: "flex w-full shrink-0 flex-col bg-[rgba(131,137,157,0.05)]", children: [showLinkPreview && previewUrl && (_jsx(BizLinkInputPreview, { url: previewUrl, onRemove: () => setPreviewDismissed(true) })), _jsxs("div", { className: "flex items-end gap-3 px-3 py-2", children: [_jsx("div", { className: clsx("flex min-w-0 flex-1 overflow-hidden rounded-xl border bg-white transition-shadow", isFocused
|
|
155
|
+
? "border-[#607CFB] shadow-[0px_0px_2px_rgba(27,63,228,0.5)]"
|
|
156
|
+
: "border-[#DDDEDF]"), style: { minHeight: CONTAINER_MIN_HEIGHT }, children: _jsx("div", { className: "flex min-w-0 flex-[1_0_0] items-center gap-2 self-stretch px-3 py-1", children: _jsx("textarea", { ref: textareaRef, value: value, rows: 1, onChange: (event) => handleChange(event.target.value), onFocus: handleFocus, onBlur: handleBlur, onKeyDown: handleKeyDown, placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : t("thread_detail.input_placeholder"), "data-testid": "biz-thread-detail-message-input", className: "biz-message-input-scrollbar min-h-0 min-w-0 flex-1 resize-none appearance-none border-0 bg-transparent p-0 text-[16px] leading-[1.6] tracking-[0.16px] text-black outline-none ring-0 placeholder:text-[#747B7E] focus:border-0 focus:outline-none focus:ring-0" }) }) }), _jsx("div", { className: "flex shrink-0 items-center pb-1", children: _jsx("button", { type: "button", onClick: () => void handleSend(), disabled: !canSend, "data-testid": "biz-thread-detail-send", className: clsx("flex h-10 w-10 items-center justify-center rounded-full", canSend ? "bg-[#002BEB]" : "bg-[#002BEB] opacity-25"), children: _jsx(Icon, { icon: "send-b", size: 20, className: "text-white" }) }) })] })] }));
|
|
146
157
|
};
|
|
147
158
|
export default BizThreadDetailInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BizMessageItem.d.ts","sourceRoot":"","sources":["../../../../src/components/biz-thread-detail/item/BizMessageItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"BizMessageItem.d.ts","sourceRoot":"","sources":["../../../../src/components/biz-thread-detail/item/BizMessageItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAStD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAyBD,QAAA,MAAM,cAAc,GAAI,wCAIrB,mBAAmB,mDA0DrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { visibleTypeMessage } from "../../../hooks/message/useMessage";
|
|
|
6
6
|
import { formatTimestamp } from "../../../utils/common";
|
|
7
7
|
import { getBizMessageDisplay, shouldHideBizMessage } from "../../../utils/bizMessage";
|
|
8
8
|
import BizMessageBubble from "../BizMessageBubble";
|
|
9
|
+
import BizMessageContent from "../BizMessageContent";
|
|
9
10
|
const BizMessageAvatar = ({ avatarUrl }) => avatarUrl ? (_jsx("img", { src: avatarUrl, alt: "", className: "h-6 w-6 shrink-0 self-end rounded-full object-cover" })) : (_jsx("div", { className: "flex h-6 w-6 shrink-0 items-center justify-center self-end rounded-full bg-[#0C5CFF]", children: _jsx(Icon, { icon: "droppii-o-1", size: 14, className: "text-white" }) }));
|
|
10
11
|
const BizMessageTime = ({ sendTime }) => (_jsx("div", { className: "flex w-full items-center px-4 py-1", children: _jsx("div", { className: "flex min-w-0 flex-1 flex-col items-start", children: _jsx("p", { className: "w-full break-words text-center text-[12px] font-normal leading-[160%] tracking-normal text-[#747B7E]", children: formatTimestamp(sendTime, { hasTime: true }) }) }) }));
|
|
11
12
|
const BizMessageItem = ({ message, allMessages, isGroupChat = false, }) => {
|
|
@@ -19,8 +20,8 @@ const BizMessageItem = ({ message, allMessages, isGroupChat = false, }) => {
|
|
|
19
20
|
const display = getBizMessageDisplay(message, allMessages, userID, isGroupChat);
|
|
20
21
|
if (!display.isMine) {
|
|
21
22
|
return (_jsxs("div", { className: "flex w-full flex-col pb-1", "data-testid": "biz-message-item", children: [display.showTimeBreak && _jsx(BizMessageTime, { sendTime: display.sendTime }), _jsxs("div", { className: "flex w-full items-end gap-1 pl-3 pr-12", children: [isGroupChat &&
|
|
22
|
-
(display.showAvatar ? (_jsx(BizMessageAvatar, { avatarUrl: display.senderFaceUrl })) : (_jsx("div", { className: "h-6 w-6 shrink-0 self-end" }))), _jsx("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: _jsx(BizMessageBubble, { isMine: display.isMine, content:
|
|
23
|
+
(display.showAvatar ? (_jsx(BizMessageAvatar, { avatarUrl: display.senderFaceUrl })) : (_jsx("div", { className: "h-6 w-6 shrink-0 self-end" }))), _jsx("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: _jsx(BizMessageBubble, { isMine: display.isMine, content: _jsx(BizMessageContent, { message: message }), senderName: display.senderName, showSenderName: display.showSenderName, showTip: display.showTip }) })] })] }));
|
|
23
24
|
}
|
|
24
|
-
return (_jsxs("div", { className: "flex w-full flex-col pb-1", "data-testid": "biz-message-item", children: [display.showTimeBreak && _jsx(BizMessageTime, { sendTime: display.sendTime }), _jsx("div", { className: "flex w-full justify-end pl-12 pr-3", children: _jsx("div", { className: "flex min-w-0 max-w-[calc(100%-48px)] flex-col items-end gap-1", children: _jsx(BizMessageBubble, { isMine: display.isMine, content:
|
|
25
|
+
return (_jsxs("div", { className: "flex w-full flex-col pb-1", "data-testid": "biz-message-item", children: [display.showTimeBreak && _jsx(BizMessageTime, { sendTime: display.sendTime }), _jsx("div", { className: "flex w-full justify-end pl-12 pr-3", children: _jsx("div", { className: "flex min-w-0 max-w-[calc(100%-48px)] flex-col items-end gap-1", children: _jsx(BizMessageBubble, { isMine: display.isMine, content: _jsx(BizMessageContent, { message: message }), showTip: display.showTip }) }) })] }));
|
|
25
26
|
};
|
|
26
27
|
export default BizMessageItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBizSendMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/biz/useBizSendMessage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useBizSendMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/biz/useBizSendMessage.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,iBAAiB;iCAQR,MAAM;CAsE3B,CAAC"}
|
|
@@ -2,11 +2,12 @@ import { useCallback } from "react";
|
|
|
2
2
|
import { MessageStatus } from "@openim/wasm-client-sdk";
|
|
3
3
|
import { useTranslation } from "react-i18next";
|
|
4
4
|
import { DChatSDK } from "../../constants/sdk";
|
|
5
|
-
import { createTextMessage, } from "../../hooks/message/useSendMessage";
|
|
5
|
+
import { createTextMessage, createUrlTextMessage, } from "../../hooks/message/useSendMessage";
|
|
6
6
|
import { pushNewMessage, updateOneMessage } from "../../hooks/message/useMessage";
|
|
7
7
|
import useBizConversationStore from "../../store/bizConversation";
|
|
8
8
|
import { isBizGroupMessageTarget, resolveBizAvatarUrl, resolveBizDisplayName, } from "../../utils/bizConversation";
|
|
9
9
|
import { generateContentBasedOnMessageType } from "../../utils/common";
|
|
10
|
+
import { extractBizLinkUrls } from "../../utils/bizLink";
|
|
10
11
|
import { emit } from "../../utils/events";
|
|
11
12
|
export const useBizSendMessage = () => {
|
|
12
13
|
const { t } = useTranslation("common");
|
|
@@ -25,7 +26,10 @@ export const useBizSendMessage = () => {
|
|
|
25
26
|
}
|
|
26
27
|
const recvID = isGroup ? "" : peerId;
|
|
27
28
|
const groupID = isGroup ? peerId : "";
|
|
28
|
-
const
|
|
29
|
+
const urls = extractBizLinkUrls(text);
|
|
30
|
+
const message = urls.length > 0
|
|
31
|
+
? await createUrlTextMessage(text, urls)
|
|
32
|
+
: await createTextMessage(text);
|
|
29
33
|
if (!message)
|
|
30
34
|
return false;
|
|
31
35
|
const messageItem = Object.assign(Object.assign({}, message), { ex: "{}", isInternal: false });
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface UrlMetadata {
|
|
2
|
+
title?: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
image?: string;
|
|
5
|
+
url: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const fetchUrlMetadata: (url: string) => Promise<UrlMetadata | null>;
|
|
8
|
+
export declare const useFetchUrlMetadata: (url: string, enabled?: boolean) => import("@tanstack/react-query").UseQueryResult<UrlMetadata | null, Error>;
|
|
9
|
+
//# sourceMappingURL=useFetchUrlMetadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFetchUrlMetadata.d.ts","sourceRoot":"","sources":["../../../src/hooks/common/useFetchUrlMetadata.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,gBAAgB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAY9E,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,EAAE,iBAAc,8EAO3D,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useQuery } from "@tanstack/react-query";
|
|
2
|
+
import { apiInstance } from "../../services/api";
|
|
3
|
+
import { ENDPOINTS } from "../../services/routes";
|
|
4
|
+
import { QUERY_KEYS } from "../../services/query";
|
|
5
|
+
export const fetchUrlMetadata = async (url) => {
|
|
6
|
+
var _a;
|
|
7
|
+
if (!url)
|
|
8
|
+
return null;
|
|
9
|
+
const response = await apiInstance.get(ENDPOINTS.chatService.getUrlMetadata, { params: { url } });
|
|
10
|
+
const data = (_a = response.data) === null || _a === void 0 ? void 0 : _a.data;
|
|
11
|
+
if (!data)
|
|
12
|
+
return null;
|
|
13
|
+
return Object.assign(Object.assign({}, data), { url });
|
|
14
|
+
};
|
|
15
|
+
export const useFetchUrlMetadata = (url, enabled = true) => useQuery({
|
|
16
|
+
queryKey: [QUERY_KEYS.FETCH_URL_METADATA, url],
|
|
17
|
+
queryFn: () => fetchUrlMetadata(url),
|
|
18
|
+
enabled: enabled && !!url,
|
|
19
|
+
retry: 0,
|
|
20
|
+
staleTime: 5 * 60 * 1000,
|
|
21
|
+
});
|
|
@@ -17,5 +17,10 @@
|
|
|
17
17
|
"thread_detail": {
|
|
18
18
|
"profile_hint": "Nhấn để xem thông tin",
|
|
19
19
|
"input_placeholder": "Nhập tin nhắn..."
|
|
20
|
-
}
|
|
20
|
+
},
|
|
21
|
+
"link_preview": {
|
|
22
|
+
"loading": "Đang tải xem trước liên kết...",
|
|
23
|
+
"remove": "Xóa xem trước liên kết"
|
|
24
|
+
},
|
|
25
|
+
"link_open_error": "Không thể mở liên kết. Vui lòng thử lại."
|
|
21
26
|
}
|
package/dist/services/query.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/services/query.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/services/query.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCtB,CAAC"}
|
package/dist/services/query.js
CHANGED
|
@@ -5,6 +5,7 @@ export const QUERY_KEYS = {
|
|
|
5
5
|
SEARCH_MESSAGE: "SEARCH_MESSAGE",
|
|
6
6
|
UPDATE_SESSION: "UPDATE_SESSION",
|
|
7
7
|
FETCH_EXTERNAL_LINK: "FETCH_EXTERNAL_LINK",
|
|
8
|
+
FETCH_URL_METADATA: "FETCH_URL_METADATA",
|
|
8
9
|
GET_USER_SIDE_INFO: "GET_USER_SIDE_INFO",
|
|
9
10
|
UPDATE_NOTE: "UPDATE_NOTE",
|
|
10
11
|
CREATE_NOTE: "CREATE_NOTE",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/services/routes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;mCAMS,MAAM;;0CAGC,MAAM,UAAU,MAAM;6BAEnC,MAAM;;oDAEiB,MAAM;uCAEnB,MAAM;kCAEX,MAAM;;oCAGJ,MAAM;mCAEP,MAAM;uCAEF,MAAM;;;;;;;;iCASZ,MAAM;4CAEK,MAAM
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/services/routes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;mCAMS,MAAM;;0CAGC,MAAM,UAAU,MAAM;6BAEnC,MAAM;;oDAEiB,MAAM;uCAEnB,MAAM;kCAEX,MAAM;;oCAGJ,MAAM;mCAEP,MAAM;uCAEF,MAAM;;;;;;;;iCASZ,MAAM;4CAEK,MAAM;;;;;;;;;;;;;CAc7C,CAAC"}
|
package/dist/services/routes.js
CHANGED
|
@@ -29,6 +29,7 @@ export const ENDPOINTS = {
|
|
|
29
29
|
getConversationsImDetail: "/chat-service/v1/crm/conversations/im-detail",
|
|
30
30
|
getBizConversations: "/chat-service/v1/app/conversations/query",
|
|
31
31
|
createBizConversation: "/chat-service/v1/app/conversations",
|
|
32
|
+
getUrlMetadata: "/chat-service/v1/utils/url-metadata",
|
|
32
33
|
},
|
|
33
34
|
identityService: {
|
|
34
35
|
getToken: "/identity-service/v1/identity/get-token",
|
package/dist/styles/global.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-bottom-px{bottom:-1px}.-right-px{right:-1px}.bottom-0{bottom:0}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:.75rem}.right-0{right:0}.right-\[-8px\]{right:-8px}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-\[-8px\]{top:-8px}.\!z-\[9999\]{z-index:9999!important}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mr-1\.5{margin-right:-.375rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-\[-4px\]{margin-bottom:-4px}.ml-2{margin-left:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-\[2px\]{margin-top:2px}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.\!h-full{height:100%!important}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[17px\]{height:17px}.h-\[32px\]{height:32px}.h-\[36px\]{height:36px}.h-\[3px\]{height:3px}.h-\[400px\]{height:400px}.h-\[48px\]{height:48px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.max-h-48{max-height:12rem}.max-h-72{max-height:18rem}.max-h-\[140px\]{max-height:140px}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.min-h-40{min-height:10rem}.min-h-6{min-height:1.5rem}.min-h-\[25\.6px\]{min-height:25.6px}.min-h-\[32px\]{min-height:32px}.min-h-\[64px\]{min-height:64px}.w-1{width:.25rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[170px\]{width:170px}.w-\[320px\]{width:320px}.w-\[32px\]{width:32px}.w-\[330px\]{width:330px}.w-\[36px\]{width:36px}.w-\[400px\]{width:400px}.w-\[48px\]{width:48px}.w-\[600px\]{width:600px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-5{min-width:1.25rem}.min-w-6{min-width:1.5rem}.min-w-8{min-width:2rem}.min-w-\[100px\]{min-width:100px}.max-w-\[200px\]{max-width:200px}.max-w-\[75\%\]{max-width:75%}.max-w-\[calc\(100\%-48px\)\]{max-width:calc(100% - 48px)}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-\[1_0_0\]{flex:1 0 0}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-px{gap:1px}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-normal{overflow-wrap:normal;word-break:normal}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[20px\]{border-radius:20px}.rounded-\[32px\]{border-radius:32px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-bl-none{border-bottom-left-radius:0}.rounded-br-none{border-bottom-right-radius:0}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[\#607CFB\]{--tw-border-opacity:1;border-color:rgb(96 124 251/var(--tw-border-opacity,1))}.border-\[\#DDDEDF\]{--tw-border-opacity:1;border-color:rgb(221 222 223/var(--tw-border-opacity,1))}.border-\[\#EFEFEF\]{--tw-border-opacity:1;border-color:rgb(239 239 239/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-l-blue-500{--tw-border-opacity:1;border-left-color:rgb(59 130 246/var(--tw-border-opacity,1))}.\!bg-amber-100{--tw-bg-opacity:1!important;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))!important}.\!bg-amber-500{--tw-bg-opacity:1!important;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))!important}.\!bg-blue-100{--tw-bg-opacity:1!important;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))!important}.\!bg-blue-500{--tw-bg-opacity:1!important;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))!important}.\!bg-gray-100{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))!important}.\!bg-gray-500{--tw-bg-opacity:1!important;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))!important}.\!bg-green-100{--tw-bg-opacity:1!important;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))!important}.\!bg-green-500{--tw-bg-opacity:1!important;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))!important}.\!bg-orange-100{--tw-bg-opacity:1!important;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))!important}.\!bg-orange-500{--tw-bg-opacity:1!important;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))!important}.\!bg-purple-100{--tw-bg-opacity:1!important;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))!important}.\!bg-purple-500{--tw-bg-opacity:1!important;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))!important}.\!bg-red-100{--tw-bg-opacity:1!important;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))!important}.\!bg-red-500{--tw-bg-opacity:1!important;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))!important}.bg-\[\#002BEB\]{--tw-bg-opacity:1;background-color:rgb(0 43 235/var(--tw-bg-opacity,1))}.bg-\[\#0C5CFF\]{--tw-bg-opacity:1;background-color:rgb(12 92 255/var(--tw-bg-opacity,1))}.bg-\[\#1B3FE4\]{--tw-bg-opacity:1;background-color:rgb(27 63 228/var(--tw-bg-opacity,1))}.bg-\[\#59ABFF\]{--tw-bg-opacity:1;background-color:rgb(89 171 255/var(--tw-bg-opacity,1))}.bg-\[\#607CFB\]{--tw-bg-opacity:1;background-color:rgb(96 124 251/var(--tw-bg-opacity,1))}.bg-\[\#F28504\]{--tw-bg-opacity:1;background-color:rgb(242 133 4/var(--tw-bg-opacity,1))}.bg-\[rgba\(0\2c 81\2c 255\2c 0\.1\)\]{background-color:rgba(0,81,255,.1)}.bg-\[rgba\(131\2c 137\2c 157\2c 0\.05\)\]{background-color:rgba(131,137,157,.05)}.bg-\[rgba\(131\2c 137\2c 157\2c 0\.1\)\]{background-color:rgba(131,137,157,.1)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-\[linear-gradient\(93deg\2c \#607CFB_0\%\2c \#1B3FE4_100\%\)\]{background-image:linear-gradient(93deg,#607cfb,#1b3fe4)}.bg-\[linear-gradient\(93deg\2c \#FF7D74_0\%\2c \#F04438_100\%\)\]{background-image:linear-gradient(93deg,#ff7d74,#f04438)}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-0{padding:0!important}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[3px\]{padding-left:3px;padding-right:3px}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-60{padding-bottom:15rem}.pl-12{padding-left:3rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.\!align-\[-4px\]{vertical-align:-4px!important}.\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-\[510\]{font-weight:510}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-3{line-height:.75rem}.leading-\[1\.6\]{line-height:1.6}.leading-\[160\%\]{line-height:160%}.leading-none{line-height:1}.tracking-\[0\.12px\]{letter-spacing:.12px}.tracking-\[0\.14px\]{letter-spacing:.14px}.tracking-\[0\.16px\]{letter-spacing:.16px}.tracking-\[0\.1px\]{letter-spacing:.1px}.tracking-normal{letter-spacing:0}.tracking-wider{letter-spacing:.05em}.\!text-amber-500{--tw-text-opacity:1!important;color:rgb(245 158 11/var(--tw-text-opacity,1))!important}.\!text-blue-500{--tw-text-opacity:1!important;color:rgb(59 130 246/var(--tw-text-opacity,1))!important}.\!text-gray-500{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity,1))!important}.\!text-green-500{--tw-text-opacity:1!important;color:rgb(34 197 94/var(--tw-text-opacity,1))!important}.\!text-orange-400{--tw-text-opacity:1!important;color:rgb(251 146 60/var(--tw-text-opacity,1))!important}.\!text-orange-500{--tw-text-opacity:1!important;color:rgb(249 115 22/var(--tw-text-opacity,1))!important}.\!text-purple-500{--tw-text-opacity:1!important;color:rgb(168 85 247/var(--tw-text-opacity,1))!important}.\!text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity,1))!important}.text-\[\#1B3FE4\]{--tw-text-opacity:1;color:rgb(27 63 228/var(--tw-text-opacity,1))}.text-\[\#393E40\]{--tw-text-opacity:1;color:rgb(57 62 64/var(--tw-text-opacity,1))}.text-\[\#5C6366\]{--tw-text-opacity:1;color:rgb(92 99 102/var(--tw-text-opacity,1))}.text-\[\#747B7E\]{--tw-text-opacity:1;color:rgb(116 123 126/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.\!shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow-\[0px_0px_2px_rgba\(27\2c 63\2c 228\2c 0\.5\)\]{--tw-shadow:0px 0px 2px rgba(27,63,228,.5);--tw-shadow-colored:0px 0px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0px_-1px_0px_0px_rgba\(61\2c 63\2c 64\2c 0\.1\)\]{--tw-shadow:inset 0px -1px 0px 0px rgba(61,63,64,.1);--tw-shadow-colored:inset 0px -1px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[inset_2px_3px_8px_0_rgba\(0\2c 0\2c 0\2c 0\.40\)\]{--tw-shadow:inset 2px 3px 8px 0 rgba(0,0,0,.4);--tw-shadow-colored:inset 2px 3px 8px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[inset_2px_6px_8px_0_rgba\(0\2c 0\2c 0\2c 0\.40\)\]{--tw-shadow:inset 2px 6px 8px 0 rgba(0,0,0,.4);--tw-shadow-colored:inset 2px 6px 8px 0 var(--tw-shadow-color)}.shadow-\[inset_2px_6px_8px_0_rgba\(0\2c 0\2c 0\2c 0\.40\)\],.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.\[font-feature-settings\:\'liga\'_off\2c \'clig\'_off\]{font-feature-settings:"liga" off,"clig" off}.ant-tabs-tab{margin:0!important;min-width:80px!important;justify-content:center!important;align-items:center!important}.ant-tabs-content,.ant-tabs-content-holder,.ant-tabs-tabpane{height:100%}.zoom-in-out-element{animation:zoom-in-zoom-out 1.5s ease none}@keyframes zoom-in-zoom-out{0%{scale:100%}25%{scale:125%}50%{scale:100%}75%{scale:125%}to{scale:100%}}.biz-message-input-scrollbar{-moz-appearance:none!important;-webkit-appearance:none!important;appearance:none!important;background:transparent!important;border:0!important;box-shadow:none!important;outline:none!important;scrollbar-width:thin;scrollbar-color:rgba(40,43,54,.3) transparent}.biz-message-input-scrollbar:active,.biz-message-input-scrollbar:focus,.biz-message-input-scrollbar:focus-visible{background:transparent!important;border:0!important;border-color:transparent!important;box-shadow:none!important;outline:none!important;--tw-ring-color:transparent!important;--tw-ring-offset-shadow:0 0 #0000!important;--tw-ring-shadow:0 0 #0000!important}.placeholder\:text-\[\#747B7E\]::-moz-placeholder{--tw-text-opacity:1;color:rgb(116 123 126/var(--tw-text-opacity,1))}.placeholder\:text-\[\#747B7E\]::placeholder{--tw-text-opacity:1;color:rgb(116 123 126/var(--tw-text-opacity,1))}.focus-within\:border-\[\#3278f7\]:focus-within{--tw-border-opacity:1;border-color:rgb(50 120 247/var(--tw-border-opacity,1))}.focus-within\:shadow-\[0_0_0_2px_rgba\(50\2c 120\2c 247\2c 0\.12\)\]:focus-within{--tw-shadow:0 0 0 2px rgba(50,120,247,.12);--tw-shadow-colored:0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:rounded-sm:hover{border-radius:.125rem}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:opacity-80:hover{opacity:.8}.focus\:border-0:focus{border-width:0}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-\[\#1677ff\]:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(22 119 255/var(--tw-ring-opacity,1))}@media (min-width:640px){.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}}.\[\&_\.ant-tabs-content-holder\]\:hidden .ant-tabs-content-holder{display:none}.\[\&_\.ant-tabs-extra-content\]\:flex .ant-tabs-extra-content{display:flex}.\[\&_\.ant-tabs-extra-content\]\:items-center .ant-tabs-extra-content{align-items:center}.\[\&_\.ant-tabs-extra-content\]\:overflow-hidden .ant-tabs-extra-content{overflow:hidden}.\[\&_\.ant-tabs-extra-content\]\:text-ellipsis .ant-tabs-extra-content{text-overflow:ellipsis}.\[\&_\.ant-tabs-ink-bar\]\:hidden .ant-tabs-ink-bar{display:none}.\[\&_\.ant-tabs-nav-wrap\]\:justify-end .ant-tabs-nav-wrap{justify-content:flex-end}.\[\&_\.ant-tabs-nav\]\:mb-0 .ant-tabs-nav{margin-bottom:0}.\[\&_\.ant-tabs-nav\]\:px-4 .ant-tabs-nav{padding-left:1rem;padding-right:1rem}.\[\&_\.ant-tabs-nav\]\:pt-0 .ant-tabs-nav{padding-top:0}.\[\&_\.ant-tabs-nav\]\:before\:border-b-0 .ant-tabs-nav:before{content:var(--tw-content);border-bottom-width:0}.\[\&_\.ant-tabs-tab-active\]\:border-indigo-200 .ant-tabs-tab-active{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.\[\&_\.ant-tabs-tab-active\]\:border-orange-200 .ant-tabs-tab-active{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.\[\&_\.ant-tabs-tab-active\]\:bg-indigo-50 .ant-tabs-tab-active{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.\[\&_\.ant-tabs-tab-active\]\:bg-orange-50 .ant-tabs-tab-active{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.\[\&_\.ant-tabs-tab-btn\]\:leading-5 .ant-tabs-tab-btn{line-height:1.25rem}.\[\&_\.ant-tabs-tab\]\:mb-0 .ant-tabs-tab{margin-bottom:0}.\[\&_\.ant-tabs-tab\]\:rounded-t-\[16px\] .ant-tabs-tab{border-top-left-radius:16px;border-top-right-radius:16px}.\[\&_\.ant-tabs-tab\]\:border .ant-tabs-tab{border-width:1px}.\[\&_\.ant-tabs-tab\]\:border-b-0 .ant-tabs-tab{border-bottom-width:0}.\[\&_\.ant-tabs-tab\]\:border-transparent .ant-tabs-tab{border-color:transparent}.\[\&_\.ant-tabs-tab\]\:px-3 .ant-tabs-tab{padding-left:.75rem;padding-right:.75rem}.\[\&_\.ant-tabs-tab\]\:py-1\.5 .ant-tabs-tab{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\.ant-tabs-tab\]\:leading-5 .ant-tabs-tab{line-height:1.25rem}
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-bottom-px{bottom:-1px}.-right-px{right:-1px}.bottom-0{bottom:0}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:.75rem}.right-0{right:0}.right-\[-8px\]{right:-8px}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-\[-8px\]{top:-8px}.\!z-\[9999\]{z-index:9999!important}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mr-1\.5{margin-right:-.375rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-\[-4px\]{margin-bottom:-4px}.ml-2{margin-left:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-\[2px\]{margin-top:2px}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[1920\/1080\]{aspect-ratio:1920/1080}.aspect-square{aspect-ratio:1/1}.\!h-full{height:100%!important}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[17px\]{height:17px}.h-\[32px\]{height:32px}.h-\[36px\]{height:36px}.h-\[3px\]{height:3px}.h-\[400px\]{height:400px}.h-\[48px\]{height:48px}.h-\[51px\]{height:51px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.max-h-48{max-height:12rem}.max-h-72{max-height:18rem}.max-h-\[140px\]{max-height:140px}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.min-h-40{min-height:10rem}.min-h-6{min-height:1.5rem}.min-h-\[25\.6px\]{min-height:25.6px}.min-h-\[32px\]{min-height:32px}.min-h-\[64px\]{min-height:64px}.w-1{width:.25rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\/3{width:66.666667%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[170px\]{width:170px}.w-\[320px\]{width:320px}.w-\[32px\]{width:32px}.w-\[330px\]{width:330px}.w-\[36px\]{width:36px}.w-\[400px\]{width:400px}.w-\[48px\]{width:48px}.w-\[51px\]{width:51px}.w-\[600px\]{width:600px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-5{min-width:1.25rem}.min-w-6{min-width:1.5rem}.min-w-8{min-width:2rem}.min-w-\[100px\]{min-width:100px}.max-w-\[200px\]{max-width:200px}.max-w-\[292px\]{max-width:292px}.max-w-\[75\%\]{max-width:75%}.max-w-\[calc\(100\%-48px\)\]{max-width:calc(100% - 48px)}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-\[1_0_0\]{flex:1 0 0}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-px{gap:1px}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-normal{overflow-wrap:normal;word-break:normal}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[12px\]{border-radius:12px}.rounded-\[20px\]{border-radius:20px}.rounded-\[32px\]{border-radius:32px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-bl-none{border-bottom-left-radius:0}.rounded-br-none{border-bottom-right-radius:0}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[\#1B3FE4\]{--tw-border-opacity:1;border-color:rgb(27 63 228/var(--tw-border-opacity,1))}.border-\[\#607CFB\]{--tw-border-opacity:1;border-color:rgb(96 124 251/var(--tw-border-opacity,1))}.border-\[\#DDDEDF\]{--tw-border-opacity:1;border-color:rgb(221 222 223/var(--tw-border-opacity,1))}.border-\[\#EFEFEF\]{--tw-border-opacity:1;border-color:rgb(239 239 239/var(--tw-border-opacity,1))}.border-\[rgba\(57\2c 62\2c 64\2c 0\.1\)\]{border-color:rgba(57,62,64,.1)}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-l-blue-500{--tw-border-opacity:1;border-left-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:transparent}.\!bg-amber-100{--tw-bg-opacity:1!important;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))!important}.\!bg-amber-500{--tw-bg-opacity:1!important;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))!important}.\!bg-blue-100{--tw-bg-opacity:1!important;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))!important}.\!bg-blue-500{--tw-bg-opacity:1!important;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))!important}.\!bg-gray-100{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))!important}.\!bg-gray-500{--tw-bg-opacity:1!important;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))!important}.\!bg-green-100{--tw-bg-opacity:1!important;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))!important}.\!bg-green-500{--tw-bg-opacity:1!important;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))!important}.\!bg-orange-100{--tw-bg-opacity:1!important;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))!important}.\!bg-orange-500{--tw-bg-opacity:1!important;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))!important}.\!bg-purple-100{--tw-bg-opacity:1!important;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))!important}.\!bg-purple-500{--tw-bg-opacity:1!important;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))!important}.\!bg-red-100{--tw-bg-opacity:1!important;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))!important}.\!bg-red-500{--tw-bg-opacity:1!important;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))!important}.bg-\[\#002BEB\]{--tw-bg-opacity:1;background-color:rgb(0 43 235/var(--tw-bg-opacity,1))}.bg-\[\#0C5CFF\]{--tw-bg-opacity:1;background-color:rgb(12 92 255/var(--tw-bg-opacity,1))}.bg-\[\#1B3FE4\]{--tw-bg-opacity:1;background-color:rgb(27 63 228/var(--tw-bg-opacity,1))}.bg-\[\#59ABFF\]{--tw-bg-opacity:1;background-color:rgb(89 171 255/var(--tw-bg-opacity,1))}.bg-\[\#607CFB\]{--tw-bg-opacity:1;background-color:rgb(96 124 251/var(--tw-bg-opacity,1))}.bg-\[\#EAF5FF\]{--tw-bg-opacity:1;background-color:rgb(234 245 255/var(--tw-bg-opacity,1))}.bg-\[\#EFEFEF\]{--tw-bg-opacity:1;background-color:rgb(239 239 239/var(--tw-bg-opacity,1))}.bg-\[\#F28504\]{--tw-bg-opacity:1;background-color:rgb(242 133 4/var(--tw-bg-opacity,1))}.bg-\[rgba\(0\2c 81\2c 255\2c 0\.1\)\]{background-color:rgba(0,81,255,.1)}.bg-\[rgba\(131\2c 137\2c 157\2c 0\.05\)\]{background-color:rgba(131,137,157,.05)}.bg-\[rgba\(131\2c 137\2c 157\2c 0\.1\)\]{background-color:rgba(131,137,157,.1)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-\[linear-gradient\(93deg\2c \#607CFB_0\%\2c \#1B3FE4_100\%\)\]{background-image:linear-gradient(93deg,#607cfb,#1b3fe4)}.bg-\[linear-gradient\(93deg\2c \#FF7D74_0\%\2c \#F04438_100\%\)\]{background-image:linear-gradient(93deg,#ff7d74,#f04438)}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-0{padding:0!important}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[3px\]{padding-left:3px;padding-right:3px}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-60{padding-bottom:15rem}.pl-0{padding-left:0}.pl-12{padding-left:3rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.\!align-\[-4px\]{vertical-align:-4px!important}.\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-\[510\]{font-weight:510}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-3{line-height:.75rem}.leading-\[1\.6\]{line-height:1.6}.leading-\[160\%\]{line-height:160%}.leading-none{line-height:1}.tracking-\[0\.12px\]{letter-spacing:.12px}.tracking-\[0\.14px\]{letter-spacing:.14px}.tracking-\[0\.16px\]{letter-spacing:.16px}.tracking-\[0\.1px\]{letter-spacing:.1px}.tracking-normal{letter-spacing:0}.tracking-wider{letter-spacing:.05em}.\!text-amber-500{--tw-text-opacity:1!important;color:rgb(245 158 11/var(--tw-text-opacity,1))!important}.\!text-blue-500{--tw-text-opacity:1!important;color:rgb(59 130 246/var(--tw-text-opacity,1))!important}.\!text-gray-500{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity,1))!important}.\!text-green-500{--tw-text-opacity:1!important;color:rgb(34 197 94/var(--tw-text-opacity,1))!important}.\!text-orange-400{--tw-text-opacity:1!important;color:rgb(251 146 60/var(--tw-text-opacity,1))!important}.\!text-orange-500{--tw-text-opacity:1!important;color:rgb(249 115 22/var(--tw-text-opacity,1))!important}.\!text-purple-500{--tw-text-opacity:1!important;color:rgb(168 85 247/var(--tw-text-opacity,1))!important}.\!text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity,1))!important}.text-\[\#1B3FE4\]{--tw-text-opacity:1;color:rgb(27 63 228/var(--tw-text-opacity,1))}.text-\[\#393E40\]{--tw-text-opacity:1;color:rgb(57 62 64/var(--tw-text-opacity,1))}.text-\[\#5C6366\]{--tw-text-opacity:1;color:rgb(92 99 102/var(--tw-text-opacity,1))}.text-\[\#747B7E\]{--tw-text-opacity:1;color:rgb(116 123 126/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.\!shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow-\[0px_0px_2px_rgba\(27\2c 63\2c 228\2c 0\.5\)\]{--tw-shadow:0px 0px 2px rgba(27,63,228,.5);--tw-shadow-colored:0px 0px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0px_-1px_0px_0px_rgba\(61\2c 63\2c 64\2c 0\.1\)\]{--tw-shadow:inset 0px -1px 0px 0px rgba(61,63,64,.1);--tw-shadow-colored:inset 0px -1px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[inset_2px_3px_8px_0_rgba\(0\2c 0\2c 0\2c 0\.40\)\]{--tw-shadow:inset 2px 3px 8px 0 rgba(0,0,0,.4);--tw-shadow-colored:inset 2px 3px 8px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[inset_2px_6px_8px_0_rgba\(0\2c 0\2c 0\2c 0\.40\)\]{--tw-shadow:inset 2px 6px 8px 0 rgba(0,0,0,.4);--tw-shadow-colored:inset 2px 6px 8px 0 var(--tw-shadow-color)}.shadow-\[inset_2px_6px_8px_0_rgba\(0\2c 0\2c 0\2c 0\.40\)\],.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.\[font-feature-settings\:\'liga\'_off\2c \'clig\'_off\]{font-feature-settings:"liga" off,"clig" off}.ant-tabs-tab{margin:0!important;min-width:80px!important;justify-content:center!important;align-items:center!important}.ant-tabs-content,.ant-tabs-content-holder,.ant-tabs-tabpane{height:100%}.zoom-in-out-element{animation:zoom-in-zoom-out 1.5s ease none}@keyframes zoom-in-zoom-out{0%{scale:100%}25%{scale:125%}50%{scale:100%}75%{scale:125%}to{scale:100%}}.biz-message-input-scrollbar{-moz-appearance:none!important;-webkit-appearance:none!important;appearance:none!important;background:transparent!important;border:0!important;box-shadow:none!important;outline:none!important;scrollbar-width:thin;scrollbar-color:rgba(40,43,54,.3) transparent}.biz-message-input-scrollbar:active,.biz-message-input-scrollbar:focus,.biz-message-input-scrollbar:focus-visible{background:transparent!important;border:0!important;border-color:transparent!important;box-shadow:none!important;outline:none!important;--tw-ring-color:transparent!important;--tw-ring-offset-shadow:0 0 #0000!important;--tw-ring-shadow:0 0 #0000!important}.placeholder\:text-\[\#747B7E\]::-moz-placeholder{--tw-text-opacity:1;color:rgb(116 123 126/var(--tw-text-opacity,1))}.placeholder\:text-\[\#747B7E\]::placeholder{--tw-text-opacity:1;color:rgb(116 123 126/var(--tw-text-opacity,1))}.focus-within\:border-\[\#3278f7\]:focus-within{--tw-border-opacity:1;border-color:rgb(50 120 247/var(--tw-border-opacity,1))}.focus-within\:shadow-\[0_0_0_2px_rgba\(50\2c 120\2c 247\2c 0\.12\)\]:focus-within{--tw-shadow:0 0 0 2px rgba(50,120,247,.12);--tw-shadow-colored:0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:rounded-sm:hover{border-radius:.125rem}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.focus\:border-0:focus{border-width:0}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-\[\#1677ff\]:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(22 119 255/var(--tw-ring-opacity,1))}@media (min-width:640px){.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}}.\[\&_\.ant-tabs-content-holder\]\:hidden .ant-tabs-content-holder{display:none}.\[\&_\.ant-tabs-extra-content\]\:flex .ant-tabs-extra-content{display:flex}.\[\&_\.ant-tabs-extra-content\]\:items-center .ant-tabs-extra-content{align-items:center}.\[\&_\.ant-tabs-extra-content\]\:overflow-hidden .ant-tabs-extra-content{overflow:hidden}.\[\&_\.ant-tabs-extra-content\]\:text-ellipsis .ant-tabs-extra-content{text-overflow:ellipsis}.\[\&_\.ant-tabs-ink-bar\]\:hidden .ant-tabs-ink-bar{display:none}.\[\&_\.ant-tabs-nav-wrap\]\:justify-end .ant-tabs-nav-wrap{justify-content:flex-end}.\[\&_\.ant-tabs-nav\]\:mb-0 .ant-tabs-nav{margin-bottom:0}.\[\&_\.ant-tabs-nav\]\:px-4 .ant-tabs-nav{padding-left:1rem;padding-right:1rem}.\[\&_\.ant-tabs-nav\]\:pt-0 .ant-tabs-nav{padding-top:0}.\[\&_\.ant-tabs-nav\]\:before\:border-b-0 .ant-tabs-nav:before{content:var(--tw-content);border-bottom-width:0}.\[\&_\.ant-tabs-tab-active\]\:border-indigo-200 .ant-tabs-tab-active{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.\[\&_\.ant-tabs-tab-active\]\:border-orange-200 .ant-tabs-tab-active{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.\[\&_\.ant-tabs-tab-active\]\:bg-indigo-50 .ant-tabs-tab-active{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.\[\&_\.ant-tabs-tab-active\]\:bg-orange-50 .ant-tabs-tab-active{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.\[\&_\.ant-tabs-tab-btn\]\:leading-5 .ant-tabs-tab-btn{line-height:1.25rem}.\[\&_\.ant-tabs-tab\]\:mb-0 .ant-tabs-tab{margin-bottom:0}.\[\&_\.ant-tabs-tab\]\:rounded-t-\[16px\] .ant-tabs-tab{border-top-left-radius:16px;border-top-right-radius:16px}.\[\&_\.ant-tabs-tab\]\:border .ant-tabs-tab{border-width:1px}.\[\&_\.ant-tabs-tab\]\:border-b-0 .ant-tabs-tab{border-bottom-width:0}.\[\&_\.ant-tabs-tab\]\:border-transparent .ant-tabs-tab{border-color:transparent}.\[\&_\.ant-tabs-tab\]\:px-3 .ant-tabs-tab{padding-left:.75rem;padding-right:.75rem}.\[\&_\.ant-tabs-tab\]\:py-1\.5 .ant-tabs-tab{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\.ant-tabs-tab\]\:leading-5 .ant-tabs-tab{line-height:1.25rem}
|