@memori.ai/memori-react 8.11.0 → 8.13.0

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 (243) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/dist/components/AgeVerificationModal/AgeVerificationModal.css +41 -14
  3. package/dist/components/AgeVerificationModal/AgeVerificationModal.js +2 -2
  4. package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  5. package/dist/components/Auth/Auth.js +36 -8
  6. package/dist/components/Auth/Auth.js.map +1 -1
  7. package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +2 -2
  8. package/dist/components/Chat/Chat.css +37 -3
  9. package/dist/components/Chat/Chat.js +61 -23
  10. package/dist/components/Chat/Chat.js.map +1 -1
  11. package/dist/components/ChatBubble/ChatBubble.css +87 -15
  12. package/dist/components/ChatBubble/ChatBubble.js +129 -19
  13. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  14. package/dist/components/ChatHistoryDrawer/ChatHistory.css +5 -1
  15. package/dist/components/ChatInputs/ChatInputs.css +293 -17
  16. package/dist/components/ChatInputs/ChatInputs.d.ts +1 -0
  17. package/dist/components/ChatInputs/ChatInputs.js +48 -27
  18. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  19. package/dist/components/ChatTextArea/ChatTextArea.css +75 -31
  20. package/dist/components/ChatTextArea/ChatTextArea.js +47 -18
  21. package/dist/components/ChatTextArea/ChatTextArea.js.map +1 -1
  22. package/dist/components/DateSelector/DateSelector.css +125 -104
  23. package/dist/components/DateSelector/DateSelector.d.ts +1 -1
  24. package/dist/components/DateSelector/DateSelector.js +110 -52
  25. package/dist/components/DateSelector/DateSelector.js.map +1 -1
  26. package/dist/components/FilePreview/FilePreview.css +225 -146
  27. package/dist/components/FilePreview/FilePreview.d.ts +1 -2
  28. package/dist/components/FilePreview/FilePreview.js +20 -6
  29. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  30. package/dist/components/Header/Header.css +2 -2
  31. package/dist/components/Header/Header.js +1 -1
  32. package/dist/components/Header/Header.js.map +1 -1
  33. package/dist/components/LoginDrawer/LoginDrawer.css +37 -5
  34. package/dist/components/LoginDrawer/LoginDrawer.d.ts +1 -2
  35. package/dist/components/LoginDrawer/LoginDrawer.js +2 -9
  36. package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
  37. package/dist/components/MediaWidget/MediaItemWidget.js +2 -1
  38. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  39. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  40. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  41. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +1 -1
  42. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  43. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -0
  44. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
  45. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +2 -2
  46. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  47. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +16 -7
  48. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +6 -4
  49. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  50. package/dist/components/MemoriWidget/MemoriWidget.css +11 -2
  51. package/dist/components/MemoriWidget/MemoriWidget.js +105 -25
  52. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  53. package/dist/components/MicrophoneButton/MicrophoneButton.css +2 -2
  54. package/dist/components/StartPanel/StartPanel.css +8 -0
  55. package/dist/components/UploadButton/UploadButton.css +20 -17
  56. package/dist/components/UploadButton/UploadButton.js +218 -87
  57. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  58. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +14 -4
  59. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  60. package/dist/components/UploadButton/UploadImages/UploadImages.js +143 -16
  61. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  62. package/dist/components/layouts/chat.css +1 -1
  63. package/dist/components/ui/Drawer.css +8 -0
  64. package/dist/components/ui/Drawer.d.ts +2 -0
  65. package/dist/components/ui/Drawer.js +2 -2
  66. package/dist/components/ui/Drawer.js.map +1 -1
  67. package/dist/components/ui/Tooltip.css +49 -1
  68. package/dist/components/ui/Tooltip.d.ts +1 -1
  69. package/dist/helpers/constants.d.ts +1 -0
  70. package/dist/helpers/constants.js +2 -1
  71. package/dist/helpers/constants.js.map +1 -1
  72. package/dist/helpers/imageCompression.d.ts +7 -0
  73. package/dist/helpers/imageCompression.js +123 -0
  74. package/dist/helpers/imageCompression.js.map +1 -0
  75. package/dist/locales/de.json +13 -5
  76. package/dist/locales/en.json +17 -6
  77. package/dist/locales/es.json +13 -5
  78. package/dist/locales/fr.json +12 -5
  79. package/dist/locales/it.json +16 -6
  80. package/dist/styles.css +4 -4
  81. package/esm/components/AgeVerificationModal/AgeVerificationModal.css +41 -14
  82. package/esm/components/AgeVerificationModal/AgeVerificationModal.js +2 -2
  83. package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  84. package/esm/components/Auth/Auth.js +36 -8
  85. package/esm/components/Auth/Auth.js.map +1 -1
  86. package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +2 -2
  87. package/esm/components/Chat/Chat.css +37 -3
  88. package/esm/components/Chat/Chat.js +61 -23
  89. package/esm/components/Chat/Chat.js.map +1 -1
  90. package/esm/components/ChatBubble/ChatBubble.css +87 -15
  91. package/esm/components/ChatBubble/ChatBubble.js +130 -20
  92. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  93. package/esm/components/ChatHistoryDrawer/ChatHistory.css +5 -1
  94. package/esm/components/ChatInputs/ChatInputs.css +293 -17
  95. package/esm/components/ChatInputs/ChatInputs.d.ts +1 -0
  96. package/esm/components/ChatInputs/ChatInputs.js +49 -28
  97. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  98. package/esm/components/ChatTextArea/ChatTextArea.css +75 -31
  99. package/esm/components/ChatTextArea/ChatTextArea.js +49 -20
  100. package/esm/components/ChatTextArea/ChatTextArea.js.map +1 -1
  101. package/esm/components/DateSelector/DateSelector.css +125 -104
  102. package/esm/components/DateSelector/DateSelector.d.ts +1 -1
  103. package/esm/components/DateSelector/DateSelector.js +111 -52
  104. package/esm/components/DateSelector/DateSelector.js.map +1 -1
  105. package/esm/components/FilePreview/FilePreview.css +225 -146
  106. package/esm/components/FilePreview/FilePreview.d.ts +1 -2
  107. package/esm/components/FilePreview/FilePreview.js +21 -7
  108. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  109. package/esm/components/Header/Header.css +2 -2
  110. package/esm/components/Header/Header.js +1 -1
  111. package/esm/components/Header/Header.js.map +1 -1
  112. package/esm/components/LoginDrawer/LoginDrawer.css +37 -5
  113. package/esm/components/LoginDrawer/LoginDrawer.d.ts +1 -2
  114. package/esm/components/LoginDrawer/LoginDrawer.js +2 -9
  115. package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
  116. package/esm/components/MediaWidget/MediaItemWidget.js +2 -1
  117. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  118. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  119. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  120. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +1 -1
  121. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  122. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -0
  123. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
  124. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +2 -2
  125. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  126. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +16 -7
  127. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +6 -4
  128. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  129. package/esm/components/MemoriWidget/MemoriWidget.css +11 -2
  130. package/esm/components/MemoriWidget/MemoriWidget.js +105 -25
  131. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  132. package/esm/components/MicrophoneButton/MicrophoneButton.css +2 -2
  133. package/esm/components/StartPanel/StartPanel.css +8 -0
  134. package/esm/components/UploadButton/UploadButton.css +20 -17
  135. package/esm/components/UploadButton/UploadButton.js +219 -88
  136. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  137. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +14 -4
  138. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  139. package/esm/components/UploadButton/UploadImages/UploadImages.js +143 -16
  140. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  141. package/esm/components/layouts/chat.css +1 -1
  142. package/esm/components/ui/Drawer.css +8 -0
  143. package/esm/components/ui/Drawer.d.ts +2 -0
  144. package/esm/components/ui/Drawer.js +2 -2
  145. package/esm/components/ui/Drawer.js.map +1 -1
  146. package/esm/components/ui/Tooltip.css +49 -1
  147. package/esm/components/ui/Tooltip.d.ts +1 -1
  148. package/esm/helpers/constants.d.ts +1 -0
  149. package/esm/helpers/constants.js +1 -0
  150. package/esm/helpers/constants.js.map +1 -1
  151. package/esm/helpers/imageCompression.d.ts +7 -0
  152. package/esm/helpers/imageCompression.js +119 -0
  153. package/esm/helpers/imageCompression.js.map +1 -0
  154. package/esm/locales/de.json +13 -5
  155. package/esm/locales/en.json +17 -6
  156. package/esm/locales/es.json +13 -5
  157. package/esm/locales/fr.json +12 -5
  158. package/esm/locales/it.json +16 -6
  159. package/esm/styles.css +4 -4
  160. package/package.json +2 -2
  161. package/src/components/AgeVerificationModal/AgeVerificationModal.css +41 -14
  162. package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +3 -1
  163. package/src/components/Auth/Auth.tsx +55 -11
  164. package/src/components/Avatar/Avatar.stories.tsx +3 -0
  165. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +2 -2
  166. package/src/components/Chat/Chat.css +37 -3
  167. package/src/components/Chat/Chat.stories.tsx +16 -2
  168. package/src/components/Chat/Chat.tsx +90 -21
  169. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +1752 -812
  170. package/src/components/ChatBubble/ChatBubble.css +87 -15
  171. package/src/components/ChatBubble/ChatBubble.stories.tsx +16 -2
  172. package/src/components/ChatBubble/ChatBubble.test.tsx +17 -0
  173. package/src/components/ChatBubble/ChatBubble.tsx +237 -33
  174. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +304 -8
  175. package/src/components/ChatHistoryDrawer/ChatHistory.css +5 -1
  176. package/src/components/ChatInputs/ChatInputs.css +293 -17
  177. package/src/components/ChatInputs/ChatInputs.tsx +156 -86
  178. package/src/components/ChatInputs/__snapshots__/ChatInputs.test.tsx.snap +430 -424
  179. package/src/components/ChatTextArea/ChatTextArea.css +75 -31
  180. package/src/components/ChatTextArea/ChatTextArea.test.tsx +1 -16
  181. package/src/components/ChatTextArea/ChatTextArea.tsx +51 -22
  182. package/src/components/ChatTextArea/__snapshots__/ChatTextArea.test.tsx.snap +9 -72
  183. package/src/components/DateSelector/DateSelector.css +125 -104
  184. package/src/components/DateSelector/DateSelector.stories.tsx +1 -1
  185. package/src/components/DateSelector/DateSelector.test.tsx +137 -23
  186. package/src/components/DateSelector/DateSelector.tsx +203 -177
  187. package/src/components/FilePreview/FilePreview.css +225 -146
  188. package/src/components/FilePreview/FilePreview.tsx +49 -36
  189. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +2 -2
  190. package/src/components/Header/Header.css +2 -2
  191. package/src/components/Header/Header.stories.tsx +5 -1
  192. package/src/components/Header/Header.tsx +1 -1
  193. package/src/components/Header/__snapshots__/Header.test.tsx.snap +1 -1
  194. package/src/components/LoginDrawer/LoginDrawer.css +37 -5
  195. package/src/components/LoginDrawer/LoginDrawer.stories.tsx +0 -1
  196. package/src/components/LoginDrawer/LoginDrawer.test.tsx +0 -1
  197. package/src/components/LoginDrawer/LoginDrawer.tsx +0 -19
  198. package/src/components/MediaWidget/MediaItemWidget.tsx +2 -1
  199. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +996 -204
  200. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +2 -2
  201. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +1 -1
  202. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +3 -0
  203. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +56 -54
  204. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +16 -7
  205. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +12 -3
  206. package/src/components/MemoriWidget/MemoriWidget.css +11 -2
  207. package/src/components/MemoriWidget/MemoriWidget.stories.tsx +6 -3
  208. package/src/components/MemoriWidget/MemoriWidget.tsx +173 -49
  209. package/src/components/MicrophoneButton/MicrophoneButton.css +2 -2
  210. package/src/components/StartPanel/StartPanel.css +8 -0
  211. package/src/components/UploadButton/UploadButton.css +20 -17
  212. package/src/components/UploadButton/UploadButton.stories.tsx +247 -35
  213. package/src/components/UploadButton/UploadButton.tsx +280 -173
  214. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +19 -4
  215. package/src/components/UploadButton/UploadImages/UploadImages.tsx +196 -35
  216. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +10 -1
  217. package/src/components/layouts/FullBody/FullBody.stories.tsx +9 -10
  218. package/src/components/layouts/Totem/Totem.stories.tsx +8 -9
  219. package/src/components/layouts/ZoomedFullBody/ZoomedFullBody.stories.tsx +8 -9
  220. package/src/components/layouts/chat.css +1 -1
  221. package/src/components/layouts/layouts.stories.tsx +10 -9
  222. package/src/components/ui/Drawer.css +8 -0
  223. package/src/components/ui/Drawer.tsx +16 -12
  224. package/src/components/ui/Tooltip.css +49 -1
  225. package/src/components/ui/Tooltip.tsx +1 -1
  226. package/src/helpers/constants.ts +1 -1
  227. package/src/helpers/imageCompression.ts +230 -0
  228. package/src/index.stories.tsx +18 -0
  229. package/src/locales/de.json +13 -5
  230. package/src/locales/en.json +17 -6
  231. package/src/locales/es.json +13 -5
  232. package/src/locales/fr.json +12 -5
  233. package/src/locales/it.json +16 -6
  234. package/src/mocks/data.ts +4 -2
  235. package/src/styles.css +4 -4
  236. package/src/components/SignupForm/SignupForm.test.tsx +0 -40
  237. package/src/components/SignupForm/SignupForm.tsx +0 -457
  238. package/src/components/SignupForm/__snapshots__/SignupForm.test.tsx.snap +0 -247
  239. package/src/components/UploadMenu/UploadMenu.css +0 -47
  240. package/src/components/UploadMenu/UploadMenu.stories.tsx +0 -66
  241. package/src/components/UploadMenu/UploadMenu.test.tsx +0 -34
  242. package/src/components/UploadMenu/UploadMenu.tsx +0 -68
  243. package/src/components/UploadMenu/__snapshots__/UploadMenu.test.tsx.snap +0 -137
