react-native-chatbot-ai 0.1.27 → 0.1.28

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 (45) hide show
  1. package/lib/module/components/chat/footer/SuggestionsBar.js +208 -0
  2. package/lib/module/components/chat/footer/SuggestionsBar.js.map +1 -0
  3. package/lib/module/components/chat/footer/index.js +89 -153
  4. package/lib/module/components/chat/footer/index.js.map +1 -1
  5. package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js +22 -7
  6. package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js.map +1 -1
  7. package/lib/module/components/product/CardHorizontal.js +30 -9
  8. package/lib/module/components/product/CardHorizontal.js.map +1 -1
  9. package/lib/module/hooks/message/useSendMessage.js +0 -2
  10. package/lib/module/hooks/message/useSendMessage.js.map +1 -1
  11. package/lib/module/hooks/message/useStreamMessage.js +6 -19
  12. package/lib/module/hooks/message/useStreamMessage.js.map +1 -1
  13. package/lib/module/hooks/product/useSearchProduct.js +8 -5
  14. package/lib/module/hooks/product/useSearchProduct.js.map +1 -1
  15. package/lib/module/store/products.js +13 -4
  16. package/lib/module/store/products.js.map +1 -1
  17. package/lib/module/store/streamMessage.js +18 -0
  18. package/lib/module/store/streamMessage.js.map +1 -1
  19. package/lib/module/types/chat.js.map +1 -1
  20. package/lib/typescript/src/components/chat/footer/SuggestionsBar.d.ts +10 -0
  21. package/lib/typescript/src/components/chat/footer/SuggestionsBar.d.ts.map +1 -0
  22. package/lib/typescript/src/components/chat/footer/index.d.ts.map +1 -1
  23. package/lib/typescript/src/components/chat/item/ChatAIAnswerMessageItem.d.ts.map +1 -1
  24. package/lib/typescript/src/components/product/CardHorizontal.d.ts +2 -2
  25. package/lib/typescript/src/components/product/CardHorizontal.d.ts.map +1 -1
  26. package/lib/typescript/src/hooks/message/useSendMessage.d.ts +0 -1
  27. package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -1
  28. package/lib/typescript/src/hooks/message/useStreamMessage.d.ts +0 -1
  29. package/lib/typescript/src/hooks/message/useStreamMessage.d.ts.map +1 -1
  30. package/lib/typescript/src/hooks/product/useSearchProduct.d.ts.map +1 -1
  31. package/lib/typescript/src/store/products.d.ts.map +1 -1
  32. package/lib/typescript/src/store/streamMessage.d.ts.map +1 -1
  33. package/lib/typescript/src/types/chat.d.ts +5 -1
  34. package/lib/typescript/src/types/chat.d.ts.map +1 -1
  35. package/package.json +3 -1
  36. package/src/components/chat/footer/SuggestionsBar.tsx +247 -0
  37. package/src/components/chat/footer/index.tsx +90 -168
  38. package/src/components/chat/item/ChatAIAnswerMessageItem.tsx +38 -7
  39. package/src/components/product/CardHorizontal.tsx +333 -305
  40. package/src/hooks/message/useSendMessage.ts +1 -2
  41. package/src/hooks/message/useStreamMessage.ts +7 -22
  42. package/src/hooks/product/useSearchProduct.ts +10 -3
  43. package/src/store/products.ts +8 -2
  44. package/src/store/streamMessage.ts +13 -0
  45. package/src/types/chat.ts +5 -1
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useRef, useState } from 'react';
4
+ import { FlatList, StyleSheet } from 'react-native';
5
+ import Animated, { Layout, FadeIn, FadeOut } from 'react-native-reanimated';
6
+ import LinearGradient from 'react-native-linear-gradient';
7
+ import { KColors, KContainer, KLabel, KRadiusValue, KSpacingValue } from '@droppii/libs';
8
+ import { SendActionLogType } from "../../../types/index.js";
9
+ import { GAEvents } from "../../../constants/events.js";
10
+ import useSessionStore from "../../../store/session.js";
11
+ import { useChatContext } from "../../../context/ChatContext.js";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ const keyExtractor = item => item.suggestion_id;
14
+ const COUNTDOWN_MS = 60000;
15
+ const LEFT_GRADIENT_CONFIG = {
16
+ colors: [KColors.hexToRgba(KColors.white, 0.9), KColors.hexToRgba(KColors.white, 0)],
17
+ start: {
18
+ x: 0,
19
+ y: 0
20
+ },
21
+ end: {
22
+ x: 1,
23
+ y: 0
24
+ }
25
+ };
26
+ const RIGHT_GRADIENT_CONFIG = {
27
+ colors: [KColors.hexToRgba(KColors.white, 0), KColors.hexToRgba(KColors.white, 0.9)],
28
+ start: {
29
+ x: 0,
30
+ y: 0
31
+ },
32
+ end: {
33
+ x: 1,
34
+ y: 0
35
+ }
36
+ };
37
+ const SuggestionsBar = ({
38
+ suggestions,
39
+ groupSuggestionId,
40
+ messageId,
41
+ onSendMessage
42
+ }) => {
43
+ const countdownRef = useRef(null);
44
+ const isInCountdownRef = useRef(false);
45
+ const firstVisibleItemRef = useRef(null);
46
+ const scrollXRef = useRef(0);
47
+ const [containerWidth, setContainerWidth] = useState(0);
48
+ const [contentWidth, setContentWidth] = useState(0);
49
+ const [showLeftOverlay, setShowLeftOverlay] = useState(false);
50
+ const [showRightOverlay, setShowRightOverlay] = useState(false);
51
+ const logGA = useChatContext().logGA;
52
+ const onPressItem = useCallback((item, index) => {
53
+ onSendMessage(item.content, undefined, SendActionLogType.promptSuggestion);
54
+ logGA(GAEvents.chatDetailInConvPrmSuggTap, {
55
+ conversation_id: useSessionStore.getState().sessionId,
56
+ group_id: groupSuggestionId,
57
+ suggestion_id: item.suggestion_id,
58
+ suggestion_content: item.content,
59
+ suggestion_cate: item.category,
60
+ order: index
61
+ });
62
+ }, [onSendMessage, logGA, groupSuggestionId]);
63
+ const renderItem = useCallback(({
64
+ item,
65
+ index
66
+ }) => /*#__PURE__*/_jsx(KContainer.Touchable, {
67
+ style: styles.suggestionItem,
68
+ onPress: () => onPressItem(item, index),
69
+ children: /*#__PURE__*/_jsx(KLabel.Text, {
70
+ typo: "TextSmNormal",
71
+ children: item?.content || ''
72
+ })
73
+ }), [onPressItem]);
74
+ const updateOverlays = useCallback(() => {
75
+ if (contentWidth <= containerWidth) {
76
+ setShowLeftOverlay(false);
77
+ setShowRightOverlay(false);
78
+ return;
79
+ }
80
+ const x = scrollXRef.current || 0;
81
+ const offset = 16;
82
+ setShowLeftOverlay(x > offset);
83
+ setShowRightOverlay(x < Math.max(0, contentWidth - containerWidth - offset));
84
+ }, [contentWidth, containerWidth]);
85
+ const onScroll = useCallback(({
86
+ nativeEvent
87
+ }) => {
88
+ scrollXRef.current = nativeEvent.contentOffset?.x || 0;
89
+ setTimeout(() => updateOverlays(), 0);
90
+ }, [updateOverlays]);
91
+ const onContentSizeChange = useCallback((w, _h) => {
92
+ setContentWidth(w);
93
+ }, []);
94
+ const onLayout = useCallback(ev => {
95
+ setContainerWidth(ev.nativeEvent.layout.width);
96
+ }, []);
97
+ const onViewableItemsChanged = useCallback(({
98
+ viewableItems
99
+ }) => {
100
+ if (viewableItems && viewableItems.length > 0) {
101
+ firstVisibleItemRef.current = viewableItems[0].item;
102
+ }
103
+ }, []);
104
+ const logFirstVisibleItem = useCallback(() => {
105
+ if (!firstVisibleItemRef.current) return;
106
+ logGA(GAEvents.chatDetailInConvPrmSuggScroll, {
107
+ group_id: groupSuggestionId,
108
+ message_chat_id: messageId,
109
+ suggestion_id: firstVisibleItemRef.current.suggestion_id
110
+ });
111
+
112
+ // Bắt đầu countdown
113
+ isInCountdownRef.current = true;
114
+ countdownRef.current = setTimeout(() => {
115
+ isInCountdownRef.current = false;
116
+ countdownRef.current = null;
117
+ }, COUNTDOWN_MS);
118
+ }, [logGA, groupSuggestionId, messageId]);
119
+ const handleMomentumEnd = useCallback(() => {
120
+ if (!isInCountdownRef.current) {
121
+ logFirstVisibleItem();
122
+ }
123
+ }, [logFirstVisibleItem]);
124
+ return /*#__PURE__*/_jsxs(KContainer.View, {
125
+ style: styles.wrapper,
126
+ onLayout: onLayout,
127
+ children: [/*#__PURE__*/_jsx(FlatList, {
128
+ data: suggestions,
129
+ keyExtractor: keyExtractor,
130
+ horizontal: true,
131
+ renderItem: renderItem,
132
+ style: styles.container,
133
+ contentContainerStyle: styles.contentContainer,
134
+ onScroll: onScroll,
135
+ scrollEventThrottle: 16,
136
+ onContentSizeChange: onContentSizeChange,
137
+ onViewableItemsChanged: onViewableItemsChanged,
138
+ onMomentumScrollEnd: handleMomentumEnd
139
+ }), /*#__PURE__*/_jsx(KContainer.VisibleView, {
140
+ visible: showLeftOverlay,
141
+ children: /*#__PURE__*/_jsx(Animated.View, {
142
+ pointerEvents: "none",
143
+ entering: FadeIn.duration(300),
144
+ exiting: FadeOut.duration(300),
145
+ layout: Layout.springify(),
146
+ style: styles.leftOverlay,
147
+ children: /*#__PURE__*/_jsx(LinearGradient, {
148
+ ...LEFT_GRADIENT_CONFIG,
149
+ style: StyleSheet.absoluteFill
150
+ })
151
+ })
152
+ }), /*#__PURE__*/_jsx(KContainer.VisibleView, {
153
+ visible: showRightOverlay,
154
+ children: /*#__PURE__*/_jsx(Animated.View, {
155
+ pointerEvents: "none",
156
+ entering: FadeIn.duration(300),
157
+ exiting: FadeOut.duration(300),
158
+ layout: Layout.springify(),
159
+ style: styles.rightOverlay,
160
+ children: /*#__PURE__*/_jsx(LinearGradient, {
161
+ ...RIGHT_GRADIENT_CONFIG,
162
+ style: StyleSheet.absoluteFill
163
+ })
164
+ })
165
+ })]
166
+ });
167
+ };
168
+ export default SuggestionsBar;
169
+ const styles = StyleSheet.create({
170
+ wrapper: {
171
+ position: 'relative'
172
+ },
173
+ container: {
174
+ marginHorizontal: KSpacingValue['0.25rem']
175
+ },
176
+ contentContainer: {
177
+ gap: KSpacingValue['0.25rem'],
178
+ paddingHorizontal: KSpacingValue['0.5rem'],
179
+ paddingBottom: 8
180
+ },
181
+ suggestionItem: {
182
+ backgroundColor: KColors.palette.gray.w25,
183
+ borderRadius: KRadiusValue['4x'],
184
+ height: 32,
185
+ justifyContent: 'center',
186
+ alignItems: 'center',
187
+ paddingHorizontal: KSpacingValue['0.75rem']
188
+ },
189
+ leftOverlay: {
190
+ position: 'absolute',
191
+ left: 0,
192
+ top: 0,
193
+ bottom: 8,
194
+ width: 28,
195
+ zIndex: 10,
196
+ overflow: 'hidden'
197
+ },
198
+ rightOverlay: {
199
+ position: 'absolute',
200
+ right: 0,
201
+ top: 0,
202
+ bottom: 8,
203
+ width: 28,
204
+ zIndex: 10,
205
+ overflow: 'hidden'
206
+ }
207
+ });
208
+ //# sourceMappingURL=SuggestionsBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useRef","useState","FlatList","StyleSheet","Animated","Layout","FadeIn","FadeOut","LinearGradient","KColors","KContainer","KLabel","KRadiusValue","KSpacingValue","SendActionLogType","GAEvents","useSessionStore","useChatContext","jsx","_jsx","jsxs","_jsxs","keyExtractor","item","suggestion_id","COUNTDOWN_MS","LEFT_GRADIENT_CONFIG","colors","hexToRgba","white","start","x","y","end","RIGHT_GRADIENT_CONFIG","SuggestionsBar","suggestions","groupSuggestionId","messageId","onSendMessage","countdownRef","isInCountdownRef","firstVisibleItemRef","scrollXRef","containerWidth","setContainerWidth","contentWidth","setContentWidth","showLeftOverlay","setShowLeftOverlay","showRightOverlay","setShowRightOverlay","logGA","onPressItem","index","content","undefined","promptSuggestion","chatDetailInConvPrmSuggTap","conversation_id","getState","sessionId","group_id","suggestion_content","suggestion_cate","category","order","renderItem","Touchable","style","styles","suggestionItem","onPress","children","Text","typo","updateOverlays","current","offset","Math","max","onScroll","nativeEvent","contentOffset","setTimeout","onContentSizeChange","w","_h","onLayout","ev","layout","width","onViewableItemsChanged","viewableItems","length","logFirstVisibleItem","chatDetailInConvPrmSuggScroll","message_chat_id","handleMomentumEnd","View","wrapper","data","horizontal","container","contentContainerStyle","contentContainer","scrollEventThrottle","onMomentumScrollEnd","VisibleView","visible","pointerEvents","entering","duration","exiting","springify","leftOverlay","absoluteFill","rightOverlay","create","position","marginHorizontal","gap","paddingHorizontal","paddingBottom","backgroundColor","palette","gray","w25","borderRadius","height","justifyContent","alignItems","left","top","bottom","zIndex","overflow","right"],"sourceRoot":"../../../../../src","sources":["components/chat/footer/SuggestionsBar.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import { KButton, KColors, KContainer, KImage, KInput, KLabel, KRadiusValue, KSpacingValue } from '@droppii/libs';
4
- import { useCallback, useState, useRef, useMemo } from 'react';
4
+ import SuggestionsBar from "./SuggestionsBar.js";
5
+ import { useCallback, useState, useRef, useMemo, useEffect } from 'react';
5
6
  import { FlatList, StyleSheet, TouchableWithoutFeedback, Keyboard } from 'react-native';
