@phonghq/go-chat 1.0.42 → 1.0.44
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/assets/icons/IconPlan.vue.d.ts +13 -1
- package/dist/assets/icons/call/IconPhoneCancel.vue.d.ts +13 -1
- package/dist/assets/icons/customer-detail/IconPhone.vue.d.ts +13 -1
- package/dist/chat/App.vue.d.ts +13 -2
- package/dist/chat/page/home/ChatList.vue.d.ts +10 -0
- package/dist/chat/page/home/ChatMessageItem.vue.d.ts +1 -0
- package/dist/chat/page/home/ChatMessageItem2.vue.d.ts +19 -0
- package/dist/chat/page/home/Home.vue.d.ts +2 -0
- package/dist/chat/page/home/InputChat.vue.d.ts +2 -0
- package/dist/components/chat/call/Calling.vue.d.ts +4 -2
- package/dist/components/chat/common/tabs/TabBase.vue.d.ts +18 -0
- package/dist/components/common/drawer/DrawerBaseCustom.vue.d.ts +1 -1
- package/dist/components/ui/select/Select.vue.d.ts +20 -0
- package/dist/components/ui/select/SelectContent.vue.d.ts +24 -0
- package/dist/components/ui/select/SelectGroup.vue.d.ts +10 -0
- package/dist/components/ui/select/SelectItem.vue.d.ts +18 -0
- package/dist/components/ui/select/SelectItemText.vue.d.ts +10 -0
- package/dist/components/ui/select/SelectLabel.vue.d.ts +14 -0
- package/dist/components/ui/select/SelectScrollDownButton.vue.d.ts +14 -0
- package/dist/components/ui/select/SelectScrollUpButton.vue.d.ts +14 -0
- package/dist/components/ui/select/SelectSeparator.vue.d.ts +7 -0
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +17 -0
- package/dist/components/ui/select/SelectValue.vue.d.ts +10 -0
- package/dist/components/ui/select/index.d.ts +11 -0
- package/dist/components/ui/tabs/Tabs.vue.d.ts +20 -0
- package/dist/components/ui/tabs/TabsContent.vue.d.ts +14 -0
- package/dist/components/ui/tabs/TabsList.vue.d.ts +14 -0
- package/dist/components/ui/tabs/TabsTrigger.vue.d.ts +14 -0
- package/dist/components/ui/tabs/index.d.ts +4 -0
- package/dist/composable/useDigibot.d.ts +1 -1
- package/dist/composable/useInitData.d.ts +5 -2
- package/dist/composable/useListConversations.d.ts +4 -1
- package/dist/composable/useListentEvent.d.ts +5 -0
- package/dist/composable/usePlivo.d.ts +1 -0
- package/dist/constant/color.d.ts +2 -2
- package/dist/go-chat.es.js +14663 -14004
- package/dist/go-chat.umd.js +15 -15
- package/dist/style.css +1 -1
- package/dist/test/assets/icons/IconPlan.vue.js +23 -3
- package/dist/test/assets/icons/IconUser.vue.js +25 -0
- package/dist/test/assets/icons/call/IconPhone.vue.js +6 -19
- package/dist/test/assets/icons/call/IconPhoneCancel.vue.js +32 -21
- package/dist/test/assets/icons/customer-detail/IconPhone.vue.js +23 -3
- package/dist/test/chat/App.vue.js +303 -282
- package/dist/test/chat/page/customer-check-in/CustomerCheckIn.vue.js +3 -1
- package/dist/test/chat/page/customer-detail/CustomerDetail.vue.js +4 -4
- package/dist/test/chat/page/home/ChatList.vue.js +113 -43
- package/dist/test/chat/page/home/ChatMessage.vue.js +10 -1
- package/dist/test/chat/page/home/ChatMessageItem.vue.js +75 -83
- package/dist/test/chat/page/home/ChatMessageItem2.vue.js +351 -0
- package/dist/test/chat/page/home/Home.vue.js +29 -9
- package/dist/test/chat/page/home/HomeHeader.vue.js +8 -4
- package/dist/test/chat/page/home/InputChat.vue.js +58 -37
- package/dist/test/components/chat/call/Calling.vue.js +117 -71
- package/dist/test/components/chat/common/tab/TabBase.vue.js +1 -0
- package/dist/test/components/chat/common/tabs/TabBase.vue.js +92 -0
- package/dist/test/components/chat/customer/Avatar.vue.js +23 -4
- package/dist/test/components/chat/layout/mobile/Footer.vue.js +6 -1
- package/dist/test/components/common/drawer/DrawerBaseCustom.vue.js +1 -0
- package/dist/test/components/common/select/SelectBase.vue.js +139 -0
- package/dist/test/components/ui/select/Select.vue.js +49 -0
- package/dist/test/components/ui/select/SelectContent.vue.js +98 -0
- package/dist/test/components/ui/select/SelectGroup.vue.js +37 -0
- package/dist/test/components/ui/select/SelectItem.vue.js +86 -0
- package/dist/test/components/ui/select/SelectItemText.vue.js +37 -0
- package/dist/test/components/ui/select/SelectLabel.vue.js +40 -0
- package/dist/test/components/ui/select/SelectScrollDownButton.vue.js +58 -0
- package/dist/test/components/ui/select/SelectScrollUpButton.vue.js +58 -0
- package/dist/test/components/ui/select/SelectSeparator.vue.js +39 -0
- package/dist/test/components/ui/select/SelectTrigger.vue.js +76 -0
- package/dist/test/components/ui/select/SelectValue.vue.js +37 -0
- package/dist/test/components/ui/select/index.js +11 -0
- package/dist/test/components/ui/tabs/Tabs.vue.js +54 -0
- package/dist/test/components/ui/tabs/TabsContent.vue.js +44 -0
- package/dist/test/components/ui/tabs/TabsList.vue.js +44 -0
- package/dist/test/components/ui/tabs/TabsTrigger.vue.js +45 -0
- package/dist/test/components/ui/tabs/index.js +4 -0
- package/dist/test/composable/useDigibot.js +3 -3
- package/dist/test/composable/useInitData.js +23 -14
- package/dist/test/composable/useListConversations.js +51 -33
- package/dist/test/composable/useListentEvent.js +45 -0
- package/dist/test/composable/usePlivo.js +6 -1
- package/dist/test/constant/color.js +4 -2
- package/dist/test/plugins/axios-gci.js +1 -1
- package/dist/test/utils/chat/auth.js +1 -1
- package/dist/test/utils/chat/cache.js +63 -0
- package/dist/test/utils/chat/call.js +2 -3
- package/dist/test/utils/chat/conversation.js +9 -2
- package/dist/test/utils/chat/page-error.js +25 -0
- package/dist/test/utils/chat/user.js +7 -2
- package/dist/test/utils/string-helper.js +13 -0
- package/dist/test/views/NotTenantPhone.vue.js +99 -0
- package/dist/types/chat/global.d.ts +6 -5
- package/dist/types/conversation.d.ts +2 -0
- package/dist/utils/chat/auth.d.ts +1 -1
- package/dist/utils/chat/cache.d.ts +7 -0
- package/dist/utils/chat/conversation.d.ts +2 -0
- package/dist/utils/chat/page-error.d.ts +4 -0
- package/dist/utils/chat/user.d.ts +3 -0
- package/dist/utils/string-helper.d.ts +1 -0
- package/dist/views/NotTenantPhone.vue.d.ts +9 -0
- package/package.json +3 -2
- package/dist/components/layout/Blank.vue.d.ts +0 -9
- package/dist/components/layout/Default.vue.d.ts +0 -9
- package/dist/composable/useError.d.ts +0 -4
- package/dist/composable/useModalConfirm.d.ts +0 -5
- package/dist/test/components/ListenEvent.vue.js +0 -45
- package/dist/test/components/layout/Blank.vue.js +0 -19
- package/dist/test/components/layout/Default.vue.js +0 -21
- package/dist/test/components/modal/Confirm.vue.js +0 -164
- package/dist/test/composable/useError.js +0 -10
- package/dist/test/composable/useModalConfirm.js +0 -39
- /package/dist/{components/ListenEvent.vue.d.ts → assets/icons/IconUser.vue.d.ts} +0 -0
- /package/dist/components/{modal/Confirm.vue.d.ts → common/select/SelectBase.vue.d.ts} +0 -0
|
@@ -9,8 +9,10 @@ import { addHandleMqttMessage, connectMqtt, publishMessage, removeHandleMqttMess
|
|
|
9
9
|
import { TOPIC_DETAIL_CHAT, TOPIC_PLIVO_SMS } from '../../../constant/mqtt';
|
|
10
10
|
import { MessageState } from '../../../constant/message';
|
|
11
11
|
import { publicTopicConversationUpdate } from '../../../utils/chat/conversation';
|
|
12
|
+
import { getCache, removeOldestCache, setCache } from '../../../utils/chat/cache';
|
|
12
13
|
const props = withDefaults(defineProps(), {});
|
|
13
14
|
const emit = defineEmits();
|
|
15
|
+
const MESSAGE_STORAGE_KEY = 'chat-message-';
|
|
14
16
|
const reversedList = computed(() => listMessage.value.slice().reverse());
|
|
15
17
|
let page = 1;
|
|
16
18
|
let pageCount = 1;
|
|
@@ -46,8 +48,9 @@ const handleDisconnectMqtt = async () => {
|
|
|
46
48
|
removeHandleMqttMessage('chat-home-1');
|
|
47
49
|
};
|
|
48
50
|
const mqttMessageHandler = (topic, message) => {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
// console.log(topic, message)
|
|
52
|
+
if ((infoUser.value?.id && message?.sender_id?.toString() == infoUser.value?.id?.toString()) ||
|
|
53
|
+
(infoUser.value?.id && message?.receiver_id?.toString() == infoUser.value?.id?.toString())) {
|
|
51
54
|
const index = listMessage.value.findIndex((item) => item.id === message?.id);
|
|
52
55
|
if (index < 0) {
|
|
53
56
|
listMessage.value.unshift(message);
|
|
@@ -63,14 +66,23 @@ const handleGetMessage = async (option) => {
|
|
|
63
66
|
try {
|
|
64
67
|
const id = props.receiverId;
|
|
65
68
|
const params = { page: option?.resetList ? 1 : page, receiver_id: props.receiverId };
|
|
69
|
+
if (params.page <= 1) {
|
|
70
|
+
const cache = getCache(MESSAGE_STORAGE_KEY + id);
|
|
71
|
+
if (cache.data) {
|
|
72
|
+
listMessage.value = cache.data ?? [];
|
|
73
|
+
chatMessageRef.value?.scrollBottom();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
66
76
|
let res = await getMessage(params);
|
|
67
77
|
// res.items = res.items.reverse()
|
|
68
78
|
page = res._meta?.currentPage || 1;
|
|
69
79
|
pageCount = res._meta?.pageCount || 1;
|
|
70
80
|
if (id == props.receiverId) {
|
|
71
|
-
if (
|
|
81
|
+
if (page <= 1) {
|
|
72
82
|
listMessage.value = res.items;
|
|
73
83
|
chatMessageRef.value?.scrollBottom();
|
|
84
|
+
setCache(MESSAGE_STORAGE_KEY + id, res.items);
|
|
85
|
+
removeOldestCache(8, MESSAGE_STORAGE_KEY);
|
|
74
86
|
}
|
|
75
87
|
else {
|
|
76
88
|
listMessage.value.push(...res.items);
|
|
@@ -165,13 +177,18 @@ const handleSendMessage = async (data) => {
|
|
|
165
177
|
});
|
|
166
178
|
updateMessageItem(data.id, { state: MessageState.Sent });
|
|
167
179
|
chatMessageRef.value?.scrollBottom();
|
|
168
|
-
publicTopicConversationUpdate({
|
|
180
|
+
publicTopicConversationUpdate({
|
|
181
|
+
message: data?.message ?? '',
|
|
182
|
+
isSendImg: !!file_upload?.length,
|
|
183
|
+
infoUser: infoUser.value,
|
|
184
|
+
is_unknown: props.conversation?.is_unknown ?? 0
|
|
185
|
+
});
|
|
169
186
|
}
|
|
170
187
|
catch (error) {
|
|
171
188
|
console.log(error);
|
|
172
189
|
updateMessageItem(data.id, {
|
|
173
190
|
state: MessageState.Failed,
|
|
174
|
-
error: typeof error?.
|
|
191
|
+
error: typeof error?.messages == 'string' ? error.messages : ''
|
|
175
192
|
});
|
|
176
193
|
}
|
|
177
194
|
};
|
|
@@ -299,15 +316,17 @@ const __VLS_22 = __VLS_asFunctionalComponent(InputChat, new InputChat({
|
|
|
299
316
|
...{ 'onSendMessage': {} },
|
|
300
317
|
...{ 'onFocus': {} },
|
|
301
318
|
data: (__VLS_ctx.infoUser),
|
|
319
|
+
responsive: (__VLS_ctx.responsive),
|
|
302
320
|
ref: "inputChatRef",
|
|
303
|
-
...{ class: "p-6" },
|
|
321
|
+
...{ class: "p-2 sm:p-6" },
|
|
304
322
|
}));
|
|
305
323
|
const __VLS_23 = __VLS_22({
|
|
306
324
|
...{ 'onSendMessage': {} },
|
|
307
325
|
...{ 'onFocus': {} },
|
|
308
326
|
data: (__VLS_ctx.infoUser),
|
|
327
|
+
responsive: (__VLS_ctx.responsive),
|
|
309
328
|
ref: "inputChatRef",
|
|
310
|
-
...{ class: "p-6" },
|
|
329
|
+
...{ class: "p-2 sm:p-6" },
|
|
311
330
|
}, ...__VLS_functionalComponentArgsRest(__VLS_22));
|
|
312
331
|
let __VLS_25;
|
|
313
332
|
let __VLS_26;
|
|
@@ -317,7 +336,7 @@ const __VLS_28 = ({ focus: {} },
|
|
|
317
336
|
{ onFocus: (...[$event]) => {
|
|
318
337
|
__VLS_ctx.emit('inputFocus');
|
|
319
338
|
// @ts-ignore
|
|
320
|
-
[infoUser, emit, handleSendMessage,];
|
|
339
|
+
[infoUser, responsive, emit, handleSendMessage,];
|
|
321
340
|
} });
|
|
322
341
|
/** @type {typeof __VLS_ctx.inputChatRef} */ ;
|
|
323
342
|
var __VLS_29 = {};
|
|
@@ -332,7 +351,8 @@ var __VLS_24;
|
|
|
332
351
|
/** @type {__VLS_StyleScopedClasses['grow']} */ ;
|
|
333
352
|
/** @type {__VLS_StyleScopedClasses['grow']} */ ;
|
|
334
353
|
/** @type {__VLS_StyleScopedClasses['grow']} */ ;
|
|
335
|
-
/** @type {__VLS_StyleScopedClasses['p-
|
|
354
|
+
/** @type {__VLS_StyleScopedClasses['p-2']} */ ;
|
|
355
|
+
/** @type {__VLS_StyleScopedClasses['sm:p-6']} */ ;
|
|
336
356
|
// @ts-ignore
|
|
337
357
|
var __VLS_16 = __VLS_15, __VLS_30 = __VLS_29;
|
|
338
358
|
const __VLS_export = (await import('vue')).defineComponent({
|
|
@@ -30,7 +30,7 @@ const handleActivePlivoSmsChange = async (is_active) => {
|
|
|
30
30
|
loading.value = true;
|
|
31
31
|
await activePlivoMode({ id: dataProfile.value?.id, is_sms: is_active ? 1 : 0 });
|
|
32
32
|
if (dataProfile.value != null)
|
|
33
|
-
dataProfile.value.is_sms_active =
|
|
33
|
+
dataProfile.value.is_sms_active = is_active ? 1 : 0;
|
|
34
34
|
activePlivoSms.value = is_active;
|
|
35
35
|
}
|
|
36
36
|
catch (e) {
|
|
@@ -52,10 +52,10 @@ let __VLS_elements;
|
|
|
52
52
|
let __VLS_components;
|
|
53
53
|
let __VLS_directives;
|
|
54
54
|
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
55
|
-
...{ class: "px-8
|
|
55
|
+
...{ class: "px-8 py-4 h-[96px] layout-shadow border-b border-chat-gray-5 z-10" },
|
|
56
56
|
});
|
|
57
57
|
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
58
|
-
...{ class: "flex items-center gap-2" },
|
|
58
|
+
...{ class: "flex items-center gap-2 h-full" },
|
|
59
59
|
});
|
|
60
60
|
if (__VLS_ctx.responsive == 'mobile') {
|
|
61
61
|
// @ts-ignore
|
|
@@ -187,12 +187,16 @@ if (__VLS_ctx.data?.id && __VLS_ctx.data?.id != __VLS_ctx.digibotId.toString() &
|
|
|
187
187
|
const __VLS_23 = __VLS_22({}, ...__VLS_functionalComponentArgsRest(__VLS_22));
|
|
188
188
|
}
|
|
189
189
|
/** @type {__VLS_StyleScopedClasses['px-8']} */ ;
|
|
190
|
-
/** @type {__VLS_StyleScopedClasses['
|
|
190
|
+
/** @type {__VLS_StyleScopedClasses['py-4']} */ ;
|
|
191
|
+
/** @type {__VLS_StyleScopedClasses['h-[96px]']} */ ;
|
|
192
|
+
/** @type {__VLS_StyleScopedClasses['layout-shadow']} */ ;
|
|
191
193
|
/** @type {__VLS_StyleScopedClasses['border-b']} */ ;
|
|
192
194
|
/** @type {__VLS_StyleScopedClasses['border-chat-gray-5']} */ ;
|
|
195
|
+
/** @type {__VLS_StyleScopedClasses['z-10']} */ ;
|
|
193
196
|
/** @type {__VLS_StyleScopedClasses['flex']} */ ;
|
|
194
197
|
/** @type {__VLS_StyleScopedClasses['items-center']} */ ;
|
|
195
198
|
/** @type {__VLS_StyleScopedClasses['gap-2']} */ ;
|
|
199
|
+
/** @type {__VLS_StyleScopedClasses['h-full']} */ ;
|
|
196
200
|
/** @type {__VLS_StyleScopedClasses['shrink-0']} */ ;
|
|
197
201
|
/** @type {__VLS_StyleScopedClasses['flex']} */ ;
|
|
198
202
|
/** @type {__VLS_StyleScopedClasses['items-center']} */ ;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="C:/phonghq/go-chat-v2/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
|
|
2
2
|
import IconPlan from '../../../assets/icons/IconPlan.vue';
|
|
3
3
|
import EmojiPicker from 'vue3-emoji-picker';
|
|
4
4
|
import 'vue3-emoji-picker/css';
|
|
@@ -34,6 +34,7 @@ const handleSendMessage = async (type) => {
|
|
|
34
34
|
return;
|
|
35
35
|
messageContent = keyword.value;
|
|
36
36
|
keyword.value = '';
|
|
37
|
+
setInputHeight(chatInputRef.value);
|
|
37
38
|
}
|
|
38
39
|
else if (type == 'file') {
|
|
39
40
|
const file = uploadImage();
|
|
@@ -55,7 +56,7 @@ const handleSendMessage = async (type) => {
|
|
|
55
56
|
sender_id: dataProfile.value?.id,
|
|
56
57
|
status: 'read',
|
|
57
58
|
attachments: attachments,
|
|
58
|
-
is_sms: dataProfile.value?.is_sms_active
|
|
59
|
+
is_sms: dataProfile.value?.is_sms_active
|
|
59
60
|
};
|
|
60
61
|
emit('sendMessage', data);
|
|
61
62
|
};
|
|
@@ -89,7 +90,7 @@ const handleActivePlivoSmsChange = async (is_active) => {
|
|
|
89
90
|
const setInputHeight = (e) => {
|
|
90
91
|
const el = chatInputRef.value;
|
|
91
92
|
el.style.height = 'auto';
|
|
92
|
-
if (keyword.value?.replace(/\s+/g,
|
|
93
|
+
if (keyword.value?.replace(/\s+/g, '') == '') {
|
|
93
94
|
el.style.height = 42 + 'px';
|
|
94
95
|
keyword.value = '';
|
|
95
96
|
}
|
|
@@ -101,6 +102,8 @@ const handleSetInputHeight = useDebounce((e) => {
|
|
|
101
102
|
setInputHeight(e);
|
|
102
103
|
}, 200);
|
|
103
104
|
const handleInput = () => {
|
|
105
|
+
if (props.responsive == 'mobile') {
|
|
106
|
+
}
|
|
104
107
|
emit('focus');
|
|
105
108
|
};
|
|
106
109
|
const clearInput = () => {
|
|
@@ -122,8 +125,7 @@ let __VLS_elements;
|
|
|
122
125
|
let __VLS_components;
|
|
123
126
|
let __VLS_directives;
|
|
124
127
|
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
125
|
-
...{ class: "z-10" },
|
|
126
|
-
...{ style: {} },
|
|
128
|
+
...{ class: "z-10 layout-shadow border-t border-chat-gray-5" },
|
|
127
129
|
});
|
|
128
130
|
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
129
131
|
...{ class: "flex gap-2 items-end h-max" },
|
|
@@ -147,7 +149,7 @@ __VLS_asFunctionalElement(__VLS_elements.textarea)({
|
|
|
147
149
|
// @ts-ignore
|
|
148
150
|
[setInputHeight,];
|
|
149
151
|
} },
|
|
150
|
-
...{ class: "w-full min-h-11 overflow-hidden chat-input !rounded-xl pl-4 py-2 pr-[96px] border border-chat-haze-200" },
|
|
152
|
+
...{ class: "text-[14px] sm:text-base w-full min-h-11 overflow-hidden chat-input !rounded-xl pl-4 py-2 pr-[96px] border border-chat-haze-200" },
|
|
151
153
|
ref: "chatInputRef",
|
|
152
154
|
rows: "1",
|
|
153
155
|
placeholder: "Send Message",
|
|
@@ -157,7 +159,7 @@ __VLS_asFunctionalElement(__VLS_elements.textarea)({
|
|
|
157
159
|
// @ts-ignore
|
|
158
160
|
[keyword, chatInputRef,];
|
|
159
161
|
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
160
|
-
...{ class: "flex gap-2
|
|
162
|
+
...{ class: "flex gap-2 -translate-y-2" },
|
|
161
163
|
});
|
|
162
164
|
/** @type {[typeof PopoverBase, typeof PopoverBase, ]} */ ;
|
|
163
165
|
// @ts-ignore
|
|
@@ -180,8 +182,11 @@ __VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
|
|
|
180
182
|
// @ts-ignore
|
|
181
183
|
[emojiOpen, emojiOpen,];
|
|
182
184
|
} },
|
|
183
|
-
...{ class: "h-11 w-
|
|
185
|
+
...{ class: "h-11 w-8" },
|
|
184
186
|
});
|
|
187
|
+
__VLS_asFunctionalDirective(__VLS_directives.vShow)(null, { ...__VLS_directiveBindingRestFields, value: (!(__VLS_ctx.keyword != '' && __VLS_ctx.responsive == 'mobile')) }, null, null);
|
|
188
|
+
// @ts-ignore
|
|
189
|
+
[keyword, responsive,];
|
|
185
190
|
{
|
|
186
191
|
const { content: __VLS_4 } = __VLS_2.slots;
|
|
187
192
|
const __VLS_5 = {}.EmojiPicker;
|
|
@@ -229,21 +234,12 @@ const __VLS_15 = __VLS_14({
|
|
|
229
234
|
offset: (2),
|
|
230
235
|
hideSearch: true,
|
|
231
236
|
}, ...__VLS_functionalComponentArgsRest(__VLS_14));
|
|
232
|
-
__VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
|
|
233
|
-
...{ onClick: (...[$event]) => {
|
|
234
|
-
__VLS_ctx.handleSendMessage('message');
|
|
235
|
-
// @ts-ignore
|
|
236
|
-
[handleSendMessage,];
|
|
237
|
-
} },
|
|
238
|
-
...{ class: "h-11 w-10" },
|
|
239
|
-
});
|
|
240
|
-
/** @type {[typeof IconPlan, ]} */ ;
|
|
241
|
-
// @ts-ignore
|
|
242
|
-
const __VLS_18 = __VLS_asFunctionalComponent(IconPlan, new IconPlan({}));
|
|
243
|
-
const __VLS_19 = __VLS_18({}, ...__VLS_functionalComponentArgsRest(__VLS_18));
|
|
244
237
|
__VLS_asFunctionalElement(__VLS_elements.label, __VLS_elements.label)({
|
|
245
|
-
...{ class: "
|
|
238
|
+
...{ class: "cursor-pointer relative" },
|
|
246
239
|
});
|
|
240
|
+
__VLS_asFunctionalDirective(__VLS_directives.vShow)(null, { ...__VLS_directiveBindingRestFields, value: (!(__VLS_ctx.keyword != '' && __VLS_ctx.responsive == 'mobile')) }, null, null);
|
|
241
|
+
// @ts-ignore
|
|
242
|
+
[keyword, responsive,];
|
|
247
243
|
__VLS_asFunctionalElement(__VLS_elements.input)({
|
|
248
244
|
...{ onChange: (__VLS_ctx.handleFileUpload) },
|
|
249
245
|
type: "file",
|
|
@@ -255,23 +251,49 @@ __VLS_asFunctionalElement(__VLS_elements.input)({
|
|
|
255
251
|
// @ts-ignore
|
|
256
252
|
[handleFileUpload, refInputImage,];
|
|
257
253
|
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
258
|
-
...{ class: "h-11 w-
|
|
254
|
+
...{ class: "h-11 w-8 flex-center" },
|
|
255
|
+
});
|
|
256
|
+
__VLS_asFunctionalElement(__VLS_elements.svg, __VLS_elements.svg)({
|
|
257
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
258
|
+
viewBox: "0 0 24 24",
|
|
259
|
+
fill: "none",
|
|
260
|
+
stroke: "currentColor",
|
|
261
|
+
'stroke-width': "1.5",
|
|
262
|
+
'stroke-linecap': "round",
|
|
263
|
+
'stroke-linejoin': "round",
|
|
264
|
+
...{ class: "w-5 h-5" },
|
|
259
265
|
});
|
|
260
|
-
|
|
266
|
+
__VLS_asFunctionalElement(__VLS_elements.path)({
|
|
267
|
+
d: "M21.44 11.05l-8.49 8.49a5 5 0 01-7.07-7.07l8.49-8.49a3.5 3.5 0 014.95 4.95l-8.5 8.49a2 2 0 11-2.83-2.83l7.78-7.78",
|
|
268
|
+
});
|
|
269
|
+
__VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
|
|
270
|
+
...{ onClick: (...[$event]) => {
|
|
271
|
+
__VLS_ctx.handleSendMessage('message');
|
|
272
|
+
// @ts-ignore
|
|
273
|
+
[handleSendMessage,];
|
|
274
|
+
} },
|
|
275
|
+
...{ class: "h-11 w-11 rounded-full flex-center bg-[#002E6B] ml-2" },
|
|
276
|
+
});
|
|
277
|
+
/** @type {[typeof IconPlan, ]} */ ;
|
|
261
278
|
// @ts-ignore
|
|
262
|
-
const
|
|
263
|
-
|
|
279
|
+
const __VLS_18 = __VLS_asFunctionalComponent(IconPlan, new IconPlan({
|
|
280
|
+
color: "#fff",
|
|
264
281
|
}));
|
|
265
|
-
const
|
|
266
|
-
|
|
267
|
-
}, ...__VLS_functionalComponentArgsRest(
|
|
282
|
+
const __VLS_19 = __VLS_18({
|
|
283
|
+
color: "#fff",
|
|
284
|
+
}, ...__VLS_functionalComponentArgsRest(__VLS_18));
|
|
268
285
|
/** @type {__VLS_StyleScopedClasses['z-10']} */ ;
|
|
286
|
+
/** @type {__VLS_StyleScopedClasses['layout-shadow']} */ ;
|
|
287
|
+
/** @type {__VLS_StyleScopedClasses['border-t']} */ ;
|
|
288
|
+
/** @type {__VLS_StyleScopedClasses['border-chat-gray-5']} */ ;
|
|
269
289
|
/** @type {__VLS_StyleScopedClasses['flex']} */ ;
|
|
270
290
|
/** @type {__VLS_StyleScopedClasses['gap-2']} */ ;
|
|
271
291
|
/** @type {__VLS_StyleScopedClasses['items-end']} */ ;
|
|
272
292
|
/** @type {__VLS_StyleScopedClasses['h-max']} */ ;
|
|
273
293
|
/** @type {__VLS_StyleScopedClasses['relative']} */ ;
|
|
274
294
|
/** @type {__VLS_StyleScopedClasses['grow']} */ ;
|
|
295
|
+
/** @type {__VLS_StyleScopedClasses['text-[14px]']} */ ;
|
|
296
|
+
/** @type {__VLS_StyleScopedClasses['sm:text-base']} */ ;
|
|
275
297
|
/** @type {__VLS_StyleScopedClasses['w-full']} */ ;
|
|
276
298
|
/** @type {__VLS_StyleScopedClasses['min-h-11']} */ ;
|
|
277
299
|
/** @type {__VLS_StyleScopedClasses['overflow-hidden']} */ ;
|
|
@@ -284,28 +306,27 @@ const __VLS_23 = __VLS_22({
|
|
|
284
306
|
/** @type {__VLS_StyleScopedClasses['border-chat-haze-200']} */ ;
|
|
285
307
|
/** @type {__VLS_StyleScopedClasses['flex']} */ ;
|
|
286
308
|
/** @type {__VLS_StyleScopedClasses['gap-2']} */ ;
|
|
287
|
-
/** @type {__VLS_StyleScopedClasses['
|
|
288
|
-
/** @type {__VLS_StyleScopedClasses['right-0']} */ ;
|
|
289
|
-
/** @type {__VLS_StyleScopedClasses['bottom-2']} */ ;
|
|
309
|
+
/** @type {__VLS_StyleScopedClasses['-translate-y-2']} */ ;
|
|
290
310
|
/** @type {__VLS_StyleScopedClasses['h-11']} */ ;
|
|
291
|
-
/** @type {__VLS_StyleScopedClasses['w-
|
|
311
|
+
/** @type {__VLS_StyleScopedClasses['w-8']} */ ;
|
|
292
312
|
/** @type {__VLS_StyleScopedClasses['!w-[300px]']} */ ;
|
|
293
313
|
/** @type {__VLS_StyleScopedClasses['opacity-0']} */ ;
|
|
294
314
|
/** @type {__VLS_StyleScopedClasses['pointer-events-none']} */ ;
|
|
295
315
|
/** @type {__VLS_StyleScopedClasses['absolute']} */ ;
|
|
296
|
-
/** @type {__VLS_StyleScopedClasses['h-11']} */ ;
|
|
297
|
-
/** @type {__VLS_StyleScopedClasses['w-10']} */ ;
|
|
298
|
-
/** @type {__VLS_StyleScopedClasses['shrink-0']} */ ;
|
|
299
316
|
/** @type {__VLS_StyleScopedClasses['cursor-pointer']} */ ;
|
|
300
317
|
/** @type {__VLS_StyleScopedClasses['relative']} */ ;
|
|
301
|
-
/** @type {__VLS_StyleScopedClasses['-translate-y-1']} */ ;
|
|
302
318
|
/** @type {__VLS_StyleScopedClasses['hidden']} */ ;
|
|
303
319
|
/** @type {__VLS_StyleScopedClasses['h-11']} */ ;
|
|
320
|
+
/** @type {__VLS_StyleScopedClasses['w-8']} */ ;
|
|
321
|
+
/** @type {__VLS_StyleScopedClasses['flex-center']} */ ;
|
|
322
|
+
/** @type {__VLS_StyleScopedClasses['w-5']} */ ;
|
|
323
|
+
/** @type {__VLS_StyleScopedClasses['h-5']} */ ;
|
|
324
|
+
/** @type {__VLS_StyleScopedClasses['h-11']} */ ;
|
|
304
325
|
/** @type {__VLS_StyleScopedClasses['w-11']} */ ;
|
|
305
326
|
/** @type {__VLS_StyleScopedClasses['rounded-full']} */ ;
|
|
306
327
|
/** @type {__VLS_StyleScopedClasses['flex-center']} */ ;
|
|
307
328
|
/** @type {__VLS_StyleScopedClasses['bg-[#002E6B]']} */ ;
|
|
308
|
-
/** @type {__VLS_StyleScopedClasses['
|
|
329
|
+
/** @type {__VLS_StyleScopedClasses['ml-2']} */ ;
|
|
309
330
|
const __VLS_export = (await import('vue')).defineComponent({
|
|
310
331
|
setup: () => (__VLS_exposed),
|
|
311
332
|
__typeEmits: {},
|