@@ -9,9 +9,13 @@ import ChatInputs from '../ChatInputs/ChatInputs';
9
9
  import Typing from '../Typing/Typing';
10
10
  import { boardOfExpertsLoadingSentences } from '../../helpers/constants';
11
11
  import ArtifactHandler from '../MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler';
12
+ import { DocumentIcon } from '../icons/Document';
13
+ import { useTranslation } from 'react-i18next';
12
14
  const Chat = ({ memori, tenant, sessionID, baseUrl, apiUrl, client, translateTo, memoriTyping, typingText, showTypingText = false, history = [], authToken, dialogState, simulateUserPrompt, showDates = false, showContextPerLine = false, showAIicon = true, showWhyThisAnswer = true, showCopyButton = true, showTranslationOriginal = false, showReasoning = false, preview = false, instruct = false, showInputs = true, showMicrophone = false, microphoneMode = 'HOLD_TO_TALK', sendOnEnter, setSendOnEnter, attachmentsMenuOpen, setAttachmentsMenuOpen, userMessage = '', onChangeUserMessage, sendMessage, listening, setEnableFocusChatInput, isPlayingAudio, stopAudio, startListening, stopListening, customMediaRenderer, user, userAvatar, showUpload = false, experts, useMathFormatting = false, isHistoryView = false, isChatlogPanel = false, showFunctionCache = false, }) => {
13
- var _a, _b, _c, _d, _e, _f, _g;
15
+ var _a, _b, _c, _d, _e, _f, _g, _h;
14
16
  const [isTextareaExpanded, setIsTextareaExpanded] = useState(false);
17
+ const [isDragging, setIsDragging] = useState(false);
18
+ const { t } = useTranslation();
15
19
  const scrollToBottom = () => {
16
20
  if (isHistoryView)
17
21
  return;
@@ -24,27 +28,11 @@ const Chat = ({ memori, tenant, sessionID, baseUrl, apiUrl, client, translateTo,
24
28
  useEffect(() => {
25
29
  !preview && !isHistoryView && scrollToBottom();
26
30
  }, [history, preview, isHistoryView]);
27
- useEffect(() => {
28
- if (isTextareaExpanded && !isHistoryView) {
29
- setTimeout(() => {
30
- scrollToBottom();
31
- }, 250);
32
- }
33
- }, [isTextareaExpanded, isHistoryView]);
34
31
  const onTextareaFocus = () => {
35
- var _a, _b, _c, _d;
36
32
  stopListening();
37
33
  const hasTouch = hasTouchscreen();
38
34
  if (hasTouch)
39
35
  setEnableFocusChatInput(true);
40
- if (hasTouch && window.innerWidth <= 768) {
41
- (_b = (_a = document.getElementById('chat-wrapper')) === null || _a === void 0 ? void 0 : _a.classList) === null || _b === void 0 ? void 0 : _b.add('chat-focused');
42
- (_d = (_c = document
43
- .querySelector('.memori.memori-widget')) === null || _c === void 0 ? void 0 : _c.classList) === null || _d === void 0 ? void 0 : _d.add('chat-focused');
44
- setTimeout(() => {
45
- scrollToBottom();
46
- }, 300);
47
- }
48
36
  };
49
37
  const onTextareaBlur = () => {
50
38
  var _a, _b, _c, _d, _e;
@@ -59,10 +47,60 @@ const Chat = ({ memori, tenant, sessionID, baseUrl, apiUrl, client, translateTo,
59
47
  const onTextareaExpanded = (expanded) => {
60
48
  setIsTextareaExpanded(expanded);
61
49
  };
50
+ useEffect(() => {
51
+ let dragCounter = 0;
52
+ const chatWrapper = document.getElementById('chat-wrapper');
53
+ const handleDragEnter = (e) => {
54
+ var _a;
55
+ if ((_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.types.includes('Files')) {
56
+ dragCounter++;
57
+ if (dragCounter === 1) {
58
+ setIsDragging(true);
59
+ }
60
+ }
61
+ };
62
+ const handleDragLeave = (e) => {
63
+ var _a;
64
+ if ((_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.types.includes('Files')) {
65
+ dragCounter--;
66
+ if (dragCounter === 0) {
67
+ setIsDragging(false);
68
+ }
69
+ }
70
+ };
71
+ const handleDragOver = (e) => {
72
+ var _a;
73
+ if ((_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.types.includes('Files')) {
74
+ e.preventDefault();
75
+ }
76
+ };
77
+ const handleDrop = (e) => {
78
+ var _a;
79
+ if ((_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.types.includes('Files')) {
80
+ dragCounter = 0;
81
+ setIsDragging(false);
82
+ }
83
+ };
84
+ if (chatWrapper) {
85
+ chatWrapper.addEventListener('dragenter', handleDragEnter);
86
+ chatWrapper.addEventListener('dragleave', handleDragLeave);
87
+ chatWrapper.addEventListener('dragover', handleDragOver);
88
+ chatWrapper.addEventListener('drop', handleDrop);
89
+ }
90
+ return () => {
91
+ if (chatWrapper) {
92
+ chatWrapper.removeEventListener('dragenter', handleDragEnter);
93
+ chatWrapper.removeEventListener('dragleave', handleDragLeave);
94
+ chatWrapper.removeEventListener('dragover', handleDragOver);
95
+ chatWrapper.removeEventListener('drop', handleDrop);
96
+ }
97
+ };
98
+ }, []);
62
99
  return (_jsxs("div", { className: cx('memori-chat--wrapper', {
63
100
  'memori-chat-wrapper--translate': translateTo,
64
101
  'memori-chat-wrapper--expanded': isTextareaExpanded,
65
- }), id: "chat-wrapper", lang: translateTo === null || translateTo === void 0 ? void 0 : translateTo.toUpperCase(), "data-memori-lang": (_d = (_c = (_b = (_a = memori.culture) === null || _a === void 0 ? void 0 : _a.split('-')) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.toUpperCase()) !== null && _d !== void 0 ? _d : 'EN', children: [_jsx("div", { className: cx('memori-chat--history', {
102
+ 'memori-chat-wrapper--dragging': isDragging,
103
+ }), id: "chat-wrapper", lang: translateTo === null || translateTo === void 0 ? void 0 : translateTo.toUpperCase(), "data-memori-lang": (_d = (_c = (_b = (_a = memori.culture) === null || _a === void 0 ? void 0 : _a.split('-')) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.toUpperCase()) !== null && _d !== void 0 ? _d : 'EN', children: [isDragging && (_jsxs("div", { className: "memori-chat--drag-overlay", children: [_jsx(DocumentIcon, { className: "memori-chat--drag-overlay-icon" }), _jsx("span", { className: "memori-chat--drag-overlay-text", children: (_e = t('upload.dragAndDropFiles')) !== null && _e !== void 0 ? _e : 'Drag and drop files here to add them to the chat' })] })), _jsx("div", { className: cx('memori-chat--history', {
66
104
  'memori-chat--history-touch': hasTouchscreen(),
67
105
  }), children: _jsxs("div", { className: cx('memori-chat--content', {
68
106
  'memori-chat--content-touch': hasTouchscreen(),
@@ -80,7 +118,7 @@ const Chat = ({ memori, tenant, sessionID, baseUrl, apiUrl, client, translateTo,
80
118
  apiURL: apiUrl,
81
119
  })}")`,
82
120
  } }), history.map((message, index) => {
83
- var _a, _b, _c, _d, _e, _f;
121
+ var _a, _b, _c, _d, _e;
84
122
  return (_jsxs(React.Fragment, { children: [_jsx(ChatBubble, { isFirst: index === 0, message: message, memori: memori, tenant: tenant, client: client, baseUrl: baseUrl, apiUrl: apiUrl, sessionID: sessionID, simulateUserPrompt: simulateUserPrompt, showAIicon: showAIicon, showWhyThisAnswer: showWhyThisAnswer, showTranslationOriginal: showTranslationOriginal, showFeedback: index === history.length - 1 &&
85
123
  !message.fromUser &&
86
124
  (dialogState === null || dialogState === void 0 ? void 0 : dialogState.acceptsFeedback), user: user, userAvatar: userAvatar, experts: experts, showCopyButton: showCopyButton, useMathFormatting: useMathFormatting, showFunctionCache: showFunctionCache, showReasoning: showReasoning }, `chatbubble-${index}-${((_a = message.text) === null || _a === void 0 ? void 0 : _a.includes('<document_attachment'))
@@ -96,7 +134,7 @@ const Chat = ({ memori, tenant, sessionID, baseUrl, apiUrl, client, translateTo,
96
134
  var _a, _b, _c;
97
135
  return ((_a = message.contextVars) === null || _a === void 0 ? void 0 : _a[key]) === '-' ? (_jsx("div", { className: `memori-chat--context-tag memori-chat--context-tag-canceled`, children: _jsx("span", { className: "memori-chat--context-tag-text", children: key }) }, key)) : ((_b = message.contextVars) === null || _b === void 0 ? void 0 : _b[key]) === '✔️' ? (_jsx("div", { className: "memori-chat--context-tag", children: _jsx("span", { className: "memori-chat--context-tag-text", children: key }) }, key)) : (_jsx("div", { className: "memori-chat--context-tag", children: _jsxs("span", { className: "memori-chat--context-tag-text", children: [key, ": ", (_c = message.contextVars) === null || _c === void 0 ? void 0 : _c[key]] }) }, key));
98
136
  }) })), _jsx(MediaWidget, { simulateUserPrompt: simulateUserPrompt, media: [
99
- ...(((_d = message === null || message === void 0 ? void 0 : message.media) === null || _d === void 0 ? void 0 : _d.filter(m => m.mimeType !== 'text/html' && m.mimeType !== 'text/plain')) || []),
137
+ ...(((_d = message === null || message === void 0 ? void 0 : message.media) === null || _d === void 0 ? void 0 : _d.filter(m => { var _a; return !((_a = m.properties) === null || _a === void 0 ? void 0 : _a.functionSignature); })) || []),
100
138
  ...(() => {
101
139
  const text = message.translatedText || message.text;
102
140
  const documentAttachmentRegex = /<document_attachment filename="([^"]+)" type="([^"]+)">([\s\S]*?)<\/document_attachment>/g;
@@ -120,7 +158,7 @@ const Chat = ({ memori, tenant, sessionID, baseUrl, apiUrl, client, translateTo,
120
158
  }
121
159
  return attachments;
122
160
  })(),
123
- ], links: (_e = message === null || message === void 0 ? void 0 : message.media) === null || _e === void 0 ? void 0 : _e.filter(m => m.mimeType === 'text/html'), sessionID: sessionID, baseUrl: baseUrl, apiUrl: apiUrl, translateTo: translateTo, customMediaRenderer: customMediaRenderer, fromUser: message.fromUser }), !isHistoryView && !message.fromUser && (_jsx(ArtifactHandler, { isChatlogPanel: isChatlogPanel, message: message }))] }, `${index}-${((_f = message.text) === null || _f === void 0 ? void 0 : _f.includes('<document_attachment'))
161
+ ], sessionID: sessionID, baseUrl: baseUrl, apiUrl: apiUrl, translateTo: translateTo, customMediaRenderer: customMediaRenderer, fromUser: message.fromUser }), !isHistoryView && !message.fromUser && (_jsx(ArtifactHandler, { isChatlogPanel: isChatlogPanel, message: message }))] }, `${index}-${((_e = message.text) === null || _e === void 0 ? void 0 : _e.includes('<document_attachment'))
124
162
  ? 'has-attachments'
125
163
  : 'no-attachments'}-${message.timestamp}`));
126
164
  }), (dialogState === null || dialogState === void 0 ? void 0 : dialogState.hints) &&
@@ -134,11 +172,11 @@ const Chat = ({ memori, tenant, sessionID, baseUrl, apiUrl, client, translateTo,
134
172
  ? translateTo.toLowerCase() === 'it'
135
173
  ? 'it'
136
174
  : 'en'
137
- : ((_g = (_f = (_e = memori.culture) === null || _e === void 0 ? void 0 : _e.split('-')) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.toLowerCase()) === 'it'
175
+ : ((_h = (_g = (_f = memori.culture) === null || _f === void 0 ? void 0 : _f.split('-')) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.toLowerCase()) === 'it'
138
176
  ? 'it'
139
177
  : 'en', sentence: typingText, sentences: memori.enableBoardOfExperts
140
178
  ? boardOfExpertsLoadingSentences
141
- : undefined }, typingText)), _jsx("div", { id: "end-messages-ref" })] }) }), showInputs && (_jsx(ChatInputs, { userMessage: userMessage, onChangeUserMessage: onChangeUserMessage, dialogState: dialogState, instruct: instruct, authToken: authToken, sendMessage: sendMessage, microphoneMode: microphoneMode, sendOnEnter: sendOnEnter, setSendOnEnter: setSendOnEnter, client: client, sessionID: sessionID, showUpload: showUpload, attachmentsMenuOpen: attachmentsMenuOpen, setAttachmentsMenuOpen: setAttachmentsMenuOpen, onTextareaFocus: onTextareaFocus, onTextareaBlur: onTextareaBlur, onTextareaExpanded: onTextareaExpanded, startListening: startListening, stopListening: stopListening, stopAudio: stopAudio, listening: listening, isPlayingAudio: isPlayingAudio, showMicrophone: showMicrophone, memoriID: memori === null || memori === void 0 ? void 0 : memori.memoriID }))] }));
179
+ : undefined }, typingText)), _jsx("div", { id: "end-messages-ref" })] }) }), showInputs && (_jsx(ChatInputs, { userMessage: userMessage, onChangeUserMessage: onChangeUserMessage, dialogState: dialogState, instruct: instruct, authToken: authToken, sendMessage: sendMessage, isTyping: memoriTyping, microphoneMode: microphoneMode, sendOnEnter: sendOnEnter, setSendOnEnter: setSendOnEnter, client: client, sessionID: sessionID, showUpload: showUpload, attachmentsMenuOpen: attachmentsMenuOpen, setAttachmentsMenuOpen: setAttachmentsMenuOpen, onTextareaFocus: onTextareaFocus, onTextareaBlur: onTextareaBlur, onTextareaExpanded: onTextareaExpanded, startListening: startListening, stopListening: stopListening, stopAudio: stopAudio, listening: listening, isPlayingAudio: isPlayingAudio, showMicrophone: showMicrophone, memoriID: memori === null || memori === void 0 ? void 0 : memori.memoriID }))] }));
142
180
  };