6
7
 
7
8
  // Type assertion to fix TypeScript issue with React Native components
@@ -28,27 +29,20 @@ const {
28
29
  const MAX_FILE_UPLOAD = 3;
29
30
  const MAX_FILE_SIZE = 30 * 1024 * 1024;
30
31
  const MAX_IMAGE_SIZE = 7 * 1024 * 1024;
31
- const COUNTDOWN_MS = 60000;
32
32
  const ChatFooter = ({
33
33
  lastMessage
34
34
  }) => {
35
- const countdownRef = useRef(null);
36
- const isInCountdownRef = useRef(false);
37
- const firstVisibleItemRef = useRef(null);
38
- const viewabilityConfig = useRef({
39
- itemVisiblePercentThreshold: 10
40
- }).current;
41
35
  const menuRef = useRef(null);
42
36
  const logGA = useChatContext().logGA;
43
37
  const {
44
- onSendMessage,
45
- stopStream
38
+ onSendMessage
46
39
  } = useSendMessage();
47
40
  const [message, setMessage] = useState('');
48
41
  const isStreaming = useStreamMessageStore(state => state.isStreaming);
42
+ const stopStream = useStreamMessageStore(state => state.stopStream);
49
43
  const [fileUpload, setFileUpload] = useState([]);
50
- const debouncedMessage = debounce(message => {
51
- setMessage(message);
44
+ const debouncedMessage = debounce(m => {
45
+ setMessage(m);
52
46
  }, 200);
53
47
  const isDisabledSend = useMemo(() => {
54
48
  return !isStreaming && (message.trim() === '' || fileUpload.length > 0 && fileUpload.some(i => !i.remoteUrl));
@@ -241,146 +235,98 @@ const ChatFooter = ({
241
235
  button: 'file'
242
236
  });
243
237
  }, [fileUpload, logGA]);
244
- const onPressItemSuggestion = debounce((item, index) => {
245
- onSendMessage(item.content, undefined, SendActionLogType.promptSuggestion);
246
- logGA(GAEvents.chatDetailInConvPrmSuggTap, {
247
- conversation_id: useSessionStore.getState().sessionId,
248
- group_id: lastMessage?.group_suggestion_id,
249
- suggestion_id: item.suggestion_id,
250
- suggestion_content: item.content,
251
- suggestion_cate: item.category,
252
- order: index
253
- });
254
- }, 200);
255
- const renderSuggestionItem = useCallback((item, index) => {
256
- return /*#__PURE__*/_jsx(KContainer.Touchable, {
257
- style: styles.suggestionItem,
258
- onPress: () => onPressItemSuggestion(item, index),
259
- children: /*#__PURE__*/_jsx(KLabel.Text, {
260
- typo: "TextSmNormal",
261
- children: item?.content || ''
262
- })
263
- });
264
- }, [onPressItemSuggestion]);
265
- const onViewableItemsChanged = useRef(({
266
- viewableItems
267
- }) => {
268
- if (viewableItems && viewableItems.length > 0) {
269
- firstVisibleItemRef.current = viewableItems[0].item;
270
- }
271
- }).current;
272
- const logFirstVisibleItem = useCallback(() => {
273
- if (!firstVisibleItemRef.current) return;
274
- logGA(GAEvents.chatDetailInConvPrmSuggScroll, {
275
- group_id: lastMessage?.group_suggestion_id,
276
- message_chat_id: lastMessage?.id,
277
- suggestion_id: firstVisibleItemRef.current.suggestion_id
278
- });
279
-
280
- // Bắt đầu countdown
281
- isInCountdownRef.current = true;
282
- countdownRef.current = setTimeout(() => {
283
- isInCountdownRef.current = false;
284
- countdownRef.current = null;
285
- }, COUNTDOWN_MS);
286
- }, [lastMessage, logGA]);
287
- const handleMomentumEnd = useCallback(() => {
288
- if (!isInCountdownRef.current) {
289
- logFirstVisibleItem();
290
- }
291
- }, [logFirstVisibleItem]);
238
+ useEffect(() => {
239
+ return () => {
240
+ stopStream();
241
+ };
242
+ }, [stopStream]);
292
243
  return /*#__PURE__*/_jsxs(KContainer.View, {
293
244
  style: styles.container,
294
245
  children: [/*#__PURE__*/_jsx(KContainer.VisibleView, {
295
246
  visible: isShowSuggestions,
296
- children: /*#__PURE__*/_jsx(FlatListComponent, {
297
- data: lastMessage?.suggestions || [],
298
- renderItem: ({
299
- item,
300
- index
301
- }) => renderSuggestionItem(item, index),
302
- horizontal: true,
303
- keyExtractor: item => item.suggestion_id,
304
- contentContainerStyle: styles.suggessionContainer,
305
- onViewableItemsChanged: onViewableItemsChanged,
306
- viewabilityConfig: viewabilityConfig,
307
- scrollEventThrottle: 16,
308
- onMomentumScrollEnd: handleMomentumEnd
309
- })
310
- }), /*#__PURE__*/_jsx(KContainer.VisibleView, {
311
- visible: fileUpload.length > 0,
312
- children: /*#__PURE__*/_jsx(FlatListComponent, {
313
- data: fileUpload,
314
- renderItem: ({
315
- item
316
- }) => renderUploadItem(item),
317
- horizontal: true,
318
- keyExtractor: item => item.uploadType === 'image' ? item.path : item.uri,
319
- contentContainerStyle: styles.listUploadItem
247
+ children: /*#__PURE__*/_jsx(SuggestionsBar, {
248
+ suggestions: lastMessage?.suggestions,
249
+ groupSuggestionId: lastMessage?.group_suggestion_id,
250
+ messageId: lastMessage?.id,
251
+ onSendMessage: onSendMessage
320
252
  })
321
- }), /*#__PURE__*/_jsx(KInput.TextArea, {
322
- paddingV: 0,
323
- paddingH: '0.25rem',
324
- placeholder: trans('input_placeholder'),
325
- clearButtonMode: "hidden",
326
- onChangeText: debouncedMessage,
327
- value: message,
328
- multiline: true,
329
- style: styles.input,
330
- blurOnSubmit: false,
331
- textAlignVertical: "top"
332
253
  }), /*#__PURE__*/_jsxs(KContainer.View, {
333
- style: styles.actions,
334
- children: [/*#__PURE__*/_jsxs(Menu, {
335
- ref: menuRef,
336
- renderer: Popover,
337
- rendererProps: {
338
- placement: 'top',
339
- anchorStyle: {
340
- display: 'none'
341
- }
342
- },
343
- children: [/*#__PURE__*/_jsx(MenuTrigger, {
344
- customStyles: {
345
- TriggerTouchableComponent: TouchableWithoutFeedback
254
+ style: styles.contentContainer,
255
+ children: [/*#__PURE__*/_jsx(KContainer.VisibleView, {
256
+ visible: fileUpload.length > 0,
257
+ children: /*#__PURE__*/_jsx(FlatListComponent, {
258
+ data: fileUpload,
259
+ renderItem: ({
260
+ item
261
+ }) => renderUploadItem(item),
262
+ horizontal: true,
263
+ keyExtractor: item => item.uploadType === 'image' ? item.path : item.uri,
264
+ contentContainerStyle: styles.listUploadItem
265
+ })
266
+ }), /*#__PURE__*/_jsx(KInput.TextArea, {
267
+ paddingV: 0,
268
+ paddingH: '0.25rem',
269
+ placeholder: trans('input_placeholder'),
270
+ clearButtonMode: "hidden",
271
+ onChangeText: debouncedMessage,
272
+ value: message,
273
+ multiline: true,
274
+ style: styles.input,
275
+ blurOnSubmit: false,
276
+ textAlignVertical: "top"
277
+ }), /*#__PURE__*/_jsxs(KContainer.View, {
278
+ style: styles.actions,
279
+ children: [/*#__PURE__*/_jsxs(Menu, {
280
+ ref: menuRef,
281
+ renderer: Popover,
282
+ rendererProps: {
283
+ placement: 'top',
284
+ anchorStyle: {
285
+ display: 'none'
286
+ }
346
287
  },
288
+ children: [/*#__PURE__*/_jsx(MenuTrigger, {
289
+ customStyles: {
290
+ TriggerTouchableComponent: TouchableWithoutFeedback
291
+ },
292
+ children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
293
+ name: "image-o",
294
+ size: 24,
295
+ color: KColors.gray.dark
296
+ })
297
+ }), /*#__PURE__*/_jsx(MenuOptions, {
298
+ optionsContainerStyle: styles.popover,
299
+ children: menuItems.map(i => /*#__PURE__*/_jsxs(MenuOption, {
300
+ onSelect: i.onPress,
301
+ style: styles.menuItem,
302
+ children: [/*#__PURE__*/_jsx(KLabel.Text, {
303
+ typo: "TextMdMedium",
304
+ children: i.label
305
+ }), /*#__PURE__*/_jsx(KImage.VectorIcons, {
306
+ name: i.icon
307
+ })]
308
+ }, i.icon))
309
+ })]
310
+ }), /*#__PURE__*/_jsx(KContainer.Touchable, {
311
+ onPress: handlePressDocumentPicker,
347
312
  children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
348
- name: "image-o",
313
+ name: "paperclip-o",
349
314
  size: 24,
350
315
  color: KColors.gray.dark
351
316
  })
352
- }), /*#__PURE__*/_jsx(MenuOptions, {
353
- optionsContainerStyle: styles.popover,
354
- children: menuItems.map(i => /*#__PURE__*/_jsxs(MenuOption, {
355
- onSelect: i.onPress,
356
- style: styles.menuItem,
357
- children: [/*#__PURE__*/_jsx(KLabel.Text, {
358
- typo: "TextMdMedium",
359
- children: i.label
360
- }), /*#__PURE__*/_jsx(KImage.VectorIcons, {
361
- name: i.icon
362
- })]
363
- }, i.icon))
317
+ }), /*#__PURE__*/_jsx(KContainer.View, {
318
+ flex: true
319
+ }), /*#__PURE__*/_jsx(KButton.Solid, {
320
+ kind: "primary",
321
+ icon: {
322
+ vectorName: isStreaming ? 'square-b' : 'send-b',
323
+ size: 20,
324
+ tintColor: KColors.white
325
+ },
326
+ onPress: onPressSend,
327
+ br: "round",
328
+ disabled: isDisabledSend
364
329
  })]
365
- }), /*#__PURE__*/_jsx(KContainer.Touchable, {
366
- onPress: handlePressDocumentPicker,
367
- children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
368
- name: "paperclip-o",
369
- size: 24,
370
- color: KColors.gray.dark
371
- })
372
- }), /*#__PURE__*/_jsx(KContainer.View, {
373
- flex: true
374
- }), /*#__PURE__*/_jsx(KButton.Solid, {
375
- kind: "primary",
376
- icon: {
377
- vectorName: isStreaming ? 'square-b' : 'send-b',
378
- size: 20,
379
- tintColor: KColors.white
380
- },
381
- onPress: onPressSend,
382
- br: "round",
383
- disabled: isDisabledSend
384
330
  })]
385
331
  })]
386
332
  });
@@ -388,7 +334,6 @@ const ChatFooter = ({
388
334
  export default ChatFooter;
389
335
  const styles = StyleSheet.create({
390
336
  container: {
391
- paddingHorizontal: KSpacingValue['0.75rem'],
392
337
  paddingVertical: KSpacingValue['0.5rem'],
393
338
  borderWidth: 1,
394
339
  borderColor: KColors.hexToRgba(KColors.black, 0.15),
@@ -397,6 +342,9 @@ const styles = StyleSheet.create({
397
342
  borderTopRightRadius: KSpacingValue['1.25rem'],
398
343
  backgroundColor: KColors.white
399
344
  },
345
+ contentContainer: {
346
+ paddingHorizontal: KSpacingValue['0.75rem']
347
+ },
400
348
  actions: {
401
349
  flexDirection: 'row',
402
350
  alignItems: 'center',
@@ -428,18 +376,6 @@ const styles = StyleSheet.create({
428
376
  gap: KSpacingValue['0.75rem'],
429
377
  paddingTop: 6,
430
378
  paddingBottom: 8
431
- },
432
- suggessionContainer: {
433
- gap: KSpacingValue['0.25rem'],
434
- paddingBottom: 8
435
- },
436
- suggestionItem: {
437
- backgroundColor: KColors.palette.gray.w25,
438
- borderRadius: KRadiusValue['4x'],
439
- height: 32,
440
- justifyContent: 'center',
441
- alignItems: 'center',
442
- paddingHorizontal: KSpacingValue['0.75rem']
443
379
  }
444
380
  });
445
381
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["KButton","KColors","KContainer","KImage","KInput","KLabel","KRadiusValue","KSpacingValue","useCallback","useState","useRef","useMemo","FlatList","StyleSheet","TouchableWithoutFeedback","Keyboard","FlatListComponent","debounce","useSendMessage","useStreamMessageStore","Menu","MenuTrigger","MenuOption","MenuOptions","renderers","openCameraPicker","openDocumentPicker","openImageMultiplePicker","UploadImageItem","isSameFile","shortenFileName","types","UploadFileItem","MessageType","SendActionLogType","UIUtils","trans","useChatContext","GAEvents","useSessionStore","jsx","_jsx","jsxs","_jsxs","Popover","MAX_FILE_UPLOAD","MAX_FILE_SIZE","MAX_IMAGE_SIZE","COUNTDOWN_MS","ChatFooter","lastMessage","countdownRef","isInCountdownRef","firstVisibleItemRef","viewabilityConfig","itemVisiblePercentThreshold","current","menuRef","logGA","onSendMessage","stopStream","message","setMessage","isStreaming","state","fileUpload","setFileUpload","debouncedMessage","isDisabledSend","trim","length","some","i","remoteUrl","isShowSuggestions","type","ai_answer","suggestions","onPressImagePicker","dismiss","totalImages","filter","uploadType","toast","open","title","newImages","maxFiles","uniqueImages","img","sel","map","slice","prev","totalPrevSize","reduce","acc","item","size","totalNewSize","filename","join","theme","chatDetailMultimodalTap","conversation_id","getState","sessionId","button","onPressCameraPicker","newImage","menuItems","icon","onPress","label","onPressSend","chatDetailStopChatBtnTap","attachments","source_type","data","name","mime_type","mime","sendBtn","handleUploadSuccess","next","fileIndex","findIndex","path","uri","handleRemoveUploadItem","renderUploadItem","onRemove","onSuccess","handlePressDocumentPicker","listFiles","newDocument","pdf","newFileIndex","doc","onPressItemSuggestion","index","content","undefined","promptSuggestion","chatDetailInConvPrmSuggTap","group_id","group_suggestion_id","suggestion_id","suggestion_content","suggestion_cate","category","order","renderSuggestionItem","Touchable","style","styles","suggestionItem","children","Text","typo","onViewableItemsChanged","viewableItems","logFirstVisibleItem","chatDetailInConvPrmSuggScroll","message_chat_id","id","setTimeout","handleMomentumEnd","View","container","VisibleView","visible","renderItem","horizontal","keyExtractor","contentContainerStyle","suggessionContainer","scrollEventThrottle","onMomentumScrollEnd","listUploadItem","TextArea","paddingV","paddingH","placeholder","clearButtonMode","onChangeText","value","multiline","input","blurOnSubmit","textAlignVertical","actions","ref","renderer","rendererProps","placement","anchorStyle","display","customStyles","TriggerTouchableComponent","VectorIcons","color","gray","dark","optionsContainerStyle","popover","onSelect","menuItem","flex","Solid","kind","vectorName","tintColor","white","br","disabled","create","paddingHorizontal","paddingVertical","borderWidth","borderColor","hexToRgba","black","borderBottomWidth","borderTopLeftRadius","borderTopRightRadius","backgroundColor","flexDirection","alignItems","gap","sendButton","alignSelf","maxHeight","marginBottom","borderRadius","width","borderBottomColor","border","normal","justifyContent","paddingTop","paddingBottom","palette","w25","height"],"sourceRoot":"../../../../../src","sources":["components/chat/footer/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["KButton","KColors","KContainer","KImage","KInput","KLabel","KRadiusValue","KSpacingValue","SuggestionsBar","useCallback","useState","useRef","useMemo","useEffect","FlatList","StyleSheet","TouchableWithoutFeedback","Keyboard","FlatListComponent","debounce","useSendMessage","useStreamMessageStore","Menu","MenuTrigger","MenuOption","MenuOptions","renderers","openCameraPicker","openDocumentPicker","openImageMultiplePicker","UploadImageItem","isSameFile","shortenFileName","types","UploadFileItem","MessageType","SendActionLogType","UIUtils","trans","useChatContext","GAEvents","useSessionStore","jsx","_jsx","jsxs","_jsxs","Popover","MAX_FILE_UPLOAD","MAX_FILE_SIZE","MAX_IMAGE_SIZE","ChatFooter","lastMessage","menuRef","logGA","onSendMessage","message","setMessage","isStreaming","state","stopStream","fileUpload","setFileUpload","debouncedMessage","m","isDisabledSend","trim","length","some","i","remoteUrl","isShowSuggestions","type","ai_answer","suggestions","onPressImagePicker","dismiss","totalImages","filter","uploadType","toast","open","title","newImages","maxFiles","uniqueImages","img","sel","map","slice","prev","totalPrevSize","reduce","acc","item","size","totalNewSize","filename","join","theme","chatDetailMultimodalTap","conversation_id","getState","sessionId","button","onPressCameraPicker","newImage","menuItems","icon","onPress","label","onPressSend","chatDetailStopChatBtnTap","attachments","source_type","data","name","mime_type","mime","sendBtn","handleUploadSuccess","next","fileIndex","findIndex","path","uri","handleRemoveUploadItem","renderUploadItem","onRemove","onSuccess","handlePressDocumentPicker","listFiles","newDocument","pdf","newFileIndex","doc","View","style","styles","container","children","VisibleView","visible","groupSuggestionId","group_suggestion_id","messageId","id","contentContainer","renderItem","horizontal","keyExtractor","contentContainerStyle","listUploadItem","TextArea","paddingV","paddingH","placeholder","clearButtonMode","onChangeText","value","multiline","input","blurOnSubmit","textAlignVertical","actions","ref","renderer","rendererProps","placement","anchorStyle","display","customStyles","TriggerTouchableComponent","VectorIcons","color","gray","dark","optionsContainerStyle","popover","onSelect","menuItem","Text","typo","Touchable","flex","Solid","kind","vectorName","tintColor","white","br","disabled","create","paddingVertical","borderWidth","borderColor","hexToRgba","black","borderBottomWidth","borderTopLeftRadius","borderTopRightRadius","backgroundColor","paddingHorizontal","flexDirection","alignItems","gap","sendButton","alignSelf","maxHeight","marginBottom","borderRadius","width","borderBottomColor","border","normal","justifyContent","paddingTop","paddingBottom"],"sourceRoot":"../../../../../src","sources":["components/chat/footer/index.tsx"],"mappings":"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","ignoreList":[]}