@droppii-org/chat-sdk 0.1.19 → 0.1.21
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/conversation/ConversationBySessionItem.d.ts +3 -1
- package/dist/components/conversation/ConversationBySessionItem.d.ts.map +1 -1
- package/dist/components/conversation/ConversationBySessionItem.js +4 -7
- package/dist/components/conversation/DeskConversationList.d.ts.map +1 -1
- package/dist/components/conversation/DeskConversationList.js +6 -2
- package/dist/components/message/GroupMembersDrawer.d.ts +4 -1
- package/dist/components/message/GroupMembersDrawer.d.ts.map +1 -1
- package/dist/components/message/GroupMembersDrawer.js +39 -5
- package/dist/components/message/MessageHeader.d.ts +2 -1
- package/dist/components/message/MessageHeader.d.ts.map +1 -1
- package/dist/components/message/MessageHeader.js +3 -4
- package/dist/components/message/MessageList.d.ts.map +1 -1
- package/dist/components/message/MessageList.js +8 -11
- package/dist/components/message/UnassignedSessionFooter.d.ts +7 -0
- package/dist/components/message/UnassignedSessionFooter.d.ts.map +1 -0
- package/dist/components/message/UnassignedSessionFooter.js +26 -0
- package/dist/components/message/footer/ActionBar.d.ts.map +1 -1
- package/dist/components/message/footer/ActionBar.js +4 -1
- package/dist/components/message/footer/EnterHandler.d.ts.map +1 -1
- package/dist/components/message/footer/EnterHandler.js +20 -2
- package/dist/components/message/footer/SessionClosedModal.d.ts +10 -0
- package/dist/components/message/footer/SessionClosedModal.d.ts.map +1 -0
- package/dist/components/message/footer/SessionClosedModal.js +9 -0
- package/dist/components/message/footer/index.d.ts.map +1 -1
- package/dist/components/message/footer/index.js +103 -18
- package/dist/components/message/item/SystemLogMessage.d.ts.map +1 -1
- package/dist/components/message/item/SystemLogMessage.js +9 -10
- package/dist/components/searchConversation/SearchAll.d.ts.map +1 -1
- package/dist/components/searchConversation/SearchAll.js +5 -3
- package/dist/components/searchConversation/SearchConversationAsMessages.d.ts.map +1 -1
- package/dist/components/searchConversation/SearchConversationAsMessages.js +1 -1
- package/dist/components/searchConversation/SearchConversationAsUsers.js +1 -1
- package/dist/components/searchConversation/SearchConversationMyInbox.d.ts +6 -0
- package/dist/components/searchConversation/SearchConversationMyInbox.d.ts.map +1 -0
- package/dist/components/searchConversation/SearchConversationMyInbox.js +24 -0
- package/dist/components/searchConversation/SearchDrawer.js +10 -10
- package/dist/components/searchConversation/SearchMessageOnCurrentConversation.d.ts.map +1 -1
- package/dist/components/searchConversation/SearchMessageOnCurrentConversation.js +1 -1
- package/dist/components/searchConversation/index.d.ts +1 -0
- package/dist/components/searchConversation/index.d.ts.map +1 -1
- package/dist/components/searchConversation/index.js +8 -1
- package/dist/components/searchConversation/item/SearchItemAsMessage.d.ts +1 -0
- package/dist/components/searchConversation/item/SearchItemAsMessage.d.ts.map +1 -1
- package/dist/components/searchConversation/item/SearchItemAsMessage.js +4 -4
- package/dist/components/thread/ManualAssignPopover.d.ts +5 -2
- package/dist/components/thread/ManualAssignPopover.d.ts.map +1 -1
- package/dist/components/thread/ManualAssignPopover.js +40 -21
- package/dist/components/thread/SessionSection.d.ts.map +1 -1
- package/dist/components/thread/SessionSection.js +4 -2
- package/dist/components/thread/ThreadInfo.d.ts.map +1 -1
- package/dist/components/thread/ThreadInfo.js +2 -1
- package/dist/constants/index.d.ts +6 -1
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +6 -1
- package/dist/hooks/cannedResponse/useFetchCannedResponse.js +2 -2
- package/dist/hooks/global/useGlobalEvent.d.ts.map +1 -1
- package/dist/hooks/global/useGlobalEvent.js +11 -0
- package/dist/hooks/group/useGroupMembers.d.ts.map +1 -1
- package/dist/hooks/group/useGroupMembers.js +17 -0
- package/dist/hooks/message/useMessage.js +5 -5
- package/dist/hooks/message/usePullSessionMessages.d.ts +2 -0
- package/dist/hooks/message/usePullSessionMessages.d.ts.map +1 -1
- package/dist/hooks/message/usePullSessionMessages.js +18 -15
- package/dist/hooks/search/useSearchMessage.d.ts +2 -1
- package/dist/hooks/search/useSearchMessage.d.ts.map +1 -1
- package/dist/hooks/search/useSearchMessage.js +9 -9
- package/dist/hooks/session/useAssignSession.d.ts +4 -0
- package/dist/hooks/session/useAssignSession.d.ts.map +1 -1
- package/dist/hooks/session/useAssignSession.js +44 -11
- package/dist/hooks/session/useConversationSessionState.d.ts +1 -8
- package/dist/hooks/session/useConversationSessionState.d.ts.map +1 -1
- package/dist/hooks/session/useConversationSessionState.js +2 -25
- package/dist/hooks/session/useGetListSessionByConversation.d.ts.map +1 -1
- package/dist/hooks/session/useGetListSessionByConversation.js +2 -1
- package/dist/hooks/session/useGetSession.d.ts.map +1 -1
- package/dist/hooks/session/useGetSession.js +2 -2
- package/dist/hooks/session/useGetTeamSupporters.d.ts +2 -1
- package/dist/hooks/session/useGetTeamSupporters.d.ts.map +1 -1
- package/dist/hooks/session/useGetTeamSupporters.js +2 -2
- package/dist/hooks/session/useIsJoinedGroup.d.ts +1 -1
- package/dist/hooks/session/useIsJoinedGroup.d.ts.map +1 -1
- package/dist/hooks/session/useIsJoinedGroup.js +13 -19
- package/dist/hooks/session/useJoinGroupFlow.d.ts +8 -6
- package/dist/hooks/session/useJoinGroupFlow.d.ts.map +1 -1
- package/dist/hooks/session/useJoinGroupFlow.js +19 -57
- package/dist/hooks/session/useJoinSession.d.ts.map +1 -1
- package/dist/hooks/session/useJoinSession.js +3 -0
- package/dist/hooks/session/useLeaveConversation.d.ts +5 -0
- package/dist/hooks/session/useLeaveConversation.d.ts.map +1 -0
- package/dist/hooks/session/useLeaveConversation.js +35 -0
- package/dist/hooks/session/useReopenOrCreateSession.d.ts +4 -0
- package/dist/hooks/session/useReopenOrCreateSession.d.ts.map +1 -0
- package/dist/hooks/session/useReopenOrCreateSession.js +32 -0
- package/dist/hooks/session/useSessionLatestPreview.d.ts +7 -0
- package/dist/hooks/session/useSessionLatestPreview.d.ts.map +1 -0
- package/dist/hooks/session/useSessionLatestPreview.js +82 -0
- package/dist/hooks/session/useSortedSessions.d.ts +4 -0
- package/dist/hooks/session/useSortedSessions.d.ts.map +1 -0
- package/dist/hooks/session/useSortedSessions.js +13 -0
- package/dist/hooks/session/useSyncGroupStateAfterJoin.d.ts +9 -0
- package/dist/hooks/session/useSyncGroupStateAfterJoin.d.ts.map +1 -0
- package/dist/hooks/session/useSyncGroupStateAfterJoin.js +23 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/locales/vi/common.json +18 -2
- package/dist/services/query.d.ts +5 -0
- package/dist/services/query.d.ts.map +1 -1
- package/dist/services/query.js +5 -0
- package/dist/services/routes.d.ts +4 -0
- package/dist/services/routes.d.ts.map +1 -1
- package/dist/services/routes.js +4 -0
- package/dist/store/conversation.d.ts.map +1 -1
- package/dist/store/conversation.js +5 -2
- package/dist/styles/global.css +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/chat.d.ts +1 -1
- package/dist/types/chat.d.ts.map +1 -1
- package/dist/types/dto.d.ts +4 -0
- package/dist/types/dto.d.ts.map +1 -1
- package/dist/utils/events.d.ts +2 -0
- package/dist/utils/events.d.ts.map +1 -1
- package/dist/utils/messageLog.d.ts +1 -1
- package/dist/utils/messageLog.d.ts.map +1 -1
- package/dist/utils/messageLog.js +23 -6
- package/dist/utils/messageTransform.d.ts.map +1 -1
- package/dist/utils/messageTransform.js +1 -1
- package/dist/utils/queryHelpers.d.ts +1 -1
- package/dist/utils/queryHelpers.d.ts.map +1 -1
- package/dist/utils/queryHelpers.js +1 -1
- package/package.json +1 -1
|
@@ -5,12 +5,12 @@ import { ToolbarPlugin } from "./ToolbarPlugin";
|
|
|
5
5
|
import { LinkPlugin } from "@lexical/react/LexicalLinkPlugin";
|
|
6
6
|
import { ListPlugin } from "@lexical/react/LexicalListPlugin";
|
|
7
7
|
import { editorTheme, editorNodes, editorOnError } from "./editorConfig";
|
|
8
|
-
import { createContext, useCallback, useContext, useEffect,
|
|
8
|
+
import { createContext, useCallback, useContext, useEffect, useRef, useState, } from "react";
|
|
9
9
|
import EnterHandler from "./EnterHandler";
|
|
10
10
|
import ActionBar from "./ActionBar";
|
|
11
11
|
import { AccountType } from "../../../types/chat";
|
|
12
12
|
import { useSendMessage } from "../../../hooks/message/useSendMessage";
|
|
13
|
-
import { Popover } from "antd";
|
|
13
|
+
import { Modal, Popover } from "antd";
|
|
14
14
|
import FilePreview from "./FilePreview";
|
|
15
15
|
import { useTranslation } from "react-i18next";
|
|
16
16
|
import PasteAndDropPlugin from "./PasteAndDropPlugin";
|
|
@@ -23,6 +23,9 @@ import useConversationStore from "../../../store/conversation";
|
|
|
23
23
|
import { useCurrentUserAccountType } from "../../../hooks/user/useCurrentUserAccountType";
|
|
24
24
|
import ComposerTabs from "./ComposerTabs";
|
|
25
25
|
import ComposerEditor from "./ComposerEditor";
|
|
26
|
+
import SessionClosedModal from "./SessionClosedModal";
|
|
27
|
+
import { useCreateSession, useReopenSession, } from "../../../hooks/session/useReopenOrCreateSession";
|
|
28
|
+
import { emit } from "../../../utils/events";
|
|
26
29
|
const initialConfig = {
|
|
27
30
|
namespace: "ChatInput",
|
|
28
31
|
theme: editorTheme,
|
|
@@ -30,7 +33,7 @@ const initialConfig = {
|
|
|
30
33
|
nodes: editorNodes,
|
|
31
34
|
};
|
|
32
35
|
export const MessageFooterContext = createContext({
|
|
33
|
-
onSendMessage: () =>
|
|
36
|
+
onSendMessage: () => false,
|
|
34
37
|
isInternal: false,
|
|
35
38
|
setIsInternal: () => { },
|
|
36
39
|
listUploadFiles: [],
|
|
@@ -56,7 +59,13 @@ const MessageFooterProvider = ({ currentSession, openCreateCannedModal, }) => {
|
|
|
56
59
|
const [isInternal, setIsInternal] = useState(false);
|
|
57
60
|
const canUseInternal = isCrm && accountType === AccountType.Staff;
|
|
58
61
|
const quotedMessage = useConversationStore((state) => state.quotedMessage);
|
|
62
|
+
const conversationData = useConversationStore((state) => state.conversationData);
|
|
59
63
|
const lockToInternal = Boolean((quotedMessage === null || quotedMessage === void 0 ? void 0 : quotedMessage.clientMsgID) && (quotedMessage === null || quotedMessage === void 0 ? void 0 : quotedMessage.isInternal));
|
|
64
|
+
const [isSessionClosedModalOpen, { setTrue: openSessionClosedModal, setFalse: closeSessionClosedModal },] = useBoolean(false);
|
|
65
|
+
const pendingMessageRef = useRef(null);
|
|
66
|
+
const { mutateAsync: createSession, isPending: isCreatingSession } = useCreateSession();
|
|
67
|
+
const { mutateAsync: reopenSession, isPending: isReopeningSession } = useReopenSession();
|
|
68
|
+
const isSessionActionLoading = isCreatingSession || isReopeningSession;
|
|
60
69
|
useEffect(() => {
|
|
61
70
|
if (!canUseInternal && isInternal) {
|
|
62
71
|
setIsInternal(false);
|
|
@@ -70,10 +79,21 @@ const MessageFooterProvider = ({ currentSession, openCreateCannedModal, }) => {
|
|
|
70
79
|
}
|
|
71
80
|
setIsInternal(true);
|
|
72
81
|
}, [canUseInternal, quotedMessage]);
|
|
73
|
-
const placeholderText =
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const onSendMessage = useCallback(
|
|
82
|
+
const placeholderText = isInternal
|
|
83
|
+
? t("enter_internal_message")
|
|
84
|
+
: t("enter_message");
|
|
85
|
+
const onSendMessage = useCallback(({ plainText, richText, type, isInternal, }) => {
|
|
86
|
+
if ((currentSession === null || currentSession === void 0 ? void 0 : currentSession.isClosed) && !isInternal) {
|
|
87
|
+
pendingMessageRef.current = {
|
|
88
|
+
plainText,
|
|
89
|
+
richText,
|
|
90
|
+
type,
|
|
91
|
+
isInternal,
|
|
92
|
+
files: [...listUploadFiles],
|
|
93
|
+
};
|
|
94
|
+
openSessionClosedModal();
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
77
97
|
if (type === "text") {
|
|
78
98
|
sendTextMessage({ plainText, richText, currentSession, isInternal });
|
|
79
99
|
}
|
|
@@ -87,23 +107,88 @@ const MessageFooterProvider = ({ currentSession, openCreateCannedModal, }) => {
|
|
|
87
107
|
});
|
|
88
108
|
}
|
|
89
109
|
setListUploadFiles([]);
|
|
90
|
-
|
|
91
|
-
|
|
110
|
+
return true;
|
|
111
|
+
}, [
|
|
112
|
+
sendMergeMessage,
|
|
113
|
+
sendTextMessage,
|
|
114
|
+
listUploadFiles,
|
|
115
|
+
currentSession,
|
|
116
|
+
openSessionClosedModal,
|
|
117
|
+
]);
|
|
118
|
+
const executePendingSend = useCallback((newSession) => {
|
|
119
|
+
const pending = pendingMessageRef.current;
|
|
120
|
+
if (!pending)
|
|
121
|
+
return;
|
|
122
|
+
const sessionToUse = newSession || currentSession;
|
|
123
|
+
if (pending.type === "text") {
|
|
124
|
+
sendTextMessage({
|
|
125
|
+
plainText: pending.plainText,
|
|
126
|
+
richText: pending.richText,
|
|
127
|
+
currentSession: sessionToUse,
|
|
128
|
+
isInternal: pending.isInternal,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
sendMergeMessage({
|
|
133
|
+
plainText: pending.plainText,
|
|
134
|
+
richText: pending.richText,
|
|
135
|
+
files: pending.files,
|
|
136
|
+
currentSession: sessionToUse,
|
|
137
|
+
isInternal: pending.isInternal,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
setListUploadFiles([]);
|
|
141
|
+
pendingMessageRef.current = null;
|
|
142
|
+
emit("CLEAR_COMPOSER");
|
|
143
|
+
}, [sendTextMessage, sendMergeMessage, currentSession]);
|
|
144
|
+
const handleSessionAction = useCallback(async (action) => {
|
|
145
|
+
const conversationId = conversationData === null || conversationData === void 0 ? void 0 : conversationData.conversationID;
|
|
146
|
+
if (!conversationId)
|
|
147
|
+
return;
|
|
148
|
+
try {
|
|
149
|
+
const newSession = await action(conversationId);
|
|
150
|
+
closeSessionClosedModal();
|
|
151
|
+
setTimeout(() => {
|
|
152
|
+
executePendingSend(newSession);
|
|
153
|
+
}, 700);
|
|
154
|
+
}
|
|
155
|
+
catch (_a) {
|
|
156
|
+
closeSessionClosedModal();
|
|
157
|
+
pendingMessageRef.current = null;
|
|
158
|
+
Modal.error({
|
|
159
|
+
centered: true,
|
|
160
|
+
content: t("session_action_error"),
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}, [
|
|
164
|
+
conversationData === null || conversationData === void 0 ? void 0 : conversationData.conversationID,
|
|
165
|
+
closeSessionClosedModal,
|
|
166
|
+
executePendingSend,
|
|
167
|
+
t,
|
|
168
|
+
]);
|
|
169
|
+
const handleReopenSession = () => handleSessionAction(reopenSession);
|
|
170
|
+
const handleCreateNewSession = () => handleSessionAction(createSession);
|
|
171
|
+
const handleCloseSessionModal = () => {
|
|
172
|
+
if (isSessionActionLoading)
|
|
173
|
+
return;
|
|
174
|
+
closeSessionClosedModal();
|
|
175
|
+
};
|
|
176
|
+
const onOpenCreateCannedModal = () => {
|
|
92
177
|
closeCanned();
|
|
93
178
|
openCreateCannedModal === null || openCreateCannedModal === void 0 ? void 0 : openCreateCannedModal();
|
|
94
|
-
}
|
|
95
|
-
const onOpenCanned =
|
|
179
|
+
};
|
|
180
|
+
const onOpenCanned = (query) => {
|
|
96
181
|
setCannedQuery(query);
|
|
97
182
|
openCanned();
|
|
98
|
-
}
|
|
99
|
-
const setIsOpenCanned =
|
|
183
|
+
};
|
|
184
|
+
const setIsOpenCanned = (open) => {
|
|
100
185
|
if (open) {
|
|
101
186
|
openCanned();
|
|
102
187
|
return;
|
|
103
188
|
}
|
|
104
189
|
closeCanned();
|
|
105
|
-
}
|
|
106
|
-
return (
|
|
190
|
+
};
|
|
191
|
+
return (_jsxs(MessageFooterContext.Provider, { value: {
|
|
107
192
|
onSendMessage,
|
|
108
193
|
isInternal,
|
|
109
194
|
setIsInternal,
|
|
@@ -115,8 +200,8 @@ const MessageFooterProvider = ({ currentSession, openCreateCannedModal, }) => {
|
|
|
115
200
|
setActiveCannedIndex,
|
|
116
201
|
maxActiveCannedIndex,
|
|
117
202
|
setMaxActiveCannedIndex,
|
|
118
|
-
}, children: _jsxs(LexicalComposer, { initialConfig: initialConfig, children: [_jsx(Popover, { open: isOpenCanned, content: _jsx(CannedResponse, { onClose: closeCanned, openCreateCannedModal: onOpenCreateCannedModal, cannedQuery: cannedQuery }), placement: "topLeft", trigger: "click", arrow: false, classNames: {
|
|
119
|
-
|
|
120
|
-
|
|
203
|
+
}, children: [_jsxs(LexicalComposer, { initialConfig: initialConfig, children: [_jsx(Popover, { open: isOpenCanned, content: _jsx(CannedResponse, { onClose: closeCanned, openCreateCannedModal: onOpenCreateCannedModal, cannedQuery: cannedQuery }), placement: "topLeft", trigger: "click", arrow: false, classNames: {
|
|
204
|
+
body: "mx-1 !p-0",
|
|
205
|
+
}, destroyOnHidden: true, children: _jsxs("div", { className: "border-t pb-2 flex flex-col gap-1 bg-white", children: [_jsx(QuotedMessageFooter, {}), listUploadFiles.length > 0 && _jsx(FilePreview, {}), _jsx(ToolbarPlugin, {}), _jsxs("div", { children: [_jsx(ComposerTabs, { canUseInternal: canUseInternal, hintText: t("canned_response_hint"), isInternal: isInternal, lockToInternal: lockToInternal, setIsInternal: setIsInternal }), _jsx(ComposerEditor, { isInternal: isInternal, placeholderText: placeholderText })] }), _jsx(ActionBar, {})] }) }), _jsx(LinkPlugin, {}), _jsx(ListPlugin, {}), _jsx(EnterHandler, {}), _jsx(PasteAndDropPlugin, {}), isCrm && (_jsx(CannedResponseTriggerPlugin, { onClose: closeCanned, onOpen: onOpenCanned }))] }), _jsx(SessionClosedModal, { open: isSessionClosedModalOpen, loading: isSessionActionLoading, onReopen: handleReopenSession, onCreateNew: handleCreateNewSession, onClose: handleCloseSessionModal })] }));
|
|
121
206
|
};
|
|
122
207
|
export default MessageFooterProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemLogMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/message/item/SystemLogMessage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"SystemLogMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/message/item/SystemLogMessage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAOtD,UAAU,yBAAyB;IACjC,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,QAAA,MAAM,oBAAoB,GAAI,aAAa,yBAAyB,mDAuBnE,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as _jsx
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import { getSystemLogMessageText, getSystemLogMessageTone, } from "../../../utils/messageLog";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { getSystemLogMessageHtml, getSystemLogMessageText, } from "../../../utils/messageLog";
|
|
4
|
+
import { sanitizeHtml } from "../../../utils/common";
|
|
6
5
|
const SystemLogMessageItem = ({ message }) => {
|
|
6
|
+
const html = getSystemLogMessageHtml(message);
|
|
7
7
|
const text = getSystemLogMessageText(message);
|
|
8
|
-
|
|
9
|
-
if (!text) {
|
|
8
|
+
if (!html && !text) {
|
|
10
9
|
return null;
|
|
11
10
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
if (html) {
|
|
12
|
+
return (_jsx("div", { className: "flex justify-center", children: _jsx("div", { dangerouslySetInnerHTML: { __html: sanitizeHtml(html) } }) }));
|
|
13
|
+
}
|
|
14
|
+
return (_jsx("div", { className: "flex justify-center", children: _jsx("span", { className: "rounded-full bg-gray-200 px-3 py-1.5 text-center text-[13px] font-normal text-gray-900", children: text }) }));
|
|
16
15
|
};
|
|
17
16
|
export default SystemLogMessageItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchAll.d.ts","sourceRoot":"","sources":["../../../src/components/searchConversation/SearchAll.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SearchAll.d.ts","sourceRoot":"","sources":["../../../src/components/searchConversation/SearchAll.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,wBAAwB,EAAE,MAAM,GAAG,CAAC;AAG7C,UAAU,0BAA0B;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,CAAC,GAAG,EAAE,wBAAwB,KAAK,IAAI,CAAC;CACvD;AACD,QAAA,MAAM,qBAAqB,GAAI,+BAG5B,0BAA0B,4CA6G5B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Button, Empty, Spin } from "antd";
|
|
3
|
+
import clsx from "clsx";
|
|
3
4
|
import { useTranslation } from "react-i18next";
|
|
4
5
|
import { useSearchMessage } from "../../hooks/search/useSearchMessage";
|
|
5
6
|
import { MessageType } from "@openim/wasm-client-sdk";
|
|
@@ -8,6 +9,7 @@ import SearchItemAsMessage from "./item/SearchItemAsMessage";
|
|
|
8
9
|
import { useGetSession } from "../../hooks/session/useGetSession";
|
|
9
10
|
import SearchItemAsUser from "./item/SearchItemAsUser";
|
|
10
11
|
import { SearchConversationTabKey } from ".";
|
|
12
|
+
import { PAGE_SIZE } from "../../constants";
|
|
11
13
|
const SearchConversationAll = ({ searchTerm = "", setActiveKey, }) => {
|
|
12
14
|
const { t } = useTranslation();
|
|
13
15
|
const { dataFlatten: messages, isLoading: isLoadingMessage, hasNextPage: hasNextPageMessage, } = useSearchMessage({
|
|
@@ -15,13 +17,13 @@ const SearchConversationAll = ({ searchTerm = "", setActiveKey, }) => {
|
|
|
15
17
|
searchTerm: searchTerm.trim(),
|
|
16
18
|
contentType: MessageType.TextMessage,
|
|
17
19
|
},
|
|
18
|
-
options: { pageSize:
|
|
20
|
+
options: { pageSize: PAGE_SIZE.xs },
|
|
19
21
|
});
|
|
20
22
|
const { dataFlatten: sessions, isLoading: isLoadingSession, hasNextPage: hasNextPageSession, } = useGetSession({
|
|
21
23
|
filter: {
|
|
22
24
|
searchTerm: searchTerm.trim(),
|
|
23
25
|
},
|
|
24
|
-
options: { pageSize:
|
|
26
|
+
options: { pageSize: PAGE_SIZE.xs },
|
|
25
27
|
});
|
|
26
28
|
if (searchTerm.trim() === "" ||
|
|
27
29
|
(messages.length === 0 && sessions.length === 0)) {
|
|
@@ -30,6 +32,6 @@ const SearchConversationAll = ({ searchTerm = "", setActiveKey, }) => {
|
|
|
30
32
|
if (isLoadingMessage || isLoadingSession) {
|
|
31
33
|
return (_jsx("div", { className: "h-full overflow-auto flex items-center justify-center", children: _jsx(Spin, {}) }));
|
|
32
34
|
}
|
|
33
|
-
return (_jsxs("div", { className: "h-full overflow-auto", children: [sessions.length > 0 && (_jsxs("div", { children: [_jsxs("div", { className: "flex items-center justify-between px-3", children: [_jsx("span", { className: "text-xs font-medium uppercase flex-1 text-gray-600", children: t("users") }),
|
|
35
|
+
return (_jsxs("div", { className: "h-full overflow-auto", children: [sessions.length > 0 && (_jsxs("div", { children: [_jsxs("div", { className: "flex items-center justify-between px-3 min-h-[32px]", children: [_jsx("span", { className: "text-xs font-medium uppercase flex-1 text-gray-600", children: t("users") }), _jsx(Button, { type: "link", icon: _jsx(Icon, { icon: "angle-right-o", size: 18, className: "!align-[-4px]" }), iconPosition: "end", className: clsx("p-0 gap-1", !hasNextPageSession && "invisible"), onClick: () => setActiveKey === null || setActiveKey === void 0 ? void 0 : setActiveKey(SearchConversationTabKey.Users), children: t("see_more") })] }), _jsx("div", { children: sessions.map((session) => (_jsx(SearchItemAsUser, { session: session, searchTerm: searchTerm }))) })] })), messages.length > 0 && (_jsxs("div", { children: [_jsxs("div", { className: "flex items-center justify-between px-3 min-h-[32px]", children: [_jsx("span", { className: "text-xs font-medium uppercase flex-1 text-gray-600", children: t("messages") }), _jsx(Button, { type: "link", icon: _jsx(Icon, { icon: "angle-right-o", size: 18, className: "!align-[-4px]" }), iconPosition: "end", className: clsx("p-0 gap-1", !hasNextPageMessage && "invisible"), onClick: () => setActiveKey === null || setActiveKey === void 0 ? void 0 : setActiveKey(SearchConversationTabKey.Messages), children: t("see_more") })] }), _jsx("div", { children: messages.map((message) => (_jsx(SearchItemAsMessage, { message: message.chatLog, searchTerm: searchTerm, displayTag: message.displayTag }))) })] }))] }));
|
|
34
36
|
};
|
|
35
37
|
export default SearchConversationAll;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchConversationAsMessages.d.ts","sourceRoot":"","sources":["../../../src/components/searchConversation/SearchConversationAsMessages.tsx"],"names":[],"mappings":"AAOA,UAAU,iCAAiC;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,QAAA,MAAM,4BAA4B,GAChC,OAAO,iCAAiC,
|
|
1
|
+
{"version":3,"file":"SearchConversationAsMessages.d.ts","sourceRoot":"","sources":["../../../src/components/searchConversation/SearchConversationAsMessages.tsx"],"names":[],"mappings":"AAOA,UAAU,iCAAiC;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,QAAA,MAAM,4BAA4B,GAChC,OAAO,iCAAiC,4CA2CzC,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
|
|
@@ -18,6 +18,6 @@ const SearchConversationAsMessages = (props) => {
|
|
|
18
18
|
return _jsx(Empty, { description: t("no_conversation") });
|
|
19
19
|
if (isLoading)
|
|
20
20
|
return (_jsx("div", { className: "flex items-center justify-center", children: _jsx(Spin, {}) }));
|
|
21
|
-
return (_jsx("div", { id: "
|
|
21
|
+
return (_jsx("div", { id: "scrollableSearchMessagesTab", className: "h-full overflow-auto", children: _jsx(InfiniteScroll, { dataLength: dataFlatten.length, next: fetchNextPage, hasMore: hasNextPage, loader: _jsx("div", { className: "flex items-center justify-center py-2", children: _jsx(Spin, {}) }), scrollableTarget: "scrollableSearchMessagesTab", children: dataFlatten.map((item) => (_jsx(SearchItemAsMessage, { message: item.chatLog, searchTerm: searchTerm, displayTag: item.displayTag }))) }) }));
|
|
22
22
|
};
|
|
23
23
|
export default SearchConversationAsMessages;
|
|
@@ -16,6 +16,6 @@ const SearchConversationAsUsers = (props) => {
|
|
|
16
16
|
return _jsx(Empty, { description: t("no_conversation") });
|
|
17
17
|
if (isLoading)
|
|
18
18
|
return (_jsx("div", { className: "flex items-center justify-center", children: _jsx(Spin, {}) }));
|
|
19
|
-
return (_jsx("div", { id: "
|
|
19
|
+
return (_jsx("div", { id: "scrollableSearchUsersTab", className: "h-full overflow-auto", children: _jsx(InfiniteScroll, { dataLength: dataFlatten.length, next: fetchNextPage, hasMore: hasNextPage, loader: _jsx("div", { className: "flex items-center justify-center py-2", children: _jsx(Spin, {}) }), scrollableTarget: "scrollableSearchUsersTab", children: dataFlatten.map((item) => (_jsx(SearchItemAsUser, { session: item, searchTerm: searchTerm }))) }) }));
|
|
20
20
|
};
|
|
21
21
|
export default SearchConversationAsUsers;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
interface SearchConversationMyInboxProps {
|
|
2
|
+
searchTerm: string;
|
|
3
|
+
}
|
|
4
|
+
declare const SearchConversationMyInbox: ({ searchTerm, }: SearchConversationMyInboxProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export default SearchConversationMyInbox;
|
|
6
|
+
//# sourceMappingURL=SearchConversationMyInbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchConversationMyInbox.d.ts","sourceRoot":"","sources":["../../../src/components/searchConversation/SearchConversationMyInbox.tsx"],"names":[],"mappings":"AAQA,UAAU,8BAA8B;IACtC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,yBAAyB,GAAI,iBAEhC,8BAA8B,4CA2ChC,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, Empty, Spin } from "antd";
|
|
3
|
+
import { useTranslation } from "react-i18next";
|
|
4
|
+
import { useSearchMessage } from "../../hooks/search/useSearchMessage";
|
|
5
|
+
import { MessageType } from "@openim/wasm-client-sdk";
|
|
6
|
+
import SearchItemAsMessage from "./item/SearchItemAsMessage";
|
|
7
|
+
const MY_INBOX_TAG = "MY_INBOX";
|
|
8
|
+
const SearchConversationMyInbox = ({ searchTerm = "", }) => {
|
|
9
|
+
const { t } = useTranslation();
|
|
10
|
+
const { dataFlatten, hasNextPage, fetchNextPage, isLoading, isFetchingNextPage } = useSearchMessage({
|
|
11
|
+
payload: {
|
|
12
|
+
searchTerm: searchTerm.trim(),
|
|
13
|
+
contentType: MessageType.TextMessage,
|
|
14
|
+
tag: MY_INBOX_TAG,
|
|
15
|
+
},
|
|
16
|
+
options: { untilEmptyPage: true },
|
|
17
|
+
});
|
|
18
|
+
if ((dataFlatten.length === 0 && !isLoading) || searchTerm.trim() === "")
|
|
19
|
+
return _jsx(Empty, { description: t("no_conversation") });
|
|
20
|
+
if (isLoading)
|
|
21
|
+
return (_jsx("div", { className: "flex items-center justify-center", children: _jsx(Spin, {}) }));
|
|
22
|
+
return (_jsxs("div", { className: "overflow-auto", children: [dataFlatten.map((item) => (_jsx(SearchItemAsMessage, { message: item.chatLog, searchTerm: searchTerm, displayTag: item.displayTag }, item.chatLog.clientMsgID))), _jsx("div", { className: "flex justify-center py-2", children: _jsx(Button, { type: "link", loading: isFetchingNextPage, onClick: () => fetchNextPage(), children: t("see_more") }) })] }));
|
|
23
|
+
};
|
|
24
|
+
export default SearchConversationMyInbox;
|
|
@@ -4,7 +4,7 @@ import { Icon } from "../icon";
|
|
|
4
4
|
import { useIsMobile } from "../../hooks/common/useIsMobile";
|
|
5
5
|
import useBoolean from "ahooks/lib/useBoolean";
|
|
6
6
|
import { useTranslation } from "react-i18next";
|
|
7
|
-
import {
|
|
7
|
+
import { useRef, useState } from "react";
|
|
8
8
|
import SearchMessageOnCurrentConversation from "./SearchMessageOnCurrentConversation";
|
|
9
9
|
const SearchDrawer = () => {
|
|
10
10
|
const { t } = useTranslation();
|
|
@@ -12,16 +12,16 @@ const SearchDrawer = () => {
|
|
|
12
12
|
const [isOpen, { toggle }] = useBoolean(false);
|
|
13
13
|
const [search, setSearch] = useState("");
|
|
14
14
|
const isMobile = useIsMobile();
|
|
15
|
-
|
|
16
|
-
if (
|
|
17
|
-
|
|
18
|
-
var _a;
|
|
19
|
-
(_a = searchInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
20
|
-
}, 100);
|
|
21
|
-
return () => clearTimeout(timer);
|
|
15
|
+
const handleDrawerAfterOpenChange = (opened) => {
|
|
16
|
+
if (!opened) {
|
|
17
|
+
return;
|
|
22
18
|
}
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
requestAnimationFrame(() => {
|
|
20
|
+
var _a;
|
|
21
|
+
(_a = searchInputRef.current) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
return (_jsxs("div", { className: "inline-flex shrink-0", children: [_jsx(Button, { type: "text", shape: "default", className: "text-gray-500 w-8 h-8 p-0", onClick: toggle, children: _jsx(Icon, { icon: "search-o", size: 22 }) }), _jsx(Drawer, { open: isOpen, onClose: toggle, afterOpenChange: handleDrawerAfterOpenChange, mask: false, closeIcon: false, styles: {
|
|
25
25
|
body: {
|
|
26
26
|
padding: 0,
|
|
27
27
|
height: "100%",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchMessageOnCurrentConversation.d.ts","sourceRoot":"","sources":["../../../src/components/searchConversation/SearchMessageOnCurrentConversation.tsx"],"names":[],"mappings":"AAQA,UAAU,uCAAuC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AACD,QAAA,MAAM,kCAAkC,GACtC,OAAO,uCAAuC,
|
|
1
|
+
{"version":3,"file":"SearchMessageOnCurrentConversation.d.ts","sourceRoot":"","sources":["../../../src/components/searchConversation/SearchMessageOnCurrentConversation.tsx"],"names":[],"mappings":"AAQA,UAAU,uCAAuC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AACD,QAAA,MAAM,kCAAkC,GACtC,OAAO,uCAAuC,4CAuD/C,CAAC;AAEF,eAAe,kCAAkC,CAAC"}
|
|
@@ -23,6 +23,6 @@ const SearchMessageOnCurrentConversation = (props) => {
|
|
|
23
23
|
return _jsx(Empty, { description: t("no_result") });
|
|
24
24
|
if (isLoading)
|
|
25
25
|
return (_jsx("div", { className: "flex items-center justify-center", children: _jsx(Spin, {}) }));
|
|
26
|
-
return (_jsx("div", { id: "
|
|
26
|
+
return (_jsx("div", { id: "scrollableCurrentConversationSearchMessages", className: "h-full overflow-auto", children: _jsx(InfiniteScroll, { dataLength: dataFlatten.length, next: fetchNextPage, hasMore: hasNextPage, loader: _jsx("div", { className: "flex items-center justify-center py-2", children: _jsx(Spin, {}) }), scrollableTarget: "scrollableCurrentConversationSearchMessages", children: dataFlatten.map((item) => (_jsx(SearchItemAsMessage, { message: item.chatLog, searchTerm: searchTerm, onClick: props === null || props === void 0 ? void 0 : props.onClose }))) }) }));
|
|
27
27
|
};
|
|
28
28
|
export default SearchMessageOnCurrentConversation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/searchConversation/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/searchConversation/index.tsx"],"names":[],"mappings":"AAUA,oBAAY,wBAAwB;IAClC,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AAED,UAAU,uBAAuB;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,QAAA,MAAM,kBAAkB,GAAI,gBAAgB,uBAAuB,4CAgDlE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -4,11 +4,13 @@ import { Tabs } from "antd";
|
|
|
4
4
|
import { useMemo, useState } from "react";
|
|
5
5
|
import { useTranslation } from "react-i18next";
|
|
6
6
|
import SearchConversationAll from "./SearchAll";
|
|
7
|
+
import SearchConversationMyInbox from "./SearchConversationMyInbox";
|
|
7
8
|
import SearchConversationAsUsers from "./SearchConversationAsUsers";
|
|
8
9
|
import SearchConversationAsMessages from "./SearchConversationAsMessages";
|
|
9
10
|
export var SearchConversationTabKey;
|
|
10
11
|
(function (SearchConversationTabKey) {
|
|
11
12
|
SearchConversationTabKey["All"] = "all";
|
|
13
|
+
SearchConversationTabKey["MyInbox"] = "myInbox";
|
|
12
14
|
SearchConversationTabKey["Users"] = "users";
|
|
13
15
|
SearchConversationTabKey["Messages"] = "messages";
|
|
14
16
|
})(SearchConversationTabKey || (SearchConversationTabKey = {}));
|
|
@@ -22,6 +24,11 @@ const SearchConversation = ({ searchTerm }) => {
|
|
|
22
24
|
label: t("all"),
|
|
23
25
|
children: (_jsx(SearchConversationAll, { searchTerm: searchTerm, setActiveKey: setActiveKey })),
|
|
24
26
|
},
|
|
27
|
+
{
|
|
28
|
+
key: SearchConversationTabKey.MyInbox,
|
|
29
|
+
label: t("my_inbox_tab"),
|
|
30
|
+
children: _jsx(SearchConversationMyInbox, { searchTerm: searchTerm }),
|
|
31
|
+
},
|
|
25
32
|
{
|
|
26
33
|
key: SearchConversationTabKey.Users,
|
|
27
34
|
label: t("users"),
|
|
@@ -34,6 +41,6 @@ const SearchConversation = ({ searchTerm }) => {
|
|
|
34
41
|
},
|
|
35
42
|
];
|
|
36
43
|
}, [t, searchTerm]);
|
|
37
|
-
return (_jsx("div", { className: "h-full", children: _jsx(Tabs, { defaultActiveKey: SearchConversationTabKey.All, items: items, className: "h-full", activeKey: activeKey, onChange: (key) => setActiveKey(key) }) }));
|
|
44
|
+
return (_jsx("div", { className: "h-full", children: _jsx(Tabs, { defaultActiveKey: SearchConversationTabKey.All, items: items, className: "h-full", activeKey: activeKey, onChange: (key) => setActiveKey(key), destroyOnHidden: true }) }));
|
|
38
45
|
};
|
|
39
46
|
export default SearchConversation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchItemAsMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/searchConversation/item/SearchItemAsMessage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAA4B,MAAM,yBAAyB,CAAC;AAehF,UAAU,wBAAwB;IAChC,OAAO,EAAE,WAAW,GAAG;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,QAAA,MAAM,mBAAmB,GAAI,OAAO,wBAAwB,
|
|
1
|
+
{"version":3,"file":"SearchItemAsMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/searchConversation/item/SearchItemAsMessage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAA4B,MAAM,yBAAyB,CAAC;AAehF,UAAU,wBAAwB;IAChC,OAAO,EAAE,WAAW,GAAG;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,QAAA,MAAM,mBAAmB,GAAI,OAAO,wBAAwB,4CAuG3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -13,7 +13,7 @@ import useAuthStore from "../../../store/auth";
|
|
|
13
13
|
const SearchItemAsMessage = (props) => {
|
|
14
14
|
var _a;
|
|
15
15
|
const { t } = useTranslation();
|
|
16
|
-
const { message, searchTerm = "", onClick } = props;
|
|
16
|
+
const { message, searchTerm = "", displayTag, onClick } = props;
|
|
17
17
|
const { user } = useChatContext();
|
|
18
18
|
const isCrm = useAuthStore((state) => state.isCrm);
|
|
19
19
|
const conversationData = useConversationStore((state) => state.conversationData);
|
|
@@ -65,8 +65,8 @@ const SearchItemAsMessage = (props) => {
|
|
|
65
65
|
? message.senderNickname
|
|
66
66
|
: conversationData === null || conversationData === void 0 ? void 0 : conversationData.showName }), _jsx("span", { className: "text-xs text-gray-500", children: formatTimestamp(message.sendTime, {
|
|
67
67
|
hasTime: true,
|
|
68
|
-
}) })] }),
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
}) })] }), _jsxs("div", { className: "flex flex-col flex-1 min-w-0 gap-1", children: [_jsx("span", { className: "text-xs flex-1 text-gray-500 truncate", dangerouslySetInnerHTML: {
|
|
69
|
+
__html: sanitizeHtml(highlightSearch(msgContent, searchTerm)),
|
|
70
|
+
} }), displayTag && (_jsx("span", { className: "text-[10px] text-blue-600 bg-blue-50 px-1.5 py-0.5 rounded w-fit truncate", children: displayTag }))] })] })] }, message.clientMsgID));
|
|
71
71
|
};
|
|
72
72
|
export default SearchItemAsMessage;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
1
2
|
interface SupporterInfo {
|
|
2
3
|
avatar: string;
|
|
3
4
|
username: string;
|
|
@@ -6,9 +7,11 @@ interface SupporterInfo {
|
|
|
6
7
|
}
|
|
7
8
|
interface ManualAssignPopoverProps {
|
|
8
9
|
sessionId: string;
|
|
9
|
-
supporter
|
|
10
|
+
supporter?: SupporterInfo | null;
|
|
10
11
|
teamId?: string;
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
excludeCurrentUser?: boolean;
|
|
11
14
|
}
|
|
12
|
-
declare const ManualAssignPopover: ({ sessionId, supporter, teamId: propTeamId, }: ManualAssignPopoverProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare const ManualAssignPopover: ({ sessionId, supporter, teamId: propTeamId, children, excludeCurrentUser, }: ManualAssignPopoverProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
16
|
export default ManualAssignPopover;
|
|
14
17
|
//# sourceMappingURL=ManualAssignPopover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManualAssignPopover.d.ts","sourceRoot":"","sources":["../../../src/components/thread/ManualAssignPopover.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ManualAssignPopover.d.ts","sourceRoot":"","sources":["../../../src/components/thread/ManualAssignPopover.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAkBjD,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,wBAAwB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AA8CD,QAAA,MAAM,mBAAmB,GAAI,6EAM1B,wBAAwB,4CA4O1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|