143
181
  export default memo(Chat);
144
182
  //# sourceMappingURL=Chat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","sourceRoot":"","sources":["../../../src/components/Chat/Chat.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chat.js","sourceRoot":"","sources":["../../../src/components/Chat/Chat.tsx"],"names":[],"mappings":"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"}
@@ -14,13 +14,49 @@
14
14
  background: #c5c6d1;
15
15
  }
16
16
 
17
+ .memori-chat--bubble-status-message {
18
+ display: flex;
19
+ width: 100%;
20
+ align-items: center;
21
+ justify-content: center;
22
+ padding: 0 1rem;
23
+ margin: 1.5rem auto;
24
+ }
25
+
26
+ .memori-chat--bubble-status-message-content {
27
+ display: inline-flex;
28
+ max-width: 90%;
29
+ align-items: center;
30
+ justify-content: center;
31
+ padding: 0.5rem 1rem;
32
+ border: 1px solid rgba(76, 111, 255, 0.2);
33
+ border-radius: 20px;
34
+ backdrop-filter: blur(10px);
35
+ background: linear-gradient(135deg, rgba(76, 111, 255, 0.1) 0%, rgba(76, 111, 255, 0.05) 100%);
36
+ box-shadow: 0 2px 8px rgba(76, 111, 255, 0.1);
37
+ color: var(--memori-primary, #4c6fff);
38
+ font-size: 0.75rem;
39
+ font-weight: 500;
40
+ letter-spacing: 0.02em;
41
+ line-height: 1.4;
42
+ text-align: center;
43
+ word-wrap: break-word;
44
+ }
45
+
46
+ .memori-chat--bubble-status-message-error {
47
+ border: 1px solid rgba(239, 68, 68, 0.3) !important;
48
+ background: linear-gradient(135deg, rgba(239, 68, 68, 0.1) 0%, rgba(239, 68, 68, 0.05) 100%) !important;
49
+ box-shadow: 0 2px 8px rgba(239, 68, 68, 0.15) !important;
50
+ color: rgb(239, 68, 68) !important;
51
+ }
52
+
17
53
  .memori-chat--bubble {
18
54
  display: inline-flex;
19
55
  max-width: 90%;
20
56
  flex-direction: column;
21
57
  align-items: flex-start;
22
58
  padding: 10px 16px;
23
- border-radius: 16px 16px 16px 0;
59
+ border-radius: 12px 12px 12px 0;
24
60
  margin: 10px auto 5px 10px;
25
61
  margin-bottom: 5px;
26
62
  background: var(--memori-chat-bubble-bg, #ffffff60);
@@ -30,10 +66,30 @@
30
66
  line-height: 1.33;
31
67
  }
32
68
 
69
+
70
+
33
71
  .memori-chat--bubble-container.memori-chat--with-addon .memori-chat--bubble {
34
72
  min-width: 9rem;
35
73
  }
36
74
 
75
+
76
+ .memori-chat--bubble-avatar svg {
77
+ width: 40px;
78
+ height: 40px;
79
+ padding: 0.33rem;
80
+ fill: #666;
81
+ font-size: 1.5rem;
82
+ }
83
+
84
+
85
+ .memori-chat--bubble-action-icon--from-user > span > svg {
86
+ color: #fff !important;
87
+ }
88
+
89
+ .memori-chat--bubble-action-icon--from-user:focus {
90
+ border-color: #fff !important;
91
+ }
92
+
37
93
  .memori-chat--bubble #wave {
38
94
  position: relative;
39
95
  width: 50px;
@@ -119,7 +175,7 @@
119
175
  }
120
176
 
121
177
  .memori-chat--bubble.memori-chat--user-bubble {
122
- border-radius: 16px 16px 0 16px;
178
+ border-radius: 12px 12px 0 12px;
123
179
  margin: 10px 10px 5px auto;
124
180
  background: var(--memori-chat-user-bubble-bg);
125
181
  box-shadow: 0 1px 6px 0 #d1d3de, 0 1px 3px 0 #c5c6d1;
@@ -145,14 +201,6 @@
145
201
  object-fit: cover;
146
202
  }
147
203
 
148
- .memori-chat--bubble-avatar svg {
149
- width: 40px;
150
- height: 40px;
151
- padding: 0.33rem;
152
- fill: #666;
153
- font-size: 1.5rem;
154
- }
155
-
156
204
  .memori-chat--bubble-addon {
157
205
  display: flex;
158
206
  align-items: center;
@@ -164,14 +212,10 @@
164
212
  .memori-chat--bubble .memori-chat--bubble-action-icon {
165
213
  display: flex;
166
214
  justify-content: flex-end;
167
- padding: 0;
215
+ padding: 2px;
168
216
  text-align: right;
169
217
  }
170
218
 
171
- .memori-chat--bubble .memori-chat--bubble-action-icon.memori-chat--bubble-action-icon--ai {
172
- padding: 3px;
173
- }
174
-
175
219
  .memori-chat--bubble .memori-chat--bubble-action-icon svg {
176
220
  overflow: visible;
177
221
  width: 1rem;
@@ -179,6 +223,21 @@
179
223
  color: #000;
180
224
  }
181
225
 
226
+ .memori-chat--bubble .memori-chat--bubble-action-icon.memori-chat--bubble-action-icon--copied {
227
+ border-color: var(--memori-primary, #4c6fff) !important;
228
+ background-color: rgba(76, 111, 255, 0.08);
229
+ }
230
+
231
+ .memori-chat--bubble .memori-chat--bubble-action-icon.memori-chat--bubble-action-icon--copied svg {
232
+ color: var(--memori-primary, #4c6fff);
233
+ }
234
+
235
+ .memori-chat--bubble .memori-chat--bubble-action-icon.memori-chat--bubble-action-icon--ai {
236
+ padding: 3px;
237
+ }
238
+
239
+
240
+
182
241
  .memori-chat--bubble .memori-chat--bubble-action-icon.memori-chat--bubble-action-icon--debug {
183
242
  color: var(--memori-error-color);
184
243
  }
@@ -212,6 +271,19 @@
212
271
  padding: 2.5px;
213
272
  }
214
273
 
274
+ .memori-chat--bubble-action-feedback {
275
+ margin-left: 0.35rem;
276
+ color: var(--memori-primary, #4c6fff);
277
+ font-size: 0.65rem;
278
+ font-weight: 600;
279
+ letter-spacing: 0.03em;
280
+ text-transform: uppercase;
281
+ }
282
+
283
+ .memori-chat--bubble-action-feedback--from-user {
284
+ color: var(--memori-primary-text, #fff);
285
+ }
286
+
215
287
  .memori-chat--bubble-addon .memori-chat--feedback button .memori-button--icon svg {
216
288
  width: 0.9rem;
217
289
  height: 0.9rem;
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useEffect, useLayoutEffect, useState } from 'react';
2
+ import { useEffect, useLayoutEffect, useRef, useState } from 'react';
3
3
  import cx from 'classnames';
4
4
  import { Transition } from '@headlessui/react';
5
5
  import { getResourceUrl } from '../../helpers/media';
@@ -21,11 +21,19 @@ import Expandable from '../ui/Expandable';
21
21
  import Modal from '../ui/Modal';
22
22
  import { installMathJax } from '../../helpers/utils';
23
23
  const ChatBubble = ({ message, memori, tenant, baseUrl, apiUrl, client, sessionID, showFeedback, showWhyThisAnswer = true, showCopyButton = true, showTranslationOriginal = false, simulateUserPrompt, showAIicon = true, isFirst = false, useMathFormatting = false, user, userAvatar, experts, showFunctionCache = false, showReasoning = false, }) => {
24
- var _a, _b, _c, _d, _e, _f, _g, _h;
24
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
25
25
  const { t, i18n } = useTranslation();
26
26
  const lang = i18n.language || 'en';
27
27
  const [showingWhyThisAnswer, setShowingWhyThisAnswer] = useState(false);
28
28
  const [openFunctionCache, setOpenFunctionCache] = useState(false);
29
+ const [copyFeedback, setCopyFeedback] = useState({
30
+ plain: false,
31
+ raw: false,
32
+ });
33
+ const copyFeedbackTimers = useRef({
34
+ plain: null,
35
+ raw: null,
36
+ });
29
37
  useEffect(() => {
30
38
  if (typeof window !== 'undefined' && !window.MathJax) {
31
39
  installMathJax();
@@ -36,7 +44,16 @@ const ChatBubble = ({ message, memori, tenant, baseUrl, apiUrl, client, sessionI
36
44
  const plainText = message.fromUser
37
45
  ? truncateMessage(cleanText)
38
46
  : stripHTML(stripOutputTags(renderedText));
39
- const functionCacheData = (_a = message.media) === null || _a === void 0 ? void 0 : _a.filter(m => { var _a; return ((_a = m.properties) === null || _a === void 0 ? void 0 : _a.functionCache) === 'true'; });
47
+ const copyText = message.fromUser ? cleanText : plainText;
48
+ const shouldShowCopyButtons = showCopyButton && (!!(plainText === null || plainText === void 0 ? void 0 : plainText.length) || !!((_a = message.text) === null || _a === void 0 ? void 0 : _a.length));
49
+ const shouldShowCopyRawButton = shouldShowCopyButtons &&
50
+ !!((_b = message.text) === null || _b === void 0 ? void 0 : _b.length) &&
51
+ plainText !== message.text;
52
+ const rawMessageText = message.fromUser
53
+ ? message.text || ''
54
+ : (message.text || '').replaceAll(/<think.*?>(.*?)<\/think>/gs, '');
55
+ const copiedLabel = t('copied') || 'Copied';
56
+ const functionCacheData = (_c = message.media) === null || _c === void 0 ? void 0 : _c.filter(m => { var _a; return ((_a = m.properties) === null || _a === void 0 ? void 0 : _a.functionCache) === 'true'; });
40
57
  useLayoutEffect(() => {
41
58
  if (typeof window !== 'undefined' && !message.fromUser) {
42
59
  const timer = setTimeout(() => {
@@ -67,18 +84,102 @@ const ChatBubble = ({ message, memori, tenant, baseUrl, apiUrl, client, sessionI
67
84
  return () => clearTimeout(timer);
68
85
  }
69
86
  }, [cleanText, message.fromUser, renderedText]);
70
- return (_jsxs(_Fragment, { children: [(message.initial || isFirst) && (_jsx("div", { className: "memori-chat--bubble-initial" })), _jsxs(Transition, { show: true, appear: true, as: "div", className: cx('memori-chat--bubble-container memori-chat-scroll-item', {
87
+ useEffect(() => {
88
+ return () => {
89
+ Object.keys(copyFeedbackTimers.current).forEach(key => {
90
+ const timer = copyFeedbackTimers.current[key];
91
+ if (timer) {
92
+ clearTimeout(timer);
93
+ copyFeedbackTimers.current[key] = null;
94
+ }
95
+ });
96
+ };
97
+ }, []);
98
+ const triggerCopyFeedback = (type) => {
99
+ setCopyFeedback(prev => ({ ...prev, [type]: true }));
100
+ if (copyFeedbackTimers.current[type]) {
101
+ clearTimeout(copyFeedbackTimers.current[type]);
102
+ }
103
+ copyFeedbackTimers.current[type] = setTimeout(() => {
104
+ setCopyFeedback(prev => ({ ...prev, [type]: false }));
105
+ copyFeedbackTimers.current[type] = null;
106
+ }, 1500);
107
+ };
108
+ const handleCopyClick = (type, text) => {
109
+ var _a;
110
+ if (!(text === null || text === void 0 ? void 0 : text.length))
111
+ return;
112
+ if (typeof navigator !== 'undefined' && ((_a = navigator.clipboard) === null || _a === void 0 ? void 0 : _a.writeText)) {
113
+ navigator.clipboard
114
+ .writeText(text)
115
+ .then(() => triggerCopyFeedback(type))
116
+ .catch(err => {
117
+ console.error('Copy failed', err);
118
+ });
119
+ }
120
+ else {
121
+ triggerCopyFeedback(type);
122
+ }
123
+ };
124
+ const initialStatus = typeof message.initial === 'string' ? message.initial : null;
125
+ const showInitialDivider = (message.initial === true || isFirst) && !initialStatus;
126
+ const isSystemError = message.emitter === 'system';
127
+ if (initialStatus) {
128
+ return (_jsx("div", { className: "memori-chat--bubble-status-message", children: _jsx("div", { className: "memori-chat--bubble-status-message-content", children: initialStatus }) }));
129
+ }
130
+ if (isSystemError) {
131
+ return (_jsxs(Transition, { show: true, appear: true, as: "div", className: cx('memori-chat--bubble-container memori-chat-scroll-item', {
132
+ 'memori-chat--bubble-from-user': false,
133
+ }), children: [_jsx(Transition.Child, { as: "picture", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 translate-x--15`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 translate-x--15`, title: !!((_d = message.emitter) === null || _d === void 0 ? void 0 : _d.length) && !!memori.enableBoardOfExperts
134
+ ? message.emitter
135
+ : memori.name, children: _jsx("img", { className: "memori-chat--bubble-avatar-img", alt: !!((_e = message.emitter) === null || _e === void 0 ? void 0 : _e.length) && !!memori.enableBoardOfExperts
136
+ ? message.emitter
137
+ : memori.name, src: !!((_f = message.emitter) === null || _f === void 0 ? void 0 : _f.length) &&
138
+ !!memori.enableBoardOfExperts &&
139
+ (experts === null || experts === void 0 ? void 0 : experts.find(e => e.name === message.emitter))
140
+ ? `${new URL(apiUrl !== null && apiUrl !== void 0 ? apiUrl : '/').origin}/api/v1/memoriai/memori/avatar/${(_g = experts.find(e => e.name === message.emitter)) === null || _g === void 0 ? void 0 : _g.expertMemoriID}`
141
+ : memori.avatarURL && memori.avatarURL.length > 0
142
+ ? getResourceUrl({
143
+ type: 'avatar',
144
+ tenantID: tenant === null || tenant === void 0 ? void 0 : tenant.name,
145
+ resourceURI: memori.avatarURL,
146
+ baseURL: baseUrl,
147
+ apiURL: apiUrl,
148
+ })
149
+ : getResourceUrl({
150
+ tenantID: tenant === null || tenant === void 0 ? void 0 : tenant.name,
151
+ type: 'avatar',
152
+ baseURL: baseUrl || 'https://www.aisuru.com',
153
+ apiURL: apiUrl,
154
+ }), onError: e => {
155
+ e.currentTarget.src =
156
+ memori.avatarURL && memori.avatarURL.length > 0
157
+ ? getResourceUrl({
158
+ type: 'avatar',
159
+ tenantID: tenant === null || tenant === void 0 ? void 0 : tenant.name,
160
+ resourceURI: memori.avatarURL,
161
+ baseURL: baseUrl,
162
+ })
163
+ : getResourceUrl({
164
+ tenantID: tenant === null || tenant === void 0 ? void 0 : tenant.name,
165
+ type: 'avatar',
166
+ baseURL: baseUrl,
167
+ });
168
+ e.currentTarget.onerror = null;
169
+ } }) }), _jsx("div", { className: "memori-chat--bubble memori-chat--bubble-status-message-error", children: _jsx("div", { className: "memori-chat--bubble-message ", children: cleanText }) })] }));
170
+ }
171
+ return (_jsxs(_Fragment, { children: [showInitialDivider && _jsx("div", { className: "memori-chat--bubble-initial" }), _jsxs(Transition, { show: true, appear: true, as: "div", className: cx('memori-chat--bubble-container memori-chat-scroll-item', {
71
172
  'memori-chat--bubble-from-user': !!message.fromUser,
72
173
  'memori-chat--with-addon': (message.generatedByAI && showAIicon) ||
73
174
  (showFeedback && simulateUserPrompt),
74
- }), children: [!message.fromUser && (_jsx(Transition.Child, { as: "picture", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, title: !!((_b = message.emitter) === null || _b === void 0 ? void 0 : _b.length) && !!memori.enableBoardOfExperts
175
+ }), children: [!message.fromUser && (_jsx(Transition.Child, { as: "picture", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, title: !!((_h = message.emitter) === null || _h === void 0 ? void 0 : _h.length) && !!memori.enableBoardOfExperts
75
176
  ? message.emitter
76
- : memori.name, children: _jsx("img", { className: "memori-chat--bubble-avatar-img", alt: !!((_c = message.emitter) === null || _c === void 0 ? void 0 : _c.length) && !!memori.enableBoardOfExperts
177
+ : memori.name, children: _jsx("img", { className: "memori-chat--bubble-avatar-img", alt: !!((_j = message.emitter) === null || _j === void 0 ? void 0 : _j.length) && !!memori.enableBoardOfExperts
77
178
  ? message.emitter
78
- : memori.name, src: !!((_d = message.emitter) === null || _d === void 0 ? void 0 : _d.length) &&
179
+ : memori.name, src: !!((_k = message.emitter) === null || _k === void 0 ? void 0 : _k.length) &&
79
180
  !!memori.enableBoardOfExperts &&
80
181
  (experts === null || experts === void 0 ? void 0 : experts.find(e => e.name === message.emitter))
81
- ? `${new URL(apiUrl !== null && apiUrl !== void 0 ? apiUrl : '/').origin}/api/v1/memoriai/memori/avatar/${(_e = experts.find(e => e.name === message.emitter)) === null || _e === void 0 ? void 0 : _e.expertMemoriID}`
182
+ ? `${new URL(apiUrl !== null && apiUrl !== void 0 ? apiUrl : '/').origin}/api/v1/memoriai/memori/avatar/${(_l = experts.find(e => e.name === message.emitter)) === null || _l === void 0 ? void 0 : _l.expertMemoriID}`
82
183
  : memori.avatarURL && memori.avatarURL.length > 0
83
184
  ? getResourceUrl({
84
185
  type: 'avatar',
@@ -109,29 +210,38 @@ const ChatBubble = ({ message, memori, tenant, baseUrl, apiUrl, client, sessionI
109
210
  e.currentTarget.onerror = null;
110
211
  } }) })), _jsxs(Transition.Child, { as: "div", className: cx('memori-chat--bubble', {
111
212
  'memori-chat--user-bubble': !!message.fromUser,
112
- 'memori-chat--with-addon': (!message.fromUser && showCopyButton) ||
213
+ 'memori-chat--with-addon': shouldShowCopyButtons ||
113
214
  (message.generatedByAI && showAIicon) ||
114
215
  (showFeedback && simulateUserPrompt),
115
216
  'memori-chat--ai-generated': message.generatedByAI && showAIicon,
116
217
  'memori-chat--with-feedback': showFeedback,
117
- }), enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-09 translate-x-${message.fromUser ? '30' : '-30'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-09 translate-x-${message.fromUser ? '30' : '-30'}`, children: [message.fromUser ? (_jsx(Expandable, { className: "memori-chat--bubble-content", mode: "characters", children: _jsx("div", { dir: "auto", className: "memori-chat--bubble-content", dangerouslySetInnerHTML: { __html: renderedText } }) })) : (_jsx("div", { dir: "auto", className: "memori-chat--bubble-content", dangerouslySetInnerHTML: { __html: renderedText } })), ((!message.fromUser && showCopyButton) ||
218
+ }), enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-09 translate-x-${message.fromUser ? '30' : '-30'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-09 translate-x-${message.fromUser ? '30' : '-30'}`, children: [message.fromUser ? (_jsx(Expandable, { className: "memori-chat--bubble-content", mode: "characters", children: _jsx("div", { dir: "auto", className: "memori-chat--bubble-content", dangerouslySetInnerHTML: { __html: renderedText } }) })) : (_jsx("div", { dir: "auto", className: "memori-chat--bubble-content", dangerouslySetInnerHTML: { __html: renderedText } })), (shouldShowCopyButtons ||
118
219
  (message.generatedByAI && showAIicon) ||
119
220
  (message.generatedByAI && showFunctionCache) ||
120
- (showFeedback && simulateUserPrompt)) && (_jsxs("div", { className: "memori-chat--bubble-addon", children: [!message.fromUser && showCopyButton && (_jsx(Button, { ghost: true, shape: "circle", title: t('copy') || 'Copy', className: "memori-chat--bubble-action-icon", icon: _jsx(Copy, { "aria-label": t('copy') || 'Copy' }), onClick: () => navigator.clipboard.writeText(plainText) })), !message.fromUser &&
121
- showCopyButton &&
122
- plainText !== message.text && (_jsx(Button, { ghost: true, shape: "circle", title: t('copyRawCode') || 'Copy raw code', className: "memori-chat--bubble-action-icon", icon: _jsx(Code, { "aria-label": t('copyRawCode') || 'Copy raw code' }), onClick: () => {
123
- const text = message.text.replaceAll(/<think.*?>(.*?)<\/think>/gs, '');
124
- navigator.clipboard.writeText(text);
125
- } })), !message.fromUser &&
221
+ (showFeedback && simulateUserPrompt)) && (_jsxs("div", { className: "memori-chat--bubble-addon", children: [shouldShowCopyButtons && (_jsx(Button, { ghost: true, shape: "circle", title: copyFeedback.plain ? copiedLabel : t('copy') || 'Copy', className: cx('memori-chat--bubble-action-icon', {
222
+ 'memori-chat--bubble-action-icon--from-user': message.fromUser,
223
+ 'memori-chat--bubble-action-icon--copied': copyFeedback.plain,
224
+ }), icon: _jsx(Copy, { "aria-label": copyFeedback.plain ? copiedLabel : t('copy') || 'Copy' }), onClick: () => handleCopyClick('plain', copyText) })), copyFeedback.plain && (_jsx("span", { role: "status", "aria-live": "polite", className: cx('memori-chat--bubble-action-feedback', {
225
+ 'memori-chat--bubble-action-feedback--from-user': message.fromUser,
226
+ }), children: copiedLabel })), shouldShowCopyRawButton && (_jsx(Button, { ghost: true, shape: "circle", title: copyFeedback.raw
227
+ ? copiedLabel
228
+ : t('copyRawCode') || 'Copy raw code', className: cx('memori-chat--bubble-action-icon', {
229
+ 'memori-chat--bubble-action-icon--from-user': message.fromUser,
230
+ 'memori-chat--bubble-action-icon--copied': copyFeedback.raw,
231
+ }), icon: _jsx(Code, { "aria-label": copyFeedback.raw
232
+ ? copiedLabel
233
+ : t('copyRawCode') || 'Copy raw code' }), onClick: () => handleCopyClick('raw', rawMessageText) })), copyFeedback.raw && (_jsx("span", { role: "status", "aria-live": "polite", className: cx('memori-chat--bubble-action-feedback', {
234
+ 'memori-chat--bubble-action-feedback--from-user': message.fromUser,
235
+ }), children: copiedLabel })), !message.fromUser &&
126
236
  showFunctionCache &&
127
- ((_f = message.media) === null || _f === void 0 ? void 0 : _f.some(m => {
237
+ ((_m = message.media) === null || _m === void 0 ? void 0 : _m.some(m => {
128
238
  var _a, _b;
129
239
  return Boolean((_a = m.properties) === null || _a === void 0 ? void 0 : _a.functionCache) ||
130
240
  ((_b = m.properties) === null || _b === void 0 ? void 0 : _b.functionCache) === 'true';
131
241
  })) && (_jsx(Button, { ghost: true, shape: "circle", title: "Debug", className: "memori-chat--bubble-action-icon memori-chat--bubble-action-icon--debug", icon: _jsx(Bug, { "aria-label": "Debug" }), onClick: () => setOpenFunctionCache(true) })), showFeedback && !!simulateUserPrompt && (_jsx(FeedbackButtons, { memori: memori, className: "memori-chat--bubble-feedback", dropdown: true, onNegativeClick: msg => {
132
242
  if (msg)
133
243
  simulateUserPrompt(msg);
134
- } })), message.generatedByAI && showAIicon && (_jsx(Tooltip, { align: "left", content: t('generatedByAI') ||
244
+ } })), message.generatedByAI && showAIicon && (_jsx(Tooltip, { align: "right", content: t('generatedByAI') ||
135
245
  (lang === 'it'
136
246
  ? 'Risposta generata da IA, può talvolta generare informazioni non corrette'
137
247
  : 'Answer generated by AI, may occasionally generate incorrect informations'), className: "memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai", children: _jsx("span", { children: _jsx(AI, { title: t('generatedByAI') ||
@@ -139,11 +249,11 @@ const ChatBubble = ({ message, memori, tenant, baseUrl, apiUrl, client, sessionI
139
249
  ? 'Risposta generata da IA, può talvolta generare informazioni non corrette'
140
250
  : 'Answer generated by AI, may occasionally generate incorrect informations') }) }) })), showTranslationOriginal &&
141
251
  message.translatedText &&
142
- message.translatedText !== message.text && (_jsx(Tooltip, { align: "left", content: `${lang === 'it' ? 'Testo originale' : 'Original text'}: ${message.text}`, className: "memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai", children: _jsx("span", { children: _jsx(Translation, { "aria-label": lang === 'it' ? 'Testo originale' : 'Original text' }) }) })), !message.fromUser &&
252
+ message.translatedText !== message.text && (_jsx(Tooltip, { align: "right", content: `${lang === 'it' ? 'Testo originale' : 'Original text'}: ${message.text}`, className: "memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai", children: _jsx("span", { children: _jsx(Translation, { "aria-label": lang === 'it' ? 'Testo originale' : 'Original text' }) }) })), !message.fromUser &&
143
253
  message.questionAnswered &&
144
254
  apiUrl &&
145
255
  showWhyThisAnswer && (_jsx(Button, { ghost: true, shape: "circle", title: t('whyThisAnswer') || undefined, className: "memori-chat--bubble-action-icon", onClick: () => setShowingWhyThisAnswer(true), disabled: showingWhyThisAnswer, icon: _jsx(QuestionHelp, { title: t('whyThisAnswer') || undefined }) }))] }))] }), message.fromUser && (_jsx(_Fragment, { children: (!!userAvatar && typeof userAvatar === 'string') ||
146
- (!userAvatar && !!((_g = user === null || user === void 0 ? void 0 : user.avatarURL) === null || _g === void 0 ? void 0 : _g.length)) ? (_jsx(Transition.Child, { as: "picture", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, children: _jsx("img", { className: "memori-chat--bubble-avatar-img", alt: (_h = user === null || user === void 0 ? void 0 : user.userName) !== null && _h !== void 0 ? _h : 'User', src: userAvatar !== null && userAvatar !== void 0 ? userAvatar : user === null || user === void 0 ? void 0 : user.avatarURL }) })) : !!userAvatar ? (_jsx(Transition.Child, { as: "div", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, children: userAvatar })) : (_jsx(Transition.Child, { as: "div", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, children: _jsx(UserIcon, {}) })) }))] }), showingWhyThisAnswer && client && (_jsx(WhyThisAnswer, { client: client, visible: showingWhyThisAnswer, message: message, closeDrawer: () => setShowingWhyThisAnswer(false), sessionID: sessionID })), _jsx(Modal, { open: openFunctionCache, onClose: () => setOpenFunctionCache(false), className: "memori-chat--function-cache-modal", children: functionCacheData === null || functionCacheData === void 0 ? void 0 : functionCacheData.map((f, i) => (_jsxs("div", { style: i > 0
256
+ (!userAvatar && !!((_o = user === null || user === void 0 ? void 0 : user.avatarURL) === null || _o === void 0 ? void 0 : _o.length)) ? (_jsx(Transition.Child, { as: "picture", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, children: _jsx("img", { className: "memori-chat--bubble-avatar-img", alt: (_p = user === null || user === void 0 ? void 0 : user.userName) !== null && _p !== void 0 ? _p : 'User', src: userAvatar !== null && userAvatar !== void 0 ? userAvatar : user === null || user === void 0 ? void 0 : user.avatarURL }) })) : !!userAvatar ? (_jsx(Transition.Child, { as: "div", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, children: userAvatar })) : (_jsx(Transition.Child, { as: "div", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, children: _jsx(UserIcon, {}) })) }))] }), showingWhyThisAnswer && client && (_jsx(WhyThisAnswer, { client: client, visible: showingWhyThisAnswer, message: message, closeDrawer: () => setShowingWhyThisAnswer(false), sessionID: sessionID })), _jsx(Modal, { open: openFunctionCache, onClose: () => setOpenFunctionCache(false), className: "memori-chat--function-cache-modal", children: functionCacheData === null || functionCacheData === void 0 ? void 0 : functionCacheData.map((f, i) => (_jsxs("div", { style: i > 0
147
257
  ? {
148
258
  marginTop: '1.5rem',
149
259
  paddingTop: '1.5rem',