@phonghq/go-chat 1.0.29 → 1.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/chat/App.vue.d.ts +2 -2
  2. package/dist/chat/page/customer-detail/CustomerDetail.vue.d.ts +2 -2
  3. package/dist/chat/page/home/ChatList.vue.d.ts +2 -2
  4. package/dist/chat/page/home/ChatMessage.vue.d.ts +2 -2
  5. package/dist/chat/page/home/ChatMessageItem.vue.d.ts +2 -2
  6. package/dist/chat/page/home/Home.vue.d.ts +4 -2
  7. package/dist/chat/page/home/HomeHeader.vue.d.ts +4 -0
  8. package/dist/chat/page/home/InputChat.vue.d.ts +3 -1
  9. package/dist/chat/page/setting/SettingSuccess.vue.d.ts +2 -0
  10. package/dist/components/chat/call/Calling.vue.d.ts +2 -2
  11. package/dist/components/chat/common/input/InputSearch.vue.d.ts +2 -2
  12. package/dist/components/chat/common/spin/BaseSpin.vue.d.ts +1 -0
  13. package/dist/components/common/drawer/DrawerBaseCustom.vue.d.ts +2 -2
  14. package/dist/composable/useInitData.d.ts +2 -2
  15. package/dist/constant/general.d.ts +3 -1
  16. package/dist/go-chat.es.js +11035 -9866
  17. package/dist/go-chat.umd.js +13 -13
  18. package/dist/plugins/pocketbase.d.ts +5 -0
  19. package/dist/style.css +1 -1
  20. package/dist/test/chat/App.vue.js +146 -149
  21. package/dist/test/chat/page/home/Home.vue.js +39 -23
  22. package/dist/test/chat/page/home/HomeHeader.vue.js +44 -16
  23. package/dist/test/chat/page/home/InputChat.vue.js +42 -43
  24. package/dist/test/chat/page/setting/Setting.vue.js +148 -7
  25. package/dist/test/chat/page/setting/SettingSuccess.vue.js +33 -0
  26. package/dist/test/components/chat/common/spin/BaseSpin.vue.js +4 -0
  27. package/dist/test/components/chat/select/SelectBase.vue.js +1 -2
  28. package/dist/test/components/common/button/ButtonBase.vue.js +3 -3
  29. package/dist/test/composable/useInitData.js +4 -1
  30. package/dist/test/composable/usePlivo.js +3 -2
  31. package/dist/test/constant/general.js +2 -0
  32. package/dist/test/plugins/pocketbase.js +16 -0
  33. package/dist/test/utils/chat/auth.js +2 -1
  34. package/dist/types/chat/auth.d.ts +1 -0
  35. package/dist/types/chat/global.d.ts +2 -2
  36. package/dist/utils/chat/auth.d.ts +2 -0
  37. package/package.json +2 -1
@@ -20,6 +20,7 @@ const isLoading = ref(false);
20
20
  const infoUser = shallowRef(null);
21
21
  const listMessage = ref([]);
22
22
  const chatMessageRef = ref(null);
23
+ const inputChatRef = ref(null);
23
24
  onMounted(() => { });
