react-native-chatbot-ai 0.1.0 → 0.1.2

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 (144) hide show
  1. package/lib/module/assets/svgIcon/IconChatArrow.js +0 -1
  2. package/lib/module/assets/svgIcon/IconChatArrow.js.map +1 -1
  3. package/lib/module/assets/svgIcon/IconPdf.js +27 -0
  4. package/lib/module/assets/svgIcon/IconPdf.js.map +1 -0
  5. package/lib/module/assets/svgIcon/IconThinkingStep.js +0 -1
  6. package/lib/module/assets/svgIcon/IconThinkingStep.js.map +1 -1
  7. package/lib/module/components/chat/ChatEmpty.js +6 -1
  8. package/lib/module/components/chat/ChatEmpty.js.map +1 -1
  9. package/lib/module/components/chat/ChatMessageList.js +33 -6
  10. package/lib/module/components/chat/ChatMessageList.js.map +1 -1
  11. package/lib/module/components/chat/footer/index.js +328 -0
  12. package/lib/module/components/chat/footer/index.js.map +1 -0
  13. package/lib/module/components/chat/footer/item/UploadFileItem.js +163 -0
  14. package/lib/module/components/chat/footer/item/UploadFileItem.js.map +1 -0
  15. package/lib/module/components/chat/footer/item/UploadImageItem.js +94 -0
  16. package/lib/module/components/chat/footer/item/UploadImageItem.js.map +1 -0
  17. package/lib/module/components/chat/index.js +1 -1
  18. package/lib/module/components/chat/index.js.map +1 -1
  19. package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js +114 -32
  20. package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js.map +1 -1
  21. package/lib/module/components/chat/item/ChatAIThinkingMessageItem.js +18 -7
  22. package/lib/module/components/chat/item/ChatAIThinkingMessageItem.js.map +1 -1
  23. package/lib/module/components/chat/item/ChatUserMessageItem.js +122 -15
  24. package/lib/module/components/chat/item/ChatUserMessageItem.js.map +1 -1
  25. package/lib/module/components/portal/Toast.js +193 -0
  26. package/lib/module/components/portal/Toast.js.map +1 -0
  27. package/lib/module/components/portal/index.js +15 -0
  28. package/lib/module/components/portal/index.js.map +1 -0
  29. package/lib/module/constants/events.js +2 -1
  30. package/lib/module/constants/events.js.map +1 -1
  31. package/lib/module/constants/index.js +9 -0
  32. package/lib/module/constants/index.js.map +1 -0
  33. package/lib/module/context/ChatContext.js +8 -5
  34. package/lib/module/context/ChatContext.js.map +1 -1
  35. package/lib/module/hooks/message/useMessage.js +0 -1
  36. package/lib/module/hooks/message/useMessage.js.map +1 -1
  37. package/lib/module/hooks/message/useSendMessage.js +3 -3
  38. package/lib/module/hooks/message/useSendMessage.js.map +1 -1
  39. package/lib/module/hooks/upload/useFileUpload.js +94 -0
  40. package/lib/module/hooks/upload/useFileUpload.js.map +1 -0
  41. package/lib/module/hooks/upload/useImageUpload.js +92 -0
  42. package/lib/module/hooks/upload/useImageUpload.js.map +1 -0
  43. package/lib/module/hooks/useAndroidBackHandler.js +20 -0
  44. package/lib/module/hooks/useAndroidBackHandler.js.map +1 -0
  45. package/lib/module/services/endpoints.js +3 -0
  46. package/lib/module/services/endpoints.js.map +1 -1
  47. package/lib/module/types/index.js +1 -0
  48. package/lib/module/types/index.js.map +1 -1
  49. package/lib/module/types/ui.js +4 -0
  50. package/lib/module/types/ui.js.map +1 -0
  51. package/lib/module/utils/common.js +31 -0
  52. package/lib/module/utils/common.js.map +1 -0
  53. package/lib/module/utils/device.js +137 -0
  54. package/lib/module/utils/device.js.map +1 -0
  55. package/lib/module/utils/ui.js +28 -0
  56. package/lib/module/utils/ui.js.map +1 -0
  57. package/lib/typescript/src/assets/icons/index.d.ts.map +1 -1
  58. package/lib/typescript/src/assets/svgIcon/IconChatArrow.d.ts.map +1 -1
  59. package/lib/typescript/src/assets/svgIcon/IconPdf.d.ts +7 -0
  60. package/lib/typescript/src/assets/svgIcon/IconPdf.d.ts.map +1 -0
  61. package/lib/typescript/src/assets/svgIcon/IconThinkingStep.d.ts.map +1 -1
  62. package/lib/typescript/src/components/chat/ChatEmpty.d.ts.map +1 -1
  63. package/lib/typescript/src/components/chat/ChatMessageList.d.ts.map +1 -1
  64. package/lib/typescript/src/components/chat/footer/index.d.ts +16 -0
  65. package/lib/typescript/src/components/chat/footer/index.d.ts.map +1 -0
  66. package/lib/typescript/src/components/chat/footer/item/UploadFileItem.d.ts +9 -0
  67. package/lib/typescript/src/components/chat/footer/item/UploadFileItem.d.ts.map +1 -0
  68. package/lib/typescript/src/components/chat/footer/item/UploadImageItem.d.ts +9 -0
  69. package/lib/typescript/src/components/chat/footer/item/UploadImageItem.d.ts.map +1 -0
  70. package/lib/typescript/src/components/chat/item/ChatAIAnswerMessageItem.d.ts +9 -0
  71. package/lib/typescript/src/components/chat/item/ChatAIAnswerMessageItem.d.ts.map +1 -1
  72. package/lib/typescript/src/components/chat/item/ChatAIThinkingMessageItem.d.ts.map +1 -1
  73. package/lib/typescript/src/components/chat/item/ChatUserMessageItem.d.ts.map +1 -1
  74. package/lib/typescript/src/components/portal/Toast.d.ts +4 -0
  75. package/lib/typescript/src/components/portal/Toast.d.ts.map +1 -0
  76. package/lib/typescript/src/components/portal/index.d.ts +3 -0
  77. package/lib/typescript/src/components/portal/index.d.ts.map +1 -0
  78. package/lib/typescript/src/constants/events.d.ts +1 -0
  79. package/lib/typescript/src/constants/events.d.ts.map +1 -1
  80. package/lib/typescript/src/constants/index.d.ts +6 -0
  81. package/lib/typescript/src/constants/index.d.ts.map +1 -0
  82. package/lib/typescript/src/context/ChatContext.d.ts.map +1 -1
  83. package/lib/typescript/src/hooks/message/useMessage.d.ts.map +1 -1
  84. package/lib/typescript/src/hooks/message/useSendMessage.d.ts +2 -1
  85. package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -1
  86. package/lib/typescript/src/hooks/upload/useFileUpload.d.ts +15 -0
  87. package/lib/typescript/src/hooks/upload/useFileUpload.d.ts.map +1 -0
  88. package/lib/typescript/src/hooks/upload/useImageUpload.d.ts +15 -0
  89. package/lib/typescript/src/hooks/upload/useImageUpload.d.ts.map +1 -0
  90. package/lib/typescript/src/hooks/useAndroidBackHandler.d.ts +4 -0
  91. package/lib/typescript/src/hooks/useAndroidBackHandler.d.ts.map +1 -0
  92. package/lib/typescript/src/services/endpoints.d.ts +3 -0
  93. package/lib/typescript/src/services/endpoints.d.ts.map +1 -1
  94. package/lib/typescript/src/types/chat.d.ts +6 -0
  95. package/lib/typescript/src/types/chat.d.ts.map +1 -1
  96. package/lib/typescript/src/types/dto.d.ts +10 -1
  97. package/lib/typescript/src/types/dto.d.ts.map +1 -1
  98. package/lib/typescript/src/types/index.d.ts +1 -0
  99. package/lib/typescript/src/types/index.d.ts.map +1 -1
  100. package/lib/typescript/src/types/ui.d.ts +7 -0
  101. package/lib/typescript/src/types/ui.d.ts.map +1 -0
  102. package/lib/typescript/src/utils/common.d.ts +10 -0
  103. package/lib/typescript/src/utils/common.d.ts.map +1 -0
  104. package/lib/typescript/src/utils/device.d.ts +11 -0
  105. package/lib/typescript/src/utils/device.d.ts.map +1 -0
  106. package/lib/typescript/src/utils/ui.d.ts +12 -0
  107. package/lib/typescript/src/utils/ui.d.ts.map +1 -0
  108. package/package.json +11 -6
  109. package/src/assets/icons/index.ts +1 -1
  110. package/src/assets/svgIcon/IconChatArrow.tsx +1 -7
  111. package/src/assets/svgIcon/IconPdf.tsx +26 -0
  112. package/src/assets/svgIcon/IconThinkingStep.tsx +1 -7
  113. package/src/components/chat/ChatEmpty.tsx +5 -2
  114. package/src/components/chat/ChatMessageList.tsx +39 -5
  115. package/src/components/chat/footer/index.tsx +410 -0
  116. package/src/components/chat/footer/item/UploadFileItem.tsx +181 -0
  117. package/src/components/chat/footer/item/UploadImageItem.tsx +91 -0
  118. package/src/components/chat/index.tsx +1 -1
  119. package/src/components/chat/item/ChatAIAnswerMessageItem.tsx +152 -54
  120. package/src/components/chat/item/ChatAIThinkingMessageItem.tsx +37 -31
  121. package/src/components/chat/item/ChatUserMessageItem.tsx +145 -13
  122. package/src/components/portal/Toast.tsx +315 -0
  123. package/src/components/portal/index.tsx +13 -0
  124. package/src/constants/events.ts +1 -0
  125. package/src/constants/index.ts +9 -0
  126. package/src/context/ChatContext.tsx +6 -2
  127. package/src/hooks/message/useMessage.ts +0 -1
  128. package/src/hooks/message/useSendMessage.ts +4 -4
  129. package/src/hooks/upload/useFileUpload.ts +126 -0
  130. package/src/hooks/upload/useImageUpload.ts +123 -0
  131. package/src/hooks/useAndroidBackHandler.ts +29 -0
  132. package/src/services/endpoints.ts +3 -0
  133. package/src/types/chat.ts +2 -0
  134. package/src/types/dto.ts +16 -1
  135. package/src/types/index.ts +1 -0
  136. package/src/types/ui.ts +12 -0
  137. package/src/utils/common.ts +40 -0
  138. package/src/utils/device.ts +170 -0
  139. package/src/utils/ui.tsx +32 -0
  140. package/lib/module/components/chat/ChatFooter.js +0 -91
  141. package/lib/module/components/chat/ChatFooter.js.map +0 -1
  142. package/lib/typescript/src/components/chat/ChatFooter.d.ts +0 -3
  143. package/lib/typescript/src/components/chat/ChatFooter.d.ts.map +0 -1
  144. package/src/components/chat/ChatFooter.tsx +0 -99