24
25
  onUnmounted(() => {
25
26
  handleDisconnectMqtt();
@@ -104,6 +105,7 @@ const getData = async (data) => {
104
105
  try {
105
106
  isLoading.value = true;
106
107
  listMessage.value = [];
108
+ inputChatRef.value?.clearInput();
107
109
  handleGetDetailReceiver(data);
108
110
  await Promise.allSettled([handleGetMessage({ resetList: true })]);
109
111
  // readMessages(infoUser.value?.conversation_id)
@@ -207,27 +209,35 @@ __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
207
209
  // @ts-ignore
208
210
  const __VLS_0 = __VLS_asFunctionalComponent(HomeHeader, new HomeHeader({
209
211
  ...{ 'onCall': {} },
212
+ ...{ 'onBack': {} },
210
213
  ...{ class: "shrink-0" },
211
214
  data: (__VLS_ctx.infoUser),
215
+ responsive: (__VLS_ctx.responsive),
212
216
  }));
213
217
  const __VLS_1 = __VLS_0({
214
218
  ...{ 'onCall': {} },
219
+ ...{ 'onBack': {} },
215
220
  ...{ class: "shrink-0" },
216
221
  data: (__VLS_ctx.infoUser),
222
+ responsive: (__VLS_ctx.responsive),
217
223
  }, ...__VLS_functionalComponentArgsRest(__VLS_0));
218
224
  let __VLS_3;
219
225
  let __VLS_4;
220
226
  const __VLS_5 = ({ call: {} },
221
227
  { onCall: (__VLS_ctx.call) });
222
- // @ts-ignore
223
- [infoUser, call,];
228
+ const __VLS_6 = ({ back: {} },
229
+ { onBack: (...[$event]) => {
230
+ __VLS_ctx.emit('back');
231
+ // @ts-ignore
232
+ [infoUser, responsive, call, emit,];
233
+ } });
224
234
  var __VLS_2;
225
235
  if (__VLS_ctx.listMessage?.length) {
226
236
  // @ts-ignore
227
237
  [listMessage,];
228
238
  /** @type {[typeof ChatMessage, ]} */ ;
229
239
  // @ts-ignore
230
- const __VLS_7 = __VLS_asFunctionalComponent(ChatMessage, new ChatMessage({
240
+ const __VLS_8 = __VLS_asFunctionalComponent(ChatMessage, new ChatMessage({
231
241
  ...{ 'onScrollTop': {} },
232
242
  ...{ 'onCallBack': {} },
233
243
  ref: "chatMessageRef",
@@ -237,7 +247,7 @@ if (__VLS_ctx.listMessage?.length) {
237
247
  responsive: (__VLS_ctx.responsive),
238
248
  showNewCustomer: (__VLS_ctx.page >= __VLS_ctx.pageCount),
239
249
  }));
240
- const __VLS_8 = __VLS_7({
250
+ const __VLS_9 = __VLS_8({
241
251
  ...{ 'onScrollTop': {} },
242
252
  ...{ 'onCallBack': {} },
243
253
  ref: "chatMessageRef",
@@ -246,32 +256,32 @@ if (__VLS_ctx.listMessage?.length) {
246
256
  ...{ class: "grow" },
247
257
  responsive: (__VLS_ctx.responsive),
248
258
  showNewCustomer: (__VLS_ctx.page >= __VLS_ctx.pageCount),
249
- }, ...__VLS_functionalComponentArgsRest(__VLS_7));
250
- let __VLS_10;
259
+ }, ...__VLS_functionalComponentArgsRest(__VLS_8));
251
260
  let __VLS_11;
252
- const __VLS_12 = ({ scrollTop: {} },
261
+ let __VLS_12;
262
+ const __VLS_13 = ({ scrollTop: {} },
253
263
  { onScrollTop: (__VLS_ctx.handleScrollTop) });
254
- const __VLS_13 = ({ callBack: {} },
264
+ const __VLS_14 = ({ callBack: {} },
255
265
  { onCallBack: (__VLS_ctx.call) });
256
266
  /** @type {typeof __VLS_ctx.chatMessageRef} */ ;
257
- var __VLS_14 = {};
267
+ var __VLS_15 = {};
258
268
  // @ts-ignore
259
- [infoUser, call, reversedList, responsive, page, pageCount, handleScrollTop, chatMessageRef,];
260
- var __VLS_9;
269
+ [infoUser, responsive, call, reversedList, page, pageCount, handleScrollTop, chatMessageRef,];
270
+ var __VLS_10;
261
271
  }
262
272
  else if (!__VLS_ctx.isLoading) {
263
273
  // @ts-ignore
264
274
  [isLoading,];
265
275
  /** @type {[typeof NewCustomer, ]} */ ;
266
276
  // @ts-ignore
267
- const __VLS_17 = __VLS_asFunctionalComponent(NewCustomer, new NewCustomer({
277
+ const __VLS_18 = __VLS_asFunctionalComponent(NewCustomer, new NewCustomer({
268
278
  data: (__VLS_ctx.infoUser),
269
279
  ...{ class: "grow" },
270
280
  }));
271
- const __VLS_18 = __VLS_17({
281
+ const __VLS_19 = __VLS_18({
272
282
  data: (__VLS_ctx.infoUser),
273
283
  ...{ class: "grow" },
274
- }, ...__VLS_functionalComponentArgsRest(__VLS_17));
284
+ }, ...__VLS_functionalComponentArgsRest(__VLS_18));
275
285
  // @ts-ignore
276
286
  [infoUser,];
277
287
  }
@@ -282,29 +292,35 @@ else {
282
292
  }
283
293
  /** @type {[typeof InputChat, ]} */ ;
284
294
  // @ts-ignore
285
- const __VLS_21 = __VLS_asFunctionalComponent(InputChat, new InputChat({
295
+ const __VLS_22 = __VLS_asFunctionalComponent(InputChat, new InputChat({
286
296
  ...{ 'onSendMessage': {} },
287
297
  ...{ 'onFocus': {} },
288
298
  data: (__VLS_ctx.infoUser),
299
+ ref: "inputChatRef",
289
300
  ...{ class: "p-6" },
290
301
  }));
291
- const __VLS_22 = __VLS_21({
302
+ const __VLS_23 = __VLS_22({
292
303
  ...{ 'onSendMessage': {} },
293
304
  ...{ 'onFocus': {} },
294
305
  data: (__VLS_ctx.infoUser),
306
+ ref: "inputChatRef",
295
307
  ...{ class: "p-6" },
296
- }, ...__VLS_functionalComponentArgsRest(__VLS_21));
297
- let __VLS_24;
308
+ }, ...__VLS_functionalComponentArgsRest(__VLS_22));
298
309
  let __VLS_25;
299
- const __VLS_26 = ({ sendMessage: {} },
310
+ let __VLS_26;
311
+ const __VLS_27 = ({ sendMessage: {} },
300
312
  { onSendMessage: (__VLS_ctx.handleSendMessage) });
301
- const __VLS_27 = ({ focus: {} },
313
+ const __VLS_28 = ({ focus: {} },
302
314
  { onFocus: (...[$event]) => {
303
315
  __VLS_ctx.emit('inputFocus');
304
316
  // @ts-ignore
305
- [infoUser, handleSendMessage, emit,];
317
+ [infoUser, emit, handleSendMessage,];
306
318
  } });
307
- var __VLS_23;
319
+ /** @type {typeof __VLS_ctx.inputChatRef} */ ;
320
+ var __VLS_29 = {};
321
+ // @ts-ignore
322
+ [inputChatRef,];
323
+ var __VLS_24;
308
324
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
309
325
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
310
326
  /** @type {__VLS_StyleScopedClasses['flex-col']} */ ;
@@ -315,7 +331,7 @@ var __VLS_23;
315
331
  /** @type {__VLS_StyleScopedClasses['grow']} */ ;
316
332
  /** @type {__VLS_StyleScopedClasses['p-6']} */ ;
317
333
  // @ts-ignore
318
- var __VLS_15 = __VLS_14;
334
+ var __VLS_16 = __VLS_15, __VLS_30 = __VLS_29;
319
335
  const __VLS_export = (await import('vue')).defineComponent({
320
336
  setup: () => (__VLS_exposed),
321
337
  __typeEmits: {},
@@ -1,3 +1,4 @@
1
+ /// <reference types="C:/phonghq/go-chat-v2/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
1
2
  import IconPhone from '../../../assets/icons/IconPhone.vue';
2
3
  import { PAGE } from '../../../constant/general';
3
4
  import Avatar from '../../../components/chat/customer/Avatar.vue';
@@ -5,6 +6,7 @@ import { routerPush } from '../../../utils/chat/chat-router';
5
6
  import { user } from '../../../utils/chat/user';
6
7
  import { dataProfile } from '../../../utils/chat/auth';
7
8
  import { digibotId } from '../../../composable/useDigibot';
9
+ import IconArrowLeft from '../../../assets/icons/IconArrowLeft.vue';
8
10
  const props = withDefaults(defineProps(), {});
9
11
  const emit = defineEmits();
10
12
  const goToViewUser = () => {
@@ -31,41 +33,56 @@ __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
31
33
  ...{ class: "px-8 pb-4 border-b border-chat-gray-5" },
32
34
  });
33
35
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
34
- ...{ class: "flex items-center" },
36
+ ...{ class: "flex items-center gap-2" },
37
+ });
38
+ __VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
39
+ ...{ onClick: (...[$event]) => {
40
+ __VLS_ctx.emit('back');
41
+ // @ts-ignore
42
+ [emit,];
43
+ } },
44
+ ...{ class: "shrink-0 flex items-center" },
35
45
  });
46
+ /** @type {[typeof IconArrowLeft, ]} */ ;
47
+ // @ts-ignore
48
+ const __VLS_0 = __VLS_asFunctionalComponent(IconArrowLeft, new IconArrowLeft({}));
49
+ const __VLS_1 = __VLS_0({}, ...__VLS_functionalComponentArgsRest(__VLS_0));
36
50
  /** @type {[typeof Avatar, ]} */ ;
37
51
  // @ts-ignore
38
- const __VLS_0 = __VLS_asFunctionalComponent(Avatar, new Avatar({
52
+ const __VLS_4 = __VLS_asFunctionalComponent(Avatar, new Avatar({
39
53
  ...{ 'onClick': {} },
54
+ ...{ class: "shrink-0" },
40
55
  ...{ class: ({ 'cursor-pointer': __VLS_ctx.dataProfile?.user_type == 'tenant' }) },
41
56
  src: (__VLS_ctx.data?.avatar ?? ''),
42
57
  id: (__VLS_ctx.data?.id ?? ''),
43
58
  color: (__VLS_ctx.data?.color),
44
59
  name: (__VLS_ctx.data?.username),
45
60
  }));
46
- const __VLS_1 = __VLS_0({
61
+ const __VLS_5 = __VLS_4({
47
62
  ...{ 'onClick': {} },
63
+ ...{ class: "shrink-0" },
48
64
  ...{ class: ({ 'cursor-pointer': __VLS_ctx.dataProfile?.user_type == 'tenant' }) },
49
65
  src: (__VLS_ctx.data?.avatar ?? ''),
50
66
  id: (__VLS_ctx.data?.id ?? ''),
51
67
  color: (__VLS_ctx.data?.color),
52
68
  name: (__VLS_ctx.data?.username),
53
- }, ...__VLS_functionalComponentArgsRest(__VLS_0));
54
- let __VLS_3;
55
- let __VLS_4;
56
- const __VLS_5 = ({ click: {} },
69
+ }, ...__VLS_functionalComponentArgsRest(__VLS_4));
70
+ let __VLS_7;
71
+ let __VLS_8;
72
+ const __VLS_9 = ({ click: {} },
57
73
  { onClick: (__VLS_ctx.goToViewUser) });
58
74
  // @ts-ignore
59
75
  [dataProfile, data, data, data, data, goToViewUser,];
60
- var __VLS_2;
76
+ var __VLS_6;
61
77
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
62
- ...{ class: "flex-1 ml-3" },
78
+ ...{ class: "grow overflow-x-hidden" },
63
79
  });
64
80
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
65
- ...{ class: "flex justify-between items-center" },
81
+ ...{ class: "w-full flex justify-between items-center gap-4" },
66
82
  });
67
83
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
68
84
  ...{ onClick: (__VLS_ctx.goToViewUser) },
85
+ ...{ class: "grow overflow-x-hidden" },
69
86
  ...{ class: ({ 'cursor-pointer': __VLS_ctx.dataProfile?.user_type == 'tenant' }) },
70
87
  });
71
88
  // @ts-ignore
@@ -74,7 +91,7 @@ __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
74
91
  ...{ class: "flex items-center" },
75
92
  });
76
93
  __VLS_asFunctionalElement(__VLS_elements.p, __VLS_elements.p)({
77
- ...{ class: "font-semibold" },
94
+ ...{ class: "font-semibold truncate" },
78
95
  });
79
96
  (__VLS_ctx.data?.username ?? 'n/a');
80
97
  // @ts-ignore
@@ -90,12 +107,12 @@ if (__VLS_ctx.data?.id && __VLS_ctx.data?.id != __VLS_ctx.digibotId.toString() &
90
107
  // @ts-ignore
91
108
  [emit,];
92
109
  } },
93
- ...{ class: "flex-center text-[#0051E6] bg-chat-haze-200 w-9 h-9 rounded-lg" },
110
+ ...{ class: "shrink-0 flex-center text-[#0051E6] bg-chat-haze-200 w-9 h-9 rounded-lg" },
94
111
  });
95
112
  /** @type {[typeof IconPhone, ]} */ ;
96
113
  // @ts-ignore
97
- const __VLS_7 = __VLS_asFunctionalComponent(IconPhone, new IconPhone({}));
98
- const __VLS_8 = __VLS_7({}, ...__VLS_functionalComponentArgsRest(__VLS_7));
114
+ const __VLS_11 = __VLS_asFunctionalComponent(IconPhone, new IconPhone({}));
115
+ const __VLS_12 = __VLS_11({}, ...__VLS_functionalComponentArgsRest(__VLS_11));
99
116
  }
100
117
  /** @type {__VLS_StyleScopedClasses['px-8']} */ ;
101
118
  /** @type {__VLS_StyleScopedClasses['pb-4']} */ ;
@@ -103,16 +120,27 @@ if (__VLS_ctx.data?.id && __VLS_ctx.data?.id != __VLS_ctx.digibotId.toString() &
103
120
  /** @type {__VLS_StyleScopedClasses['border-chat-gray-5']} */ ;
104
121
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
105
122
  /** @type {__VLS_StyleScopedClasses['items-center']} */ ;
123
+ /** @type {__VLS_StyleScopedClasses['gap-2']} */ ;
124
+ /** @type {__VLS_StyleScopedClasses['shrink-0']} */ ;
125
+ /** @type {__VLS_StyleScopedClasses['flex']} */ ;
126
+ /** @type {__VLS_StyleScopedClasses['items-center']} */ ;
127
+ /** @type {__VLS_StyleScopedClasses['shrink-0']} */ ;
106
128
  /** @type {__VLS_StyleScopedClasses['cursor-pointer']} */ ;
107
- /** @type {__VLS_StyleScopedClasses['flex-1']} */ ;
108
- /** @type {__VLS_StyleScopedClasses['ml-3']} */ ;
129
+ /** @type {__VLS_StyleScopedClasses['grow']} */ ;
130
+ /** @type {__VLS_StyleScopedClasses['overflow-x-hidden']} */ ;
131
+ /** @type {__VLS_StyleScopedClasses['w-full']} */ ;
109
132
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
110
133
  /** @type {__VLS_StyleScopedClasses['justify-between']} */ ;
111
134
  /** @type {__VLS_StyleScopedClasses['items-center']} */ ;
135
+ /** @type {__VLS_StyleScopedClasses['gap-4']} */ ;
136
+ /** @type {__VLS_StyleScopedClasses['grow']} */ ;
137
+ /** @type {__VLS_StyleScopedClasses['overflow-x-hidden']} */ ;
112
138
  /** @type {__VLS_StyleScopedClasses['cursor-pointer']} */ ;
113
139
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
114
140
  /** @type {__VLS_StyleScopedClasses['items-center']} */ ;
115
141
  /** @type {__VLS_StyleScopedClasses['font-semibold']} */ ;
142
+ /** @type {__VLS_StyleScopedClasses['truncate']} */ ;
143
+ /** @type {__VLS_StyleScopedClasses['shrink-0']} */ ;
116
144
  /** @type {__VLS_StyleScopedClasses['flex-center']} */ ;
117
145
  /** @type {__VLS_StyleScopedClasses['text-[#0051E6]']} */ ;
118
146
  /** @type {__VLS_StyleScopedClasses['bg-chat-haze-200']} */ ;
@@ -2,6 +2,7 @@ import IconPlus from '../../../assets/icons/IconPlus.vue';
2
2
  import IconPlan from '../../../assets/icons/IconPlan.vue';
3
3
  import EmojiPicker from 'vue3-emoji-picker';
4
4
  import 'vue3-emoji-picker/css';
5
+ import { useDebounce } from '../../../utils/debounce';
5
6
  import dayjs from 'dayjs';
6
7
  import { DATE_FORMATS, TIME_ZONE_UTC } from '../../../constant/datetime';
7
8
  import { dataProfile } from '../../../utils/chat/auth';
@@ -85,9 +86,22 @@ const handleActivePlivoSmsChange = async (is_active) => {
85
86
  }
86
87
  loading.value = false;
87
88
  };
89
+ const setInputHeight = () => {
90
+ const el = chatInputRef.value;
91
+ el.style.height = 'auto';
92
+ el.style.height = el.scrollHeight + 'px';
93
+ };
94
+ const handleSetInputHeight = useDebounce(() => {
95
+ setInputHeight();
96
+ }, 50);
88
97
  const handleInput = () => {
89
98
  emit('focus');
90
99
  };
100
+ const clearInput = () => {
101
+ keyword.value = '';
102
+ };
103
+ const __VLS_exposed = { clearInput };
104
+ defineExpose(__VLS_exposed);
91
105
  debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
92
106
  const __VLS_modelEmit = defineEmits();
93
107
  const __VLS_defaults = {};
@@ -146,12 +160,12 @@ if (__VLS_ctx.dataProfile?.user_type == 'tenant') {
146
160
  }
147
161
  }
148
162
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
149
- ...{ class: "flex gap-2" },
163
+ ...{ class: "flex gap-2 items-end h-max" },
150
164
  });
151
165
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
152
166
  ...{ class: "relative grow" },
153
167
  });
154
- __VLS_asFunctionalElement(__VLS_elements.input)({
168
+ __VLS_asFunctionalElement(__VLS_elements.textarea)({
155
169
  ...{ onKeydown: (...[$event]) => {
156
170
  __VLS_ctx.handleSendMessage('message');
157
171
  // @ts-ignore
@@ -162,16 +176,22 @@ __VLS_asFunctionalElement(__VLS_elements.input)({
162
176
  // @ts-ignore
163
177
  [handleInput,];
164
178
  } },
165
- ...{ class: "w-full chat-input !rounded-xl h-11 px-4 border border-chat-haze-200" },
179
+ ...{ onInput: (...[$event]) => {
180
+ __VLS_ctx.setInputHeight();
181
+ // @ts-ignore
182
+ [setInputHeight,];
183
+ } },
184
+ ...{ class: "w-full min-h-11 resize-none overflow-hidden chat-input !rounded-xl pl-4 py-2 pr-[96px] border border-chat-haze-200" },
166
185
  ref: "chatInputRef",
167
186
  placeholder: "Send Message",
187
+ rows: "1",
188
+ value: (__VLS_ctx.keyword),
168
189
  });
169
- (__VLS_ctx.keyword);
170
190
  /** @type {typeof __VLS_ctx.chatInputRef} */ ;
171
191
  // @ts-ignore
172
192
  [keyword, chatInputRef,];
173
193
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
174
- ...{ class: "flex gap-2 absolute right-0 bottom-0" },
194
+ ...{ class: "flex gap-2 absolute right-0 bottom-2" },
175
195
  });
176
196
  /** @type {[typeof PopoverBase, typeof PopoverBase, ]} */ ;
177
197
  // @ts-ignore
@@ -226,32 +246,6 @@ __VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
226
246
  var __VLS_19;
227
247
  }
228
248
  var __VLS_13;
229
- const __VLS_24 = {}.EmojiPicker;
230
- /** @type {[typeof __VLS_components.EmojiPicker, typeof __VLS_components.emojiPicker, ]} */ ;
231
- // @ts-ignore
232
- EmojiPicker;
233
- // @ts-ignore
234
- const __VLS_25 = __VLS_asFunctionalComponent(__VLS_24, new __VLS_24({
235
- ...{ 'onSelect': {} },
236
- ...{ class: "opacity-0 pointer-events-none absolute" },
237
- native: (true),
238
- offset: (2),
239
- hideSearch: true,
240
- }));
241
- const __VLS_26 = __VLS_25({
242
- ...{ 'onSelect': {} },
243
- ...{ class: "opacity-0 pointer-events-none absolute" },
244
- native: (true),
245
- offset: (2),
246
- hideSearch: true,
247
- }, ...__VLS_functionalComponentArgsRest(__VLS_25));
248
- let __VLS_28;
249
- let __VLS_29;
250
- const __VLS_30 = ({ select: {} },
251
- { onSelect: (__VLS_ctx.onSelectEmoji) });
252
- // @ts-ignore
253
- [onSelectEmoji,];
254
- var __VLS_27;
255
249
  __VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
256
250
  ...{ onClick: (...[$event]) => {
257
251
  __VLS_ctx.handleSendMessage('message');
@@ -262,10 +256,10 @@ __VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
262
256
  });
263
257
  /** @type {[typeof IconPlan, ]} */ ;
264
258
  // @ts-ignore
265
- const __VLS_32 = __VLS_asFunctionalComponent(IconPlan, new IconPlan({}));
266
- const __VLS_33 = __VLS_32({}, ...__VLS_functionalComponentArgsRest(__VLS_32));
259
+ const __VLS_24 = __VLS_asFunctionalComponent(IconPlan, new IconPlan({}));
260
+ const __VLS_25 = __VLS_24({}, ...__VLS_functionalComponentArgsRest(__VLS_24));
267
261
  __VLS_asFunctionalElement(__VLS_elements.label, __VLS_elements.label)({
268
- ...{ class: "shrink-0 cursor-pointer relative" },
262
+ ...{ class: "shrink-0 cursor-pointer relative -translate-y-1" },
269
263
  });
270
264
  __VLS_asFunctionalElement(__VLS_elements.input)({
271
265
  ...{ onChange: (__VLS_ctx.handleFileUpload) },
@@ -282,43 +276,47 @@ __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
282
276
  });
283
277
  /** @type {[typeof IconPlus, ]} */ ;
284
278
  // @ts-ignore
285
- const __VLS_36 = __VLS_asFunctionalComponent(IconPlus, new IconPlus({
279
+ const __VLS_28 = __VLS_asFunctionalComponent(IconPlus, new IconPlus({
286
280
  ...{ class: "text-white" },
287
281
  }));
288
- const __VLS_37 = __VLS_36({
282
+ const __VLS_29 = __VLS_28({
289
283
  ...{ class: "text-white" },
290
- }, ...__VLS_functionalComponentArgsRest(__VLS_36));
284
+ }, ...__VLS_functionalComponentArgsRest(__VLS_28));
291
285
  /** @type {__VLS_StyleScopedClasses['z-10']} */ ;
292
286
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
293
287
  /** @type {__VLS_StyleScopedClasses['gap-2']} */ ;
294
288
  /** @type {__VLS_StyleScopedClasses['mb-2']} */ ;
295
289
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
296
290
  /** @type {__VLS_StyleScopedClasses['gap-2']} */ ;
291
+ /** @type {__VLS_StyleScopedClasses['items-end']} */ ;
292
+ /** @type {__VLS_StyleScopedClasses['h-max']} */ ;
297
293
  /** @type {__VLS_StyleScopedClasses['relative']} */ ;
298
294
  /** @type {__VLS_StyleScopedClasses['grow']} */ ;
299
295
  /** @type {__VLS_StyleScopedClasses['w-full']} */ ;
296
+ /** @type {__VLS_StyleScopedClasses['min-h-11']} */ ;
297
+ /** @type {__VLS_StyleScopedClasses['resize-none']} */ ;
298
+ /** @type {__VLS_StyleScopedClasses['overflow-hidden']} */ ;
300
299
  /** @type {__VLS_StyleScopedClasses['chat-input']} */ ;
301
300
  /** @type {__VLS_StyleScopedClasses['!rounded-xl']} */ ;
302
- /** @type {__VLS_StyleScopedClasses['h-11']} */ ;
303
- /** @type {__VLS_StyleScopedClasses['px-4']} */ ;
301
+ /** @type {__VLS_StyleScopedClasses['pl-4']} */ ;
302
+ /** @type {__VLS_StyleScopedClasses['py-2']} */ ;
303
+ /** @type {__VLS_StyleScopedClasses['pr-[96px]']} */ ;
304
304
  /** @type {__VLS_StyleScopedClasses['border']} */ ;
305
305
  /** @type {__VLS_StyleScopedClasses['border-chat-haze-200']} */ ;
306
306
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
307
307
  /** @type {__VLS_StyleScopedClasses['gap-2']} */ ;
308
308
  /** @type {__VLS_StyleScopedClasses['absolute']} */ ;
309
309
  /** @type {__VLS_StyleScopedClasses['right-0']} */ ;
310
- /** @type {__VLS_StyleScopedClasses['bottom-0']} */ ;
310
+ /** @type {__VLS_StyleScopedClasses['bottom-2']} */ ;
311
311
  /** @type {__VLS_StyleScopedClasses['h-11']} */ ;
312
312
  /** @type {__VLS_StyleScopedClasses['w-10']} */ ;
313
313
  /** @type {__VLS_StyleScopedClasses['!w-[300px]']} */ ;
314
- /** @type {__VLS_StyleScopedClasses['opacity-0']} */ ;
315
- /** @type {__VLS_StyleScopedClasses['pointer-events-none']} */ ;
316
- /** @type {__VLS_StyleScopedClasses['absolute']} */ ;
317
314
  /** @type {__VLS_StyleScopedClasses['h-11']} */ ;
318
315
  /** @type {__VLS_StyleScopedClasses['w-10']} */ ;
319
316
  /** @type {__VLS_StyleScopedClasses['shrink-0']} */ ;
320
317
  /** @type {__VLS_StyleScopedClasses['cursor-pointer']} */ ;
321
318
  /** @type {__VLS_StyleScopedClasses['relative']} */ ;
319
+ /** @type {__VLS_StyleScopedClasses['-translate-y-1']} */ ;
322
320
  /** @type {__VLS_StyleScopedClasses['hidden']} */ ;
323
321
  /** @type {__VLS_StyleScopedClasses['h-11']} */ ;
324
322
  /** @type {__VLS_StyleScopedClasses['w-11']} */ ;
@@ -327,6 +325,7 @@ const __VLS_37 = __VLS_36({
327
325
  /** @type {__VLS_StyleScopedClasses['bg-[#002E6B]']} */ ;
328
326
  /** @type {__VLS_StyleScopedClasses['text-white']} */ ;
329
327
  const __VLS_export = (await import('vue')).defineComponent({
328
+ setup: () => (__VLS_exposed),
330
329
  __typeEmits: {},
331
330
  __typeProps: {},
332
331
  props: {},