@@ -1,41 +1,148 @@
1
1
  "use strict";
2
2
 
3
- import { StyleSheet } from 'react-native';
4
- import { KColors, KContainer, KLabel, KSpacingValue } from '@droppii/libs';
3
+ import { Dimensions, StyleSheet } from 'react-native';
4
+ import { KColors, KContainer, KImage, KLabel, KRadiusValue, KSpacingValue } from '@droppii/libs';
5
5
  import { IconChatArrow } from "../../../assets/svgIcon/IconChatArrow.js";
6
+ import { useChatContext } from "../../../context/ChatContext.js";
7
+ import { useCallback } from 'react';
8
+ import { formatFileSize, shortenFileName } from "../../../utils/common.js";
9
+ import { IconPdf } from "../../../assets/svgIcon/IconPdf.js";
10
+ import { viewDocument } from '@react-native-documents/viewer';
11
+ import ReactNativeBlobUtil from 'react-native-blob-util';
12
+ import UIUtils from "../../../utils/ui.js";
6
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ const IMAGE_SIZE = (Dimensions.get('window').width * 0.8 - KSpacingValue['2rem'] - KSpacingValue['1rem']) / 3;
7
15
  const ChatUserMessageItem = ({
8
16
  item
9
17
  }) => {
18
+ const {
19
+ openImageViewer
20
+ } = useChatContext();
21
+ const images = item?.attachments?.filter(attachment => attachment.type === 'image');
22
+ const files = item?.attachments?.filter(attachment => attachment.type === 'file');
23
+ const handleOpenImageViewer = useCallback(index => {
24
+ openImageViewer?.(item?.attachments?.map(attachment => ({
25
+ url: attachment.data
26
+ })) || [], index);
27
+ }, [openImageViewer, item]);
28
+ const handleOpenFile = useCallback(async file => {
29
+ const res = await ReactNativeBlobUtil.config({
30
+ fileCache: true,
31
+ appendExt: 'pdf'
32
+ }).fetch('GET', file.data);
33
+ const localPath = res.path();
34
+ viewDocument({
35
+ uri: `file://${localPath}`,
36
+ mimeType: file.mime_type
37
+ }).catch(() => {
38
+ UIUtils.toast.open({
39
+ title: `Đã xảy ra lỗi khi mở tệp sau: ${file.name}. Vui lòng thử lại.`,
40
+ theme: 'danger'
41
+ });
42
+ });
43
+ }, []);
10
44
  return /*#__PURE__*/_jsxs(KContainer.View, {
11
45
  style: styles.container,
12
46
  children: [/*#__PURE__*/_jsx(KContainer.View, {
13
- style: styles.content,
14
- children: /*#__PURE__*/_jsx(KLabel.Text, {
15
- typo: "TextMdNormal",
16
- color: KColors.black,
17
- children: item.content
47
+ style: styles.imagesContainer,
48
+ children: images?.map((attachment, index) => {
49
+ return /*#__PURE__*/_jsx(KContainer.Touchable, {
50
+ style: styles.imageItem,
51
+ onPress: () => handleOpenImageViewer(index),
52
+ children: /*#__PURE__*/_jsx(KImage.Base, {
53
+ uri: attachment.data,
54
+ br: '2x',
55
+ style: styles.imageItemContainer
56
+ })
57
+ }, attachment.data);
18
58
  })
19
- }), /*#__PURE__*/_jsx(IconChatArrow, {
20
- fill: '#0077FF'
59
+ }), /*#__PURE__*/_jsx(KContainer.View, {
60
+ style: styles.filesContainer,
61
+ children: files?.map(attachment => {
62
+ return /*#__PURE__*/_jsxs(KContainer.Touchable, {
63
+ style: styles.fileItem,
64
+ onPress: () => handleOpenFile(attachment),
65
+ children: [/*#__PURE__*/_jsx(IconPdf, {
66
+ width: 28,
67
+ height: 28
68
+ }), /*#__PURE__*/_jsxs(KContainer.View, {
69
+ style: styles.fileItemContent,
70
+ children: [/*#__PURE__*/_jsx(KLabel.Text, {
71
+ typo: "TextSmNormal",
72
+ children: shortenFileName(attachment.name || '')
73
+ }), /*#__PURE__*/_jsx(KLabel.Text, {
74
+ typo: "Text2XsNormal",
75
+ color: KColors.gray.light,
76
+ children: formatFileSize(attachment.size || 0)
77
+ })]
78
+ })]
79
+ }, attachment.data);
80
+ })
81
+ }), /*#__PURE__*/_jsxs(KContainer.View, {
82
+ style: styles.messageContainer,
83
+ children: [/*#__PURE__*/_jsx(KContainer.View, {
84
+ style: styles.messageContent,
85
+ children: /*#__PURE__*/_jsx(KLabel.Text, {
86
+ typo: "TextMdNormal",
87
+ color: KColors.black,
88
+ children: item.content
89
+ })
90
+ }), /*#__PURE__*/_jsx(IconChatArrow, {
91
+ fill: '#0077FF'
92
+ })]
21
93
  })]
22
94
  });
23
95
  };
24
96
  export default ChatUserMessageItem;
25
97
  const styles = StyleSheet.create({
26
98
  container: {
27
- flexDirection: 'row',
28
- justifyContent: 'flex-end',
99
+ alignItems: 'flex-end',
100
+ marginVertical: KSpacingValue['0.5rem'],
101
+ gap: KSpacingValue['0.5rem'],
29
102
  paddingHorizontal: KSpacingValue['1rem'],
30
- marginVertical: KSpacingValue['0.5rem']
103
+ maxWidth: '80%',
104
+ alignSelf: 'flex-end',
105
+ flex: 1
106
+ },
107
+ messageContainer: {
108
+ flexDirection: 'row'
31
109
  },
32
- content: {
33
- maxWidth: '70%',
110
+ messageContent: {
34
111
  paddingHorizontal: KSpacingValue['1rem'],
35
112
  paddingVertical: KSpacingValue['0.5rem'],
36
113
  backgroundColor: KColors.hexToRgba('#0077FF', 0.1),
37
114
  borderRadius: KSpacingValue['1.5rem'],
38
115
  borderTopRightRadius: 0
39
- }
116
+ },
117
+ imagesContainer: {
118
+ flexDirection: 'row',
119
+ flexWrap: 'wrap',
120
+ gap: KSpacingValue['0.5rem'],
121
+ justifyContent: 'flex-end'
122
+ },
123
+ imageItem: {
124
+ borderRadius: KRadiusValue['2x'],
125
+ width: IMAGE_SIZE,
126
+ height: IMAGE_SIZE
127
+ },
128
+ imageItemContainer: {
129
+ width: IMAGE_SIZE,
130
+ height: IMAGE_SIZE
131
+ },
132
+ filesContainer: {
133
+ gap: KSpacingValue['0.5rem'],
134
+ alignItems: 'flex-end'
135
+ },
136
+ fileItem: {
137
+ position: 'relative',
138
+ paddingVertical: KSpacingValue['0.5rem'],
139
+ paddingHorizontal: KSpacingValue['0.75rem'],
140
+ gap: KSpacingValue['0.5rem'],
141
+ flexDirection: 'row',
142
+ alignItems: 'center',
143
+ borderRadius: KRadiusValue['3x'],
144
+ backgroundColor: KColors.hexToRgba(KColors.gray.light, 0.1)
145
+ },
146
+ fileItemContent: {}
40
147
  });
41
148
  //# sourceMappingURL=ChatUserMessageItem.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","KColors","KContainer","KLabel","KSpacingValue","IconChatArrow","jsx","_jsx","jsxs","_jsxs","ChatUserMessageItem","item","View","style","styles","container","children","content","Text","typo","color","black","fill","create","flexDirection","justifyContent","paddingHorizontal","marginVertical","maxWidth","paddingVertical","backgroundColor","hexToRgba","borderRadius","borderTopRightRadius"],"sourceRoot":"../../../../../src","sources":["components/chat/item/ChatUserMessageItem.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,aAAa,QAAQ,eAAe;AAE1E,SAASC,aAAa,QAAQ,0CAAuC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAKtE,MAAMC,mBAAmB,GAAGA,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAClE,oBACEF,KAAA,CAACP,UAAU,CAACU,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBACvCT,IAAA,CAACL,UAAU,CAACU,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACG,OAAQ;MAAAD,QAAA,eACrCT,IAAA,CAACJ,MAAM,CAACe,IAAI;QAACC,IAAI,EAAC,cAAc;QAACC,KAAK,EAAEnB,OAAO,CAACoB,KAAM;QAAAL,QAAA,EACnDL,IAAI,CAACM;MAAO,CACF;IAAC,CACC,CAAC,eAClBV,IAAA,CAACF,aAAa;MAACiB,IAAI,EAAE;IAAU,CAAE,CAAC;EAAA,CACnB,CAAC;AAEtB,CAAC;AAED,eAAeZ,mBAAmB;AAElC,MAAMI,MAAM,GAAGd,UAAU,CAACuB,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,UAAU;IAC1BC,iBAAiB,EAAEtB,aAAa,CAAC,MAAM,CAAC;IACxCuB,cAAc,EAAEvB,aAAa,CAAC,QAAQ;EACxC,CAAC;EACDa,OAAO,EAAE;IACPW,QAAQ,EAAE,KAAK;IACfF,iBAAiB,EAAEtB,aAAa,CAAC,MAAM,CAAC;IACxCyB,eAAe,EAAEzB,aAAa,CAAC,QAAQ,CAAC;IACxC0B,eAAe,EAAE7B,OAAO,CAAC8B,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC;IAClDC,YAAY,EAAE5B,aAAa,CAAC,QAAQ,CAAC;IACrC6B,oBAAoB,EAAE;EACxB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Dimensions","StyleSheet","KColors","KContainer","KImage","KLabel","KRadiusValue","KSpacingValue","IconChatArrow","useChatContext","useCallback","formatFileSize","shortenFileName","IconPdf","viewDocument","ReactNativeBlobUtil","UIUtils","jsx","_jsx","jsxs","_jsxs","IMAGE_SIZE","get","width","ChatUserMessageItem","item","openImageViewer","images","attachments","filter","attachment","type","files","handleOpenImageViewer","index","map","url","data","handleOpenFile","file","res","config","fileCache","appendExt","fetch","localPath","path","uri","mimeType","mime_type","catch","toast","open","title","name","theme","View","style","styles","container","children","imagesContainer","Touchable","imageItem","onPress","Base","br","imageItemContainer","filesContainer","fileItem","height","fileItemContent","Text","typo","color","gray","light","size","messageContainer","messageContent","black","content","fill","create","alignItems","marginVertical","gap","paddingHorizontal","maxWidth","alignSelf","flex","flexDirection","paddingVertical","backgroundColor","hexToRgba","borderRadius","borderTopRightRadius","flexWrap","justifyContent","position"],"sourceRoot":"../../../../../src","sources":["components/chat/item/ChatUserMessageItem.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable react-native/no-inline-styles */
4
+ import { forwardRef, memo, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
5
+ // @ts-ignore
6
+ import { StyleSheet } from 'react-native';
7
+ import Animated, { FadeInDown, FadeInUp, FadeOutDown, FadeOutUp, useAnimatedStyle, useSharedValue, withSequence, withSpring } from 'react-native-reanimated';
8
+ import get from 'lodash/get';
9
+ import { KButton, KContainer, KImage, KLabel
10
+ // @ts-ignore
11
+ , KSpacingValue, KColors, KDims } from '@droppii/libs';
12
+ import { Z_INDEX_PRIORITY } from "../../constants/index.js";
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ const Toast = /*#__PURE__*/forwardRef((_, ref) => {
15
+ const [data, setData] = useState(undefined);
16
+ const scale = useSharedValue(1);
17
+ const containerRef = useRef(null);
18
+ const timeout = useRef(undefined);
19
+ const dismiss = useCallback(() => {
20
+ setData(undefined);
21
+ }, []);
22
+ useImperativeHandle(ref, () => ({
23
+ open: payload => {
24
+ if (data) {
25
+ scale.value = withSequence(withSpring(1.1, {
26
+ mass: 0.3
27
+ }), withSpring(1, {
28
+ mass: 0.3
29
+ }));
30
+ }
31
+ setData(payload);
32
+ },
33
+ dismiss
34
+ }), [dismiss, scale, data]);
35
+ const {
36
+ type = 'full-fill',
37
+ theme = 'light',
38
+ position = 'bottom',
39
+ contentAlignment = 'center',
40
+ textAlign = 'center',
41
+ stretch,
42
+ action,
43
+ description,
44
+ icon,
45
+ showCloseButton,
46
+ title,
47
+ content,
48
+ onPressContent,
49
+ visibleTimeout = 3000,
50
+ br = '2x',
51
+ withTabBar = true,
52
+ contentContainerStyle
53
+ } = data || {};
54
+ const colors = useMemo(() => {
55
+ const themeColor = theme === 'light' ? 'rgba(61,63,64,0.96)' : get(KColors, `${theme}.normal`, KColors.primary.normal);
56
+ return {
57
+ backgroundColor: theme === 'light' ? themeColor : type === 'revert' ? KColors.white : type === 'full-fill' ? themeColor : get(KColors, `palette.${theme}.w25`, KColors.palette.primary.w50),
58
+ borderColor: theme === 'light' || type !== 'revert' ? undefined : themeColor,
59
+ tintColor: theme === 'light' ? KColors.border.normal : type === 'full-fill' ? KColors.white : themeColor,
60
+ textColor: theme === 'light' ? KColors.border.normal : type === 'revert' ? KColors.gray.dark : type === 'full-fill' ? KColors.white : themeColor,
61
+ closeIconColor: theme === 'light' ? KColors.border.normal : type === 'revert' ? KColors.gray.light : type === 'full-fill' ? KColors.white : themeColor,
62
+ actionRevert: type === 'full-fill'
63
+ };
64
+ }, [type, theme]);
65
+
66
+ // @ts-ignore
67
+ useEffect(() => {
68
+ if (data) {
69
+ // @ts-ignore
70
+ timeout.current = setTimeout(() => {
71
+ dismiss();
72
+ }, visibleTimeout);
73
+ return () => {
74
+ clearTimeout(timeout.current);
75
+ };
76
+ }
77
+ // eslint-disable-next-line react-hooks/exhaustive-deps
78
+ }, [data]);
79
+ const onPressWrapper = useCallback(onPress => {
80
+ onPress?.();
81
+ dismiss?.();
82
+ }, [dismiss]);
83
+ const rStyle = useAnimatedStyle(() => ({
84
+ transform: [{
85
+ scale: scale.value
86
+ }]
87
+ }));
88
+ const onPressContentWrapper = useCallback(() => {
89
+ onPressContent?.();
90
+ dismiss();
91
+ }, [onPressContent, dismiss]);
92
+ if (!data) {
93
+ return null;
94
+ }
95
+ const Wrapper = onPressContent ? KContainer.Touchable : KContainer.View;
96
+ return /*#__PURE__*/_jsx(Animated.View, {
97
+ style: [styles.content, rStyle, position === 'top' ? styles.top : withTabBar ? styles.bottom : styles.bottomWithoutTabBar]
98
+ // @ts-ignore
99
+ ,
100
+ ref: containerRef,
101
+ children: /*#__PURE__*/_jsx(Animated.View, {
102
+ entering: position === 'top' ? FadeInUp : FadeInDown,
103
+ exiting: position === 'top' ? FadeOutUp : FadeOutDown,
104
+ children: /*#__PURE__*/_jsxs(Wrapper, {
105
+ onPress: onPressContentWrapper,
106
+ activeOpacity: 0.9,
107
+ style: [styles.innerContent, {
108
+ backgroundColor: colors.backgroundColor,
109
+ borderWidth: colors.borderColor ? 1 : 0,
110
+ borderColor: colors.borderColor
111
+ }],
112
+ padding: "1rem",
113
+ paddingH: stretch ? '1rem' : '2rem',
114
+ br: br,
115
+ alignSelf: stretch ? 'stretch' : 'center',
116
+ children: [icon && /*#__PURE__*/_jsx(KContainer.View, {
117
+ children: /*#__PURE__*/_jsx(KImage.CommonIcon, {
118
+ ...icon,
119
+ size: !icon.size || icon.size > 32 ? 32 : icon.size < 16 ? 16 : icon.size,
120
+ style: styles.leftIcon,
121
+ tintColor: colors.tintColor
122
+ })
123
+ }), /*#__PURE__*/_jsxs(KContainer.View, {
124
+ justifyContent: true,
125
+ alignItems: contentAlignment === 'center' ? 'center' : 'flex-start',
126
+ flex: stretch ? 1 : 0,
127
+ style: contentContainerStyle,
128
+ children: [!!title && /*#__PURE__*/_jsx(KLabel.Text, {
129
+ color: colors.textColor,
130
+ typo: "TextNmMedium",
131
+ textAlign: textAlign || 'center',
132
+ children: title
133
+ }), !!description && /*#__PURE__*/_jsx(KLabel.Text, {
134
+ color: colors.textColor,
135
+ typo: "TextSmNormal",
136
+ textAlign: textAlign || 'center',
137
+ marginT: "0.25rem",
138
+ children: description
139
+ }), content]
140
+ }), action && /*#__PURE__*/_jsx(KContainer.View, {
141
+ style: styles.rightIcon,
142
+ children: /*#__PURE__*/_jsx(KButton.Solid, {
143
+ kind: theme
144
+ // revert={colors.actionRevert}
145
+ ,
146
+ label: action.label,
147
+ onPress: onPressWrapper.bind(null, action.onPress)
148
+ })
149
+ }), showCloseButton && /*#__PURE__*/_jsx(KContainer.View, {
150
+ style: styles.rightIcon,
151
+ children: /*#__PURE__*/_jsx(KButton.Close, {
152
+ size: 28,
153
+ color: colors.closeIconColor,
154
+ onPress: dismiss
155
+ })
156
+ })]
157
+ })
158
+ })
159
+ });
160
+ });
161
+ Toast.displayName = 'Portal.Toast';
162
+ export default /*#__PURE__*/memo(Toast);
163
+ const styles = StyleSheet.create({
164
+ content: {
165
+ position: 'absolute',
166
+ left: 0,
167
+ right: 0,
168
+ zIndex: Z_INDEX_PRIORITY.toast,
169
+ marginHorizontal: KSpacingValue['1rem'],
170
+ backgroundColor: KColors.transparent
171
+ },
172
+ innerContent: {
173
+ flexDirection: 'row',
174
+ alignItems: 'center',
175
+ alignSelf: 'center'
176
+ },
177
+ leftIcon: {
178
+ marginRight: KSpacingValue['0.5rem']
179
+ },
180
+ rightIcon: {
181
+ marginLeft: KSpacingValue['0.5rem']
182
+ },
183
+ bottom: {
184
+ bottom: KSpacingValue['1.5rem'] + KDims.bottomTabHeightStatic
185
+ },
186
+ bottomWithoutTabBar: {
187
+ bottom: KSpacingValue['1.5rem']
188
+ },
189
+ top: {
190
+ top: KDims.topBarSafeHeight > 0 ? KDims.topBarSafeHeight + 25 : KSpacingValue['2rem']
191
+ }
192
+ });
193
+ //# sourceMappingURL=Toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","memo","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","StyleSheet","Animated","FadeInDown","FadeInUp","FadeOutDown","FadeOutUp","useAnimatedStyle","useSharedValue","withSequence","withSpring","get","KButton","KContainer","KImage","KLabel","KSpacingValue","KColors","KDims","Z_INDEX_PRIORITY","jsx","_jsx","jsxs","_jsxs","Toast","_","ref","data","setData","undefined","scale","containerRef","timeout","dismiss","open","payload","value","mass","type","theme","position","contentAlignment","textAlign","stretch","action","description","icon","showCloseButton","title","content","onPressContent","visibleTimeout","br","withTabBar","contentContainerStyle","colors","themeColor","primary","normal","backgroundColor","white","palette","w50","borderColor","tintColor","border","textColor","gray","dark","closeIconColor","light","actionRevert","current","setTimeout","clearTimeout","onPressWrapper","onPress","rStyle","transform","onPressContentWrapper","Wrapper","Touchable","View","style","styles","top","bottom","bottomWithoutTabBar","children","entering","exiting","activeOpacity","innerContent","borderWidth","padding","paddingH","alignSelf","CommonIcon","size","leftIcon","justifyContent","alignItems","flex","Text","color","typo","marginT","rightIcon","Solid","kind","label","bind","Close","displayName","create","left","right","zIndex","toast","marginHorizontal","transparent","flexDirection","marginRight","marginLeft","bottomTabHeightStatic","topBarSafeHeight"],"sourceRoot":"../../../../src","sources":["components/portal/Toast.tsx"],"mappings":";;AAAA;AACA,SAEEA,UAAU,EACVC,IAAI,EACJC,WAAW,EACXC,SAAS,EACTC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd;AACA,SAASC,UAAU,QAA8B,cAAc;AAC/D,OAAOC,QAAQ,IACbC,UAAU,EACVC,QAAQ,EACRC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,cAAc,EACdC,YAAY,EACZC,UAAU,QACL,yBAAyB;AAChC,OAAOC,GAAG,MAAM,YAAY;AAE5B,SACEC,OAAO,EACPC,UAAU,EACVC,MAAM,EACNC;AACA;AAAA,EAEAC,aAAa,EACbC,OAAO,EACPC,KAAK,QACA,eAAe;AACtB,SAASC,gBAAgB,QAAQ,0BAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEnD,MAAMC,KAAK,gBAAG/B,UAAU,CAAiB,CAACgC,CAAC,EAAEC,GAAG,KAAK;EACnD,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG5B,QAAQ,CAI9B6B,SAAS,CAAC;EACZ,MAAMC,KAAK,GAAGtB,cAAc,CAAC,CAAC,CAAC;EAC/B,MAAMuB,YAAY,GAAGhC,MAAM,CAAC,IAAI,CAAC;EAEjC,MAAMiC,OAAO,GAAGjC,MAAM,CAAS8B,SAAS,CAAC;EAEzC,MAAMI,OAAO,GAAGtC,WAAW,CAAC,MAAM;IAChCiC,OAAO,CAACC,SAAS,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAENhC,mBAAmB,CACjB6B,GAAG,EACH,OAAO;IACLQ,IAAI,EAAGC,OAAO,IAAK;MACjB,IAAIR,IAAI,EAAE;QACRG,KAAK,CAACM,KAAK,GAAG3B,YAAY,CACxBC,UAAU,CAAC,GAAG,EAAE;UAAE2B,IAAI,EAAE;QAAI,CAAC,CAAC,EAC9B3B,UAAU,CAAC,CAAC,EAAE;UAAE2B,IAAI,EAAE;QAAI,CAAC,CAC7B,CAAC;MACH;MACAT,OAAO,CAACO,OAAO,CAAC;IAClB,CAAC;IACDF;EACF,CAAC,CAAC,EACF,CAACA,OAAO,EAAEH,KAAK,EAAEH,IAAI,CACvB,CAAC;EAED,MAAM;IACJW,IAAI,GAAG,WAAW;IAClBC,KAAK,GAAG,OAAO;IACfC,QAAQ,GAAG,QAAQ;IACnBC,gBAAgB,GAAG,QAAQ;IAC3BC,SAAS,GAAG,QAAQ;IACpBC,OAAO;IACPC,MAAM;IACNC,WAAW;IACXC,IAAI;IACJC,eAAe;IACfC,KAAK;IACLC,OAAO;IACPC,cAAc;IACdC,cAAc,GAAG,IAAI;IACrBC,EAAE,GAAG,IAAI;IACTC,UAAU,GAAG,IAAI;IACjBC;EACF,CAAC,GAAG3B,IAAI,IAAI,CAAC,CAAC;EAEd,MAAM4B,MAAM,GAAGzD,OAAO,CAAC,MAAM;IAC3B,MAAM0D,UAAU,GACdjB,KAAK,KAAK,OAAO,GACb,qBAAqB,GACrB5B,GAAG,CAACM,OAAO,EAAE,GAAGsB,KAAK,SAAS,EAAEtB,OAAO,CAACwC,OAAO,CAACC,MAAM,CAAC;IAE7D,OAAO;MACLC,eAAe,EACbpB,KAAK,KAAK,OAAO,GACbiB,UAAU,GACVlB,IAAI,KAAK,QAAQ,GACfrB,OAAO,CAAC2C,KAAK,GACbtB,IAAI,KAAK,WAAW,GAClBkB,UAAU,GACV7C,GAAG,CACDM,OAAO,EACP,WAAWsB,KAAK,MAAM,EACtBtB,OAAO,CAAC4C,OAAO,CAACJ,OAAO,CAACK,GAC1B,CAAC;MACXC,WAAW,EACTxB,KAAK,KAAK,OAAO,IAAID,IAAI,KAAK,QAAQ,GAAGT,SAAS,GAAG2B,UAAU;MACjEQ,SAAS,EACPzB,KAAK,KAAK,OAAO,GACbtB,OAAO,CAACgD,MAAM,CAACP,MAAM,GACrBpB,IAAI,KAAK,WAAW,GAClBrB,OAAO,CAAC2C,KAAK,GACbJ,UAAU;MAClBU,SAAS,EACP3B,KAAK,KAAK,OAAO,GACbtB,OAAO,CAACgD,MAAM,CAACP,MAAM,GACrBpB,IAAI,KAAK,QAAQ,GACfrB,OAAO,CAACkD,IAAI,CAACC,IAAI,GACjB9B,IAAI,KAAK,WAAW,GAClBrB,OAAO,CAAC2C,KAAK,GACbJ,UAAU;MACpBa,cAAc,EACZ9B,KAAK,KAAK,OAAO,GACbtB,OAAO,CAACgD,MAAM,CAACP,MAAM,GACrBpB,IAAI,KAAK,QAAQ,GACfrB,OAAO,CAACkD,IAAI,CAACG,KAAK,GAClBhC,IAAI,KAAK,WAAW,GAClBrB,OAAO,CAAC2C,KAAK,GACbJ,UAAU;MACpBe,YAAY,EAAEjC,IAAI,KAAK;IACzB,CAAC;EACH,CAAC,EAAE,CAACA,IAAI,EAAEC,KAAK,CAAC,CAAC;;EAEjB;EACA3C,SAAS,CAAC,MAAM;IACd,IAAI+B,IAAI,EAAE;MACR;MACAK,OAAO,CAACwC,OAAO,GAAGC,UAAU,CAAC,MAAM;QACjCxC,OAAO,CAAC,CAAC;MACX,CAAC,EAAEkB,cAAc,CAAC;MAElB,OAAO,MAAM;QACXuB,YAAY,CAAC1C,OAAO,CAACwC,OAAO,CAAC;MAC/B,CAAC;IACH;IACA;EACF,CAAC,EAAE,CAAC7C,IAAI,CAAC,CAAC;EAEV,MAAMgD,cAAc,GAAGhF,WAAW,CAC/BiF,OAAa,IAAK;IACjBA,OAAO,GAAG,CAAC;IACX3C,OAAO,GAAG,CAAC;EACb,CAAC,EACD,CAACA,OAAO,CACV,CAAC;EAED,MAAM4C,MAAM,GAAGtE,gBAAgB,CAAC,OAAO;IACrCuE,SAAS,EAAE,CAAC;MAAEhD,KAAK,EAAEA,KAAK,CAACM;IAAM,CAAC;EACpC,CAAC,CAAC,CAAC;EAEH,MAAM2C,qBAAqB,GAAGpF,WAAW,CAAC,MAAM;IAC9CuD,cAAc,GAAG,CAAC;IAClBjB,OAAO,CAAC,CAAC;EACX,CAAC,EAAE,CAACiB,cAAc,EAAEjB,OAAO,CAAC,CAAC;EAE7B,IAAI,CAACN,IAAI,EAAE;IACT,OAAO,IAAI;EACb;EAEA,MAAMqD,OAAO,GAAG9B,cAAc,GAAGrC,UAAU,CAACoE,SAAS,GAAGpE,UAAU,CAACqE,IAAI;EAEvE,oBACE7D,IAAA,CAACnB,QAAQ,CAACgF,IAAI;IACZC,KAAK,EAAE,CACLC,MAAM,CAACnC,OAAO,EACd4B,MAAM,EACNrC,QAAQ,KAAK,KAAK,GACd4C,MAAM,CAACC,GAAG,GACVhC,UAAU,GACR+B,MAAM,CAACE,MAAM,GACbF,MAAM,CAACG,mBAAmB;IAElC;IAAA;IACA7D,GAAG,EAAEK,YAAa;IAAAyD,QAAA,eAElBnE,IAAA,CAACnB,QAAQ,CAACgF,IAAI;MACZO,QAAQ,EAAEjD,QAAQ,KAAK,KAAK,GAAGpC,QAAQ,GAAGD,UAAW;MACrDuF,OAAO,EAAElD,QAAQ,KAAK,KAAK,GAAGlC,SAAS,GAAGD,WAAY;MAAAmF,QAAA,eAEtDjE,KAAA,CAACyD,OAAO;QACNJ,OAAO,EAAEG,qBAAsB;QAC/BY,aAAa,EAAE,GAAI;QACnBR,KAAK,EAAE,CACLC,MAAM,CAACQ,YAAY,EACnB;UACEjC,eAAe,EAAEJ,MAAM,CAACI,eAAe;UACvCkC,WAAW,EAAEtC,MAAM,CAACQ,WAAW,GAAG,CAAC,GAAG,CAAC;UACvCA,WAAW,EAAER,MAAM,CAACQ;QACtB,CAAC,CACD;QACF+B,OAAO,EAAC,MAAM;QACdC,QAAQ,EAAEpD,OAAO,GAAG,MAAM,GAAG,MAAO;QACpCS,EAAE,EAAEA,EAAG;QACP4C,SAAS,EAAErD,OAAO,GAAG,SAAS,GAAG,QAAS;QAAA6C,QAAA,GAEzC1C,IAAI,iBACHzB,IAAA,CAACR,UAAU,CAACqE,IAAI;UAAAM,QAAA,eACdnE,IAAA,CAACP,MAAM,CAACmF,UAAU;YAAA,GACZnD,IAAI;YACRoD,IAAI,EACF,CAACpD,IAAI,CAACoD,IAAI,IAAIpD,IAAI,CAACoD,IAAI,GAAG,EAAE,GACxB,EAAE,GACFpD,IAAI,CAACoD,IAAI,GAAG,EAAE,GACZ,EAAE,GACFpD,IAAI,CAACoD,IACZ;YACDf,KAAK,EAAEC,MAAM,CAACe,QAAS;YACvBnC,SAAS,EAAET,MAAM,CAACS;UAAU,CAC7B;QAAC,CACa,CAClB,eACDzC,KAAA,CAACV,UAAU,CAACqE,IAAI;UACdkB,cAAc;UACdC,UAAU,EAAE5D,gBAAgB,KAAK,QAAQ,GAAG,QAAQ,GAAG,YAAa;UACpE6D,IAAI,EAAE3D,OAAO,GAAG,CAAC,GAAG,CAAE;UACtBwC,KAAK,EAAE7B,qBAAsB;UAAAkC,QAAA,GAE5B,CAAC,CAACxC,KAAK,iBACN3B,IAAA,CAACN,MAAM,CAACwF,IAAI;YACVC,KAAK,EAAEjD,MAAM,CAACW,SAAU;YACxBuC,IAAI,EAAC,cAAc;YACnB/D,SAAS,EAAEA,SAAS,IAAI,QAAS;YAAA8C,QAAA,EAEhCxC;UAAK,CACK,CACd,EACA,CAAC,CAACH,WAAW,iBACZxB,IAAA,CAACN,MAAM,CAACwF,IAAI;YACVC,KAAK,EAAEjD,MAAM,CAACW,SAAU;YACxBuC,IAAI,EAAC,cAAc;YACnB/D,SAAS,EAAEA,SAAS,IAAI,QAAS;YACjCgE,OAAO,EAAC,SAAS;YAAAlB,QAAA,EAEhB3C;UAAW,CACD,CACd,EACAI,OAAO;QAAA,CACO,CAAC,EACjBL,MAAM,iBACLvB,IAAA,CAACR,UAAU,CAACqE,IAAI;UAACC,KAAK,EAAEC,MAAM,CAACuB,SAAU;UAAAnB,QAAA,eACvCnE,IAAA,CAACT,OAAO,CAACgG,KAAK;YACZC,IAAI,EAAEtE;YACN;YAAA;YACAuE,KAAK,EAAElE,MAAM,CAACkE,KAAM;YACpBlC,OAAO,EAAED,cAAc,CAACoC,IAAI,CAAC,IAAI,EAAEnE,MAAM,CAACgC,OAAO;UAAE,CACpD;QAAC,CACa,CAClB,EACA7B,eAAe,iBACd1B,IAAA,CAACR,UAAU,CAACqE,IAAI;UAACC,KAAK,EAAEC,MAAM,CAACuB,SAAU;UAAAnB,QAAA,eACvCnE,IAAA,CAACT,OAAO,CAACoG,KAAK;YACZd,IAAI,EAAE,EAAG;YACTM,KAAK,EAAEjD,MAAM,CAACc,cAAe;YAC7BO,OAAO,EAAE3C;UAAQ,CAClB;QAAC,CACa,CAClB;MAAA,CACM;IAAC,CACG;EAAC,CACH,CAAC;AAEpB,CAAC,CAAC;AAEDT,KAAK,CAAwByF,WAAW,GAAG,cAAc;AAE1D,4BAAevH,IAAI,CAAC8B,KAAK,CAAC;AAE1B,MAAM4D,MAAM,GAAGnF,UAAU,CAACiH,MAAM,CAAC;EAC/BjE,OAAO,EAAE;IACPT,QAAQ,EAAE,UAAU;IACpB2E,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAElG,gBAAgB,CAACmG,KAAK;IAC9BC,gBAAgB,EAAEvG,aAAa,CAAC,MAAM,CAAC;IACvC2C,eAAe,EAAE1C,OAAO,CAACuG;EAC3B,CAAC;EACD5B,YAAY,EAAE;IACZ6B,aAAa,EAAE,KAAK;IACpBpB,UAAU,EAAE,QAAQ;IACpBL,SAAS,EAAE;EACb,CAAC;EACDG,QAAQ,EAAE;IACRuB,WAAW,EAAE1G,aAAa,CAAC,QAAQ;EACrC,CAAC;EACD2F,SAAS,EAAE;IACTgB,UAAU,EAAE3G,aAAa,CAAC,QAAQ;EACpC,CAAC;EACDsE,MAAM,EAAE;IACNA,MAAM,EAAEtE,aAAa,CAAC,QAAQ,CAAC,GAAGE,KAAK,CAAC0G;EAC1C,CAAC;EACDrC,mBAAmB,EAAE;IACnBD,MAAM,EAAEtE,aAAa,CAAC,QAAQ;EAChC,CAAC;EACDqE,GAAG,EAAE;IACHA,GAAG,EACDnE,KAAK,CAAC2G,gBAAgB,GAAG,CAAC,GACtB3G,KAAK,CAAC2G,gBAAgB,GAAG,EAAE,GAC3B7G,aAAa,CAAC,MAAM;EAC5B;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ import { memo } from 'react';
4
+ import ToastBar from "./Toast.js";
5
+ import { toastRef } from "../../constants/index.js";
6
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
7
+ const Portal = /*#__PURE__*/memo(() => {
8
+ return /*#__PURE__*/_jsx(_Fragment, {
9
+ children: /*#__PURE__*/_jsx(ToastBar, {
10
+ ref: toastRef
11
+ })
12
+ });
13
+ });
14
+ export default Portal;
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","ToastBar","toastRef","jsx","_jsx","Fragment","_Fragment","Portal","children","ref"],"sourceRoot":"../../../../src","sources":["components/portal/index.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,OAAOC,QAAQ,MAAM,YAAS;AAC9B,SAASC,QAAQ,QAAQ,0BAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA;AAE3C,MAAMC,MAAM,gBAAGP,IAAI,CAAC,MAAM;EACxB,oBACEI,IAAA,CAAAE,SAAA;IAAAE,QAAA,eACEJ,IAAA,CAACH,QAAQ;MAACQ,GAAG,EAAEP;IAAS,CAAE;EAAC,CAC3B,CAAC;AAEP,CAAC,CAAC;AAEF,eAAeK,MAAM","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  export const events = {
4
4
  updateOneMessage: 'update_one_message',
5
5
  updateMultipleMessage: 'update_multiple_message',
6
- forceUpdateMessages: 'force_update_messages'
6
+ forceUpdateMessages: 'force_update_messages',
7
+ expandThinkingStep: 'expand_thinking_step'
7
8
  };
8
9
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["events","updateOneMessage","updateMultipleMessage","forceUpdateMessages"],"sourceRoot":"../../../src","sources":["constants/events.ts"],"mappings":";;AAAA,OAAO,MAAMA,MAAM,GAAG;EACpBC,gBAAgB,EAAE,oBAAoB;EACtCC,qBAAqB,EAAE,yBAAyB;EAChDC,mBAAmB,EAAE;AACvB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["events","updateOneMessage","updateMultipleMessage","forceUpdateMessages","expandThinkingStep"],"sourceRoot":"../../../src","sources":["constants/events.ts"],"mappings":";;AAAA,OAAO,MAAMA,MAAM,GAAG;EACpBC,gBAAgB,EAAE,oBAAoB;EACtCC,qBAAqB,EAAE,yBAAyB;EAChDC,mBAAmB,EAAE,uBAAuB;EAC5CC,kBAAkB,EAAE;AACtB,CAAC","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ import { createRef } from 'react';
4
+ const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER + 100;
5
+ export const toastRef = /*#__PURE__*/createRef();
6
+ export const Z_INDEX_PRIORITY = {
7
+ toast: MAX_SAFE_INTEGER - 1
8
+ };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createRef","MAX_SAFE_INTEGER","Number","toastRef","Z_INDEX_PRIORITY","toast"],"sourceRoot":"../../../src","sources":["constants/index.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AAGjC,MAAMC,gBAAgB,GAAGC,MAAM,CAACD,gBAAgB,GAAG,GAAG;AAEtD,OAAO,MAAME,QAAQ,gBAAGH,SAAS,CAAiB,CAAC;AACnD,OAAO,MAAMI,gBAAgB,GAAG;EAC9BC,KAAK,EAAEJ,gBAAgB,GAAG;AAC5B,CAAC","ignoreList":[]}
@@ -2,7 +2,8 @@
2
2
 
3
3
  import { createContext, useContext } from 'react';
4
4
  import ChatBotAI from "../components/chat/index.js";
5
- import { jsx as _jsx } from "react/jsx-runtime";
5
+ import Portal from "../components/portal/index.js";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
7
  export const ChatContext = /*#__PURE__*/createContext({
7
8
  apiAddress: '',
8
9
  userId: '',
@@ -13,15 +14,17 @@ export const ChatProvider = props => {
13
14
  const {
14
15
  apiAddress,
15
16
  userId,
16
- cartButton
17
+ cartButton,
18
+ openImageViewer
17
19
  } = props;
18
- return /*#__PURE__*/_jsx(ChatContext.Provider, {
20
+ return /*#__PURE__*/_jsxs(ChatContext.Provider, {
19
21
  value: {
20
22
  apiAddress,
21
23
  userId,
22
- cartButton
24
+ cartButton,
25
+ openImageViewer
23
26
  },
24
- children: /*#__PURE__*/_jsx(ChatBotAI, {})
27
+ children: [/*#__PURE__*/_jsx(ChatBotAI, {}), /*#__PURE__*/_jsx(Portal, {})]
25
28
  });
26
29
  };
27
30
  //# sourceMappingURL=ChatContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContext","ChatBotAI","jsx","_jsx","ChatContext","apiAddress","userId","cartButton","undefined","useChatContext","ChatProvider","props","Provider","value","children"],"sourceRoot":"../../../src","sources":["context/ChatContext.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAEjD,OAAOC,SAAS,MAAM,6BAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,OAAO,MAAMC,WAAW,gBAAGL,aAAa,CAAkB;EACxDM,UAAU,EAAE,EAAE;EACdC,MAAM,EAAE,EAAE;EACVC,UAAU,EAAEC;AACd,CAAC,CAAC;AAEF,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAMT,UAAU,CAACI,WAAW,CAAC;AAE3D,OAAO,MAAMM,YAAY,GAAIC,KAAwB,IAAK;EACxD,MAAM;IAAEN,UAAU;IAAEC,MAAM;IAAEC;EAAW,CAAC,GAAGI,KAAK;EAChD,oBACER,IAAA,CAACC,WAAW,CAACQ,QAAQ;IAACC,KAAK,EAAE;MAAER,UAAU;MAAEC,MAAM;MAAEC;IAAW,CAAE;IAAAO,QAAA,eAC9DX,IAAA,CAACF,SAAS,IAAE;EAAC,CACO,CAAC;AAE3B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useContext","ChatBotAI","Portal","jsx","_jsx","jsxs","_jsxs","ChatContext","apiAddress","userId","cartButton","undefined","useChatContext","ChatProvider","props","openImageViewer","Provider","value","children"],"sourceRoot":"../../../src","sources":["context/ChatContext.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAEjD,OAAOC,SAAS,MAAM,6BAAoB;AAC1C,OAAOC,MAAM,MAAM,+BAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE1C,OAAO,MAAMC,WAAW,gBAAGR,aAAa,CAAkB;EACxDS,UAAU,EAAE,EAAE;EACdC,MAAM,EAAE,EAAE;EACVC,UAAU,EAAEC;AACd,CAAC,CAAC;AAEF,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAMZ,UAAU,CAACO,WAAW,CAAC;AAE3D,OAAO,MAAMM,YAAY,GAAIC,KAAwB,IAAK;EACxD,MAAM;IAAEN,UAAU;IAAEC,MAAM;IAAEC,UAAU;IAAEK;EAAgB,CAAC,GAAGD,KAAK;EACjE,oBACER,KAAA,CAACC,WAAW,CAACS,QAAQ;IACnBC,KAAK,EAAE;MAAET,UAAU;MAAEC,MAAM;MAAEC,UAAU;MAAEK;IAAgB,CAAE;IAAAG,QAAA,gBAE3Dd,IAAA,CAACH,SAAS,IAAE,CAAC,eACbG,IAAA,CAACF,MAAM,IAAE,CAAC;EAAA,CACU,CAAC;AAE3B,CAAC","ignoreList":[]}
@@ -49,7 +49,6 @@ export const useMessage = () => {
49
49
  setLoadState(prev => {
50
50
  const existingIds = new Set(prev.messages.map(m => m?.id));
51
51
  const filtered = messageItems.filter(m => !existingIds.has(m?.id)).reverse();
52
- console.log('🚀 ~ useEffect ~ filtered:', prev.messages);
53
52
  return {
54
53
  ...prev,
55
54
  messages: [...filtered, ...prev.messages]
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useState","useSessionStore","useFetchSessionById","DeviceEventEmitter","events","initialState","id","title","created_at","updated_at","metadata","source","shared","messages","useMessage","sessionId","state","mutateAsync","getSessionById","loadState","setLoadState","onGetSessionById","res","prev","length","reverse","subOneMessage","addListener","updateOneMessage","messageItem","subMultipleMessage","updateMultipleMessage","messageItems","existingIds","Set","map","m","filtered","filter","has","console","log","subForceUpdateMessages","forceUpdateMessages","merged","msg","update","find","u","newItems","remove","messageState"],"sourceRoot":"../../../../src","sources":["hooks/message/useMessage.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useState","useSessionStore","useFetchSessionById","DeviceEventEmitter","events","initialState","id","title","created_at","updated_at","metadata","source","shared","messages","useMessage","sessionId","state","mutateAsync","getSessionById","loadState","setLoadState","onGetSessionById","res","prev","length","reverse","subOneMessage","addListener","updateOneMessage","messageItem","subMultipleMessage","updateMultipleMessage","messageItems","existingIds","Set","map","m","filtered","filter","has","subForceUpdateMessages","forceUpdateMessages","merged","msg","update","find","u","newItems","remove","messageState"],"sourceRoot":"../../../../src","sources":["hooks/message/useMessage.ts"],"mappings":"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","ignoreList":[]}
@@ -16,10 +16,10 @@ export const useSendMessage = () => {
16
16
  const {
17
17
  mutateAsync: createSession
18
18
  } = useCreateSession();
19
- const onSendMessage = useCallback(async message => {
19
+ const onSendMessage = useCallback(async (message, attachments) => {
20
20
  const messageItem = {
21
21
  id: dayjs().valueOf().toString(),
22
- attachments: [],
22
+ attachments: attachments || [],
23
23
  type: MessageType.user_message,
24
24
  created_at: dayjs().toISOString(),
25
25
  modified_at: dayjs().toISOString(),
@@ -43,7 +43,7 @@ export const useSendMessage = () => {
43
43
  startStream({
44
44
  content: message,
45
45
  stream: true,
46
- attachments: [],
46
+ attachments: attachments || [],
47
47
  metadata: {
48
48
  source: 'user'
49
49
  },
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useSessionStore","useStreamMessage","events","DeviceEventEmitter","MessageType","RoleType","dayjs","useCreateSession","useSendMessage","startStream","stopStream","mutateAsync","createSession","onSendMessage","message","messageItem","id","valueOf","toString","attachments","type","user_message","created_at","toISOString","modified_at","content","additional_kwargs","response_metadata","name","role","user","metadata","emit","updateOneMessage","latestSessionId","getState","sessionId","resSession","title","setSessionId","stream","source","manual_retry_attempts"],"sourceRoot":"../../../../src","sources":["hooks/message/useSendMessage.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,OAAOC,eAAe,MAAM,wBAAqB;AACjD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,MAAM,QAAQ,2BAAwB;AAC/C,SAASC,kBAAkB,QAAQ,cAAc;AACjD,SAAuBC,WAAW,EAAEC,QAAQ,QAAQ,sBAAa;AACjE,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,gCAA6B;AAE9D,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAClC,MAAM;IAAEC,WAAW;IAAEC;EAAW,CAAC,GAAGT,gBAAgB,CAAC,CAAC;EACtD,MAAM;IAAEU,WAAW,EAAEC;EAAc,CAAC,GAAGL,gBAAgB,CAAC,CAAC;EAEzD,MAAMM,aAAa,GAAGd,WAAW,CAC/B,MAAOe,OAAe,IAAK;IACzB,MAAMC,WAAyB,GAAG;MAChCC,EAAE,EAAEV,KAAK,CAAC,CAAC,CAACW,OAAO,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;MAChCC,WAAW,EAAE,EAAE;MACfC,IAAI,EAAEhB,WAAW,CAACiB,YAAY;MAC9BC,UAAU,EAAEhB,KAAK,CAAC,CAAC,CAACiB,WAAW,CAAC,CAAC;MACjCC,WAAW,EAAElB,KAAK,CAAC,CAAC,CAACiB,WAAW,CAAC,CAAC;MAClCE,OAAO,EAAEX,OAAO;MAChBY,iBAAiB,EAAE,CAAC,CAAC;MACrBC,iBAAiB,EAAE,CAAC,CAAC;MACrBC,IAAI,EAAE,IAAI;MACVC,IAAI,EAAExB,QAAQ,CAACyB,IAAI;MACnBC,QAAQ,EAAE,CAAC;IACb,CAAC;IACD5B,kBAAkB,CAAC6B,IAAI,CAAC9B,MAAM,CAAC+B,gBAAgB,EAAElB,WAAW,CAAC;IAE7D,IAAImB,eAAe;IACnB,IAAI,CAAClC,eAAe,CAACmC,QAAQ,CAAC,CAAC,CAACC,SAAS,EAAE;MACzC,MAAMC,UAAU,GAAG,MAAMzB,aAAa,CAAC;QAAE0B,KAAK,EAAExB;MAAQ,CAAC,CAAC;MAC1D,IAAI,CAACuB,UAAU,EAAE;MACjBrC,eAAe,CAACmC,QAAQ,CAAC,CAAC,CAACI,YAAY,CAACF,UAAU,CAACrB,EAAE,CAAC;MACtDkB,eAAe,GAAGG,UAAU,CAACrB,EAAE;IACjC;IACAP,WAAW,CACT;MACEgB,OAAO,EAAEX,OAAO;MAChB0B,MAAM,EAAE,IAAI;MACZrB,WAAW,EAAE,EAAE;MACfY,QAAQ,EAAE;QACRU,MAAM,EAAE;MACV,CAAC;MACDC,qBAAqB,EAAE;IACzB,CAAC,EACDR,eACF,CAAC;EACH,CAAC,EACD,CAACzB,WAAW,EAAEG,aAAa,CAC7B,CAAC;EAED,OAAO;IACLC,aAAa;IACbH;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useSessionStore","useStreamMessage","events","DeviceEventEmitter","MessageType","RoleType","dayjs","useCreateSession","useSendMessage","startStream","stopStream","mutateAsync","createSession","onSendMessage","message","attachments","messageItem","id","valueOf","toString","type","user_message","created_at","toISOString","modified_at","content","additional_kwargs","response_metadata","name","role","user","metadata","emit","updateOneMessage","latestSessionId","getState","sessionId","resSession","title","setSessionId","stream","source","manual_retry_attempts"],"sourceRoot":"../../../../src","sources":["hooks/message/useSendMessage.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,OAAOC,eAAe,MAAM,wBAAqB;AACjD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,MAAM,QAAQ,2BAAwB;AAC/C,SAASC,kBAAkB,QAAQ,cAAc;AACjD,SAAoCC,WAAW,EAAEC,QAAQ,QAAQ,sBAAa;AAC9E,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,gCAA6B;AAE9D,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAClC,MAAM;IAAEC,WAAW;IAAEC;EAAW,CAAC,GAAGT,gBAAgB,CAAC,CAAC;EACtD,MAAM;IAAEU,WAAW,EAAEC;EAAc,CAAC,GAAGL,gBAAgB,CAAC,CAAC;EAEzD,MAAMM,aAAa,GAAGd,WAAW,CAC/B,OAAOe,OAAe,EAAEC,WAA2B,KAAK;IACtD,MAAMC,WAAyB,GAAG;MAChCC,EAAE,EAAEX,KAAK,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;MAChCJ,WAAW,EAAEA,WAAW,IAAI,EAAE;MAC9BK,IAAI,EAAEhB,WAAW,CAACiB,YAAY;MAC9BC,UAAU,EAAEhB,KAAK,CAAC,CAAC,CAACiB,WAAW,CAAC,CAAC;MACjCC,WAAW,EAAElB,KAAK,CAAC,CAAC,CAACiB,WAAW,CAAC,CAAC;MAClCE,OAAO,EAAEX,OAAO;MAChBY,iBAAiB,EAAE,CAAC,CAAC;MACrBC,iBAAiB,EAAE,CAAC,CAAC;MACrBC,IAAI,EAAE,IAAI;MACVC,IAAI,EAAExB,QAAQ,CAACyB,IAAI;MACnBC,QAAQ,EAAE,CAAC;IACb,CAAC;IACD5B,kBAAkB,CAAC6B,IAAI,CAAC9B,MAAM,CAAC+B,gBAAgB,EAAEjB,WAAW,CAAC;IAE7D,IAAIkB,eAAe;IACnB,IAAI,CAAClC,eAAe,CAACmC,QAAQ,CAAC,CAAC,CAACC,SAAS,EAAE;MACzC,MAAMC,UAAU,GAAG,MAAMzB,aAAa,CAAC;QAAE0B,KAAK,EAAExB;MAAQ,CAAC,CAAC;MAC1D,IAAI,CAACuB,UAAU,EAAE;MACjBrC,eAAe,CAACmC,QAAQ,CAAC,CAAC,CAACI,YAAY,CAACF,UAAU,CAACpB,EAAE,CAAC;MACtDiB,eAAe,GAAGG,UAAU,CAACpB,EAAE;IACjC;IACAR,WAAW,CACT;MACEgB,OAAO,EAAEX,OAAO;MAChB0B,MAAM,EAAE,IAAI;MACZzB,WAAW,EAAEA,WAAW,IAAI,EAAE;MAC9BgB,QAAQ,EAAE;QACRU,MAAM,EAAE;MACV,CAAC;MACDC,qBAAqB,EAAE;IACzB,CAAC,EACDR,eACF,CAAC;EACH,CAAC,EACD,CAACzB,WAAW,EAAEG,aAAa,CAC7B,CAAC;EAED,OAAO;IACLC,aAAa;IACbH;EACF,CAAC;AACH,CAAC","ignoreList":[]}