@memori.ai/memori-react 6.8.1 → 6.8.4

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 (1197) hide show
  1. package/CHANGELOG.md +1918 -0
  2. package/README.md +89 -48
  3. package/dist/I18nWrapper.js +3 -47
  4. package/dist/I18nWrapper.js.map +1 -1
  5. package/dist/components/AccountForm/AccountForm.d.ts +4 -2
  6. package/dist/components/AccountForm/AccountForm.js +2 -4
  7. package/dist/components/AccountForm/AccountForm.js.map +1 -1
  8. package/dist/components/AgeVerificationModal/AgeVerificationModal.css +1 -1
  9. package/dist/components/AgeVerificationModal/AgeVerificationModal.d.ts +1 -0
  10. package/dist/components/AgeVerificationModal/AgeVerificationModal.js +1 -1
  11. package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  12. package/dist/components/AttachmentLinkModal/AttachmentLinkModal.d.ts +1 -0
  13. package/dist/components/Auth/Auth.d.ts +1 -0
  14. package/dist/components/Avatar/Avatar.css +2 -2
  15. package/dist/components/Avatar/Avatar.d.ts +7 -0
  16. package/dist/components/Avatar/Avatar.js +70 -60
  17. package/dist/components/Avatar/Avatar.js.map +1 -1
  18. package/dist/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.d.ts +7 -0
  19. package/dist/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js +62 -0
  20. package/dist/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js.map +1 -0
  21. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.d.ts +22 -0
  22. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +41 -0
  23. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -0
  24. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.d.ts +18 -0
  25. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +185 -0
  26. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -0
  27. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.d.ts +39 -0
  28. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.js +10 -0
  29. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.js.map +1 -0
  30. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.d.ts +65 -0
  31. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js +747 -0
  32. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js.map +1 -0
  33. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.d.ts +19 -0
  34. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.js +60 -0
  35. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.js.map +1 -0
  36. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.d.ts +24 -0
  37. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js +133 -0
  38. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js.map +1 -0
  39. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controls.d.ts +26 -0
  40. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controls.js +59 -0
  41. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controls.js.map +1 -0
  42. package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.d.ts +15 -0
  43. package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js +83 -0
  44. package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js.map +1 -0
  45. package/dist/components/{AvatarView → Avatar/AvatarView/AvatarComponent}/components/loader.d.ts +1 -0
  46. package/dist/components/{AvatarView → Avatar/AvatarView/AvatarComponent}/components/loader.js +1 -1
  47. package/dist/components/Avatar/AvatarView/AvatarComponent/components/loader.js.map +1 -0
  48. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +35 -0
  49. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js +99 -0
  50. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -0
  51. package/dist/components/Avatar/AvatarView/AvatarComponent/lights/Lights.d.ts +27 -0
  52. package/dist/components/Avatar/AvatarView/AvatarComponent/lights/Lights.js +52 -0
  53. package/dist/components/Avatar/AvatarView/AvatarComponent/lights/Lights.js.map +1 -0
  54. package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +111 -0
  55. package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.d.ts +11 -0
  56. package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js +110 -0
  57. package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js.map +1 -0
  58. package/dist/components/Avatar/AvatarView/index.d.ts +30 -0
  59. package/dist/components/Avatar/AvatarView/index.js +68 -0
  60. package/dist/components/Avatar/AvatarView/index.js.map +1 -0
  61. package/dist/components/Avatar/AvatarView/utils/hideHands.d.ts +2 -0
  62. package/dist/components/Avatar/AvatarView/utils/hideHands.js +14 -0
  63. package/dist/components/Avatar/AvatarView/utils/hideHands.js.map +1 -0
  64. package/dist/components/Avatar/AvatarView/utils/useEyeBlink.d.ts +16 -0
  65. package/dist/components/Avatar/AvatarView/utils/useEyeBlink.js +71 -0
  66. package/dist/components/Avatar/AvatarView/utils/useEyeBlink.js.map +1 -0
  67. package/dist/components/Avatar/AvatarView/utils/useHeadMovement.js.map +1 -0
  68. package/dist/components/Avatar/AvatarView/utils/useLoadingMorphAnim.js.map +1 -0
  69. package/dist/components/Avatar/AvatarView/utils/useMouthAnimation.d.ts +16 -0
  70. package/dist/components/Avatar/AvatarView/utils/useMouthAnimation.js +59 -0
  71. package/dist/components/Avatar/AvatarView/utils/useMouthAnimation.js.map +1 -0
  72. package/dist/components/Avatar/AvatarView/utils/useSmile.js +28 -0
  73. package/dist/components/Avatar/AvatarView/utils/useSmile.js.map +1 -0
  74. package/dist/components/Avatar/AvatarView/utils/utils.js.map +1 -0
  75. package/dist/components/Blob/Blob.d.ts +1 -0
  76. package/dist/components/BlockedMemoriBadge/BlockedMemoriBadge.d.ts +1 -0
  77. package/dist/components/Chat/Chat.d.ts +15 -7
  78. package/dist/components/Chat/Chat.js +49 -30
  79. package/dist/components/Chat/Chat.js.map +1 -1
  80. package/dist/components/ChatBubble/ChatBubble.css +91 -14
  81. package/dist/components/ChatBubble/ChatBubble.d.ts +14 -0
  82. package/dist/components/ChatBubble/ChatBubble.js +92 -67
  83. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  84. package/dist/components/ChatHistoryDrawer/ChatHistory.css +414 -0
  85. package/dist/components/ChatHistoryDrawer/ChatHistory.d.ts +20 -0
  86. package/dist/components/ChatHistoryDrawer/ChatHistory.js +630 -0
  87. package/dist/components/ChatHistoryDrawer/ChatHistory.js.map +1 -0
  88. package/dist/components/ChatInputs/ChatInputs.d.ts +9 -3
  89. package/dist/components/ChatInputs/ChatInputs.js +47 -6
  90. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  91. package/dist/components/ChatTextArea/ChatTextArea.css +9 -5
  92. package/dist/components/ChatTextArea/ChatTextArea.js +1 -1
  93. package/dist/components/ChatTextArea/ChatTextArea.js.map +1 -1
  94. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.css +35 -17
  95. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.d.ts +5 -3
  96. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js +142 -28
  97. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  98. package/dist/components/CustomGLBModelViewer/ModelViewer.d.ts +1 -0
  99. package/dist/components/ExpertsDrawer/ExpertsDrawer.d.ts +1 -0
  100. package/dist/components/ExpertsDrawer/ExpertsDrawer.js +2 -2
  101. package/dist/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
  102. package/dist/components/FeedbackButtons/FeedbackButtons.d.ts +1 -0
  103. package/dist/components/FilePreview/FilePreview.css +184 -0
  104. package/dist/components/FilePreview/FilePreview.d.ts +9 -0
  105. package/dist/components/FilePreview/FilePreview.js +74 -0
  106. package/dist/components/FilePreview/FilePreview.js.map +1 -0
  107. package/dist/components/Header/Header.css +3 -3
  108. package/dist/components/Header/Header.d.ts +5 -1
  109. package/dist/components/Header/Header.js +27 -13
  110. package/dist/components/Header/Header.js.map +1 -1
  111. package/dist/components/KnownFacts/KnownFacts.d.ts +4 -2
  112. package/dist/components/KnownFacts/KnownFacts.js +3 -5
  113. package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
  114. package/dist/components/LoginDrawer/LoginDrawer.css +302 -0
  115. package/dist/components/LoginDrawer/LoginDrawer.d.ts +4 -2
  116. package/dist/components/LoginDrawer/LoginDrawer.js +9 -11
  117. package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
  118. package/dist/components/MediaWidget/LinkItemWidget.css +10 -0
  119. package/dist/components/MediaWidget/LinkItemWidget.d.ts +1 -0
  120. package/dist/components/MediaWidget/LinkItemWidget.js +5 -2
  121. package/dist/components/MediaWidget/LinkItemWidget.js.map +1 -1
  122. package/dist/components/MediaWidget/MediaItemWidget.css +153 -3
  123. package/dist/components/MediaWidget/MediaItemWidget.d.ts +7 -2
  124. package/dist/components/MediaWidget/MediaItemWidget.js +89 -37
  125. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  126. package/dist/components/MediaWidget/MediaWidget.d.ts +4 -1
  127. package/dist/components/MediaWidget/MediaWidget.js +2 -2
  128. package/dist/components/MediaWidget/MediaWidget.js.map +1 -1
  129. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +163 -0
  130. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.d.ts +12 -0
  131. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +133 -0
  132. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -0
  133. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.d.ts +4 -0
  134. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +286 -0
  135. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -0
  136. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.d.ts +6 -0
  137. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +40 -0
  138. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -0
  139. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.d.ts +6 -0
  140. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js +492 -0
  141. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js.map +1 -0
  142. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/index.d.ts +5 -0
  143. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/index.js +14 -0
  144. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/index.js.map +1 -0
  145. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +489 -0
  146. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.d.ts +3 -0
  147. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js +64 -0
  148. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js.map +1 -0
  149. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/types.d.ts +61 -0
  150. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/types.js +3 -0
  151. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/types.js.map +1 -0
  152. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.d.ts +15 -0
  153. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.js +352 -0
  154. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.js.map +1 -0
  155. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +1059 -0
  156. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.d.ts +5 -0
  157. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +167 -0
  158. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -0
  159. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +150 -0
  160. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.d.ts +9 -0
  161. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +35 -0
  162. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -0
  163. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +253 -0
  164. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.d.ts +8 -0
  165. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +104 -0
  166. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -0
  167. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +346 -0
  168. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.d.ts +7 -0
  169. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +89 -0
  170. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -0
  171. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +13 -0
  172. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js +55 -0
  173. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -0
  174. package/dist/components/MemoriArtifactSystem/types/artifact.types.d.ts +14 -0
  175. package/dist/components/MemoriArtifactSystem/types/artifact.types.js +3 -0
  176. package/dist/components/MemoriArtifactSystem/types/artifact.types.js.map +1 -0
  177. package/dist/components/MemoriWidget/MemoriWidget.css +10 -4
  178. package/dist/components/MemoriWidget/MemoriWidget.d.ts +29 -11
  179. package/dist/components/MemoriWidget/MemoriWidget.js +763 -1051
  180. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  181. package/dist/components/MicrophoneButton/MicrophoneButton.d.ts +1 -0
  182. package/dist/components/MicrophoneButton/MicrophoneButton.js +1 -1
  183. package/dist/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
  184. package/dist/components/PositionDrawer/PositionDrawer.d.ts +1 -0
  185. package/dist/components/PoweredBy/PoweredBy.d.ts +1 -0
  186. package/dist/components/SendOnEnterMenu/SendOnEnterMenu.css +3 -3
  187. package/dist/components/SettingsDrawer/SettingsDrawer.css +9 -2
  188. package/dist/components/SettingsDrawer/SettingsDrawer.d.ts +8 -1
  189. package/dist/components/SettingsDrawer/SettingsDrawer.js +15 -6
  190. package/dist/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  191. package/dist/components/ShareButton/ShareButton.css +6 -0
  192. package/dist/components/ShareButton/ShareButton.d.ts +3 -1
  193. package/dist/components/ShareButton/ShareButton.js +14 -3
  194. package/dist/components/ShareButton/ShareButton.js.map +1 -1
  195. package/dist/components/SignupForm/SignupForm.d.ts +4 -2
  196. package/dist/components/SignupForm/SignupForm.js +6 -8
  197. package/dist/components/SignupForm/SignupForm.js.map +1 -1
  198. package/dist/components/Snippet/Snippet.d.ts +2 -2
  199. package/dist/components/Snippet/Snippet.js +36 -25
  200. package/dist/components/Snippet/Snippet.js.map +1 -1
  201. package/dist/components/StartPanel/StartPanel.css +34 -8
  202. package/dist/components/StartPanel/StartPanel.d.ts +8 -3
  203. package/dist/components/StartPanel/StartPanel.js +26 -15
  204. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  205. package/dist/components/Typing/Typing.d.ts +1 -0
  206. package/dist/components/Typing/Typing.js +49 -47
  207. package/dist/components/Typing/Typing.js.map +1 -1
  208. package/dist/components/UploadButton/UploadButton.css +544 -0
  209. package/dist/components/UploadButton/UploadButton.d.ts +19 -0
  210. package/dist/components/UploadButton/UploadButton.js +226 -0
  211. package/dist/components/UploadButton/UploadButton.js.map +1 -0
  212. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +31 -0
  213. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +244 -0
  214. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -0
  215. package/dist/components/UploadButton/UploadImages/UploadImages.d.ts +20 -0
  216. package/dist/components/UploadButton/UploadImages/UploadImages.js +172 -0
  217. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -0
  218. package/dist/components/UploadMenu/UploadMenu.css +3 -3
  219. package/dist/components/VenueWidget/VenueWidget.css +7 -0
  220. package/dist/components/VenueWidget/VenueWidget.d.ts +1 -0
  221. package/dist/components/VenueWidget/VenueWidget.js +1 -1
  222. package/dist/components/VenueWidget/VenueWidget.js.map +1 -1
  223. package/dist/components/WhyThisAnswer/WhyThisAnswer.css +43 -0
  224. package/dist/components/WhyThisAnswer/WhyThisAnswer.d.ts +4 -2
  225. package/dist/components/WhyThisAnswer/WhyThisAnswer.js +5 -6
  226. package/dist/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
  227. package/dist/components/icons/AI.d.ts +1 -0
  228. package/dist/components/icons/Alert.d.ts +6 -0
  229. package/dist/components/icons/Alert.js +6 -0
  230. package/dist/components/icons/Alert.js.map +1 -0
  231. package/dist/components/icons/ArrowUp.d.ts +6 -0
  232. package/dist/components/icons/ArrowUp.js +6 -0
  233. package/dist/components/icons/ArrowUp.js.map +1 -0
  234. package/dist/components/icons/Bug.d.ts +6 -0
  235. package/dist/components/icons/Bug.js +6 -0
  236. package/dist/components/icons/Bug.js.map +1 -0
  237. package/dist/components/icons/Chat.d.ts +6 -0
  238. package/dist/components/icons/Chat.js +6 -0
  239. package/dist/components/icons/Chat.js.map +1 -0
  240. package/dist/components/icons/ChevronDown.d.ts +6 -0
  241. package/dist/components/icons/ChevronDown.js +6 -0
  242. package/dist/components/icons/ChevronDown.js.map +1 -0
  243. package/dist/components/icons/ChevronLeft.d.ts +1 -0
  244. package/dist/components/icons/ChevronRight.d.ts +1 -0
  245. package/dist/components/icons/ChevronUp.d.ts +6 -0
  246. package/dist/components/icons/ChevronUp.js +6 -0
  247. package/dist/components/icons/ChevronUp.js.map +1 -0
  248. package/dist/components/icons/Clear.d.ts +1 -0
  249. package/dist/components/icons/Close.d.ts +3 -1
  250. package/dist/components/icons/Close.js +1 -1
  251. package/dist/components/icons/Close.js.map +1 -1
  252. package/dist/components/icons/Code.d.ts +6 -0
  253. package/dist/components/icons/Code.js +6 -0
  254. package/dist/components/icons/Code.js.map +1 -0
  255. package/dist/components/icons/Copy.d.ts +1 -0
  256. package/dist/components/icons/Copy.js +1 -1
  257. package/dist/components/icons/Copy.js.map +1 -1
  258. package/dist/components/icons/DeepThought.d.ts +1 -0
  259. package/dist/components/icons/Delete.d.ts +1 -0
  260. package/dist/components/icons/Document.d.ts +5 -0
  261. package/dist/components/icons/Document.js +10 -0
  262. package/dist/components/icons/Document.js.map +1 -0
  263. package/dist/components/icons/Download.d.ts +1 -0
  264. package/dist/components/icons/Edit.d.ts +1 -0
  265. package/dist/components/icons/Expand.d.ts +1 -0
  266. package/dist/components/icons/Eye.d.ts +1 -0
  267. package/dist/components/icons/EyeInvisible.d.ts +1 -0
  268. package/dist/components/icons/Facebook.d.ts +1 -0
  269. package/dist/components/icons/Feedback.d.ts +1 -0
  270. package/dist/components/icons/File.d.ts +1 -0
  271. package/dist/components/icons/FileExcel.d.ts +1 -0
  272. package/dist/components/icons/FilePdf.d.ts +1 -0
  273. package/dist/components/icons/FileWord.d.ts +1 -0
  274. package/dist/components/icons/Fullscreen.d.ts +1 -0
  275. package/dist/components/icons/FullscreenExit.d.ts +1 -0
  276. package/dist/components/icons/Group.d.ts +1 -0
  277. package/dist/components/icons/History.d.ts +7 -0
  278. package/dist/components/icons/History.js +6 -0
  279. package/dist/components/icons/History.js.map +1 -0
  280. package/dist/components/icons/Image.d.ts +4 -0
  281. package/dist/components/icons/Image.js +9 -0
  282. package/dist/components/icons/Image.js.map +1 -0
  283. package/dist/components/icons/Info.d.ts +6 -0
  284. package/dist/components/icons/Info.js +6 -0
  285. package/dist/components/icons/Info.js.map +1 -0
  286. package/dist/components/icons/Link.d.ts +1 -0
  287. package/dist/components/icons/Linkedin.d.ts +1 -0
  288. package/dist/components/icons/Loading.d.ts +1 -0
  289. package/dist/components/icons/Mail.d.ts +1 -0
  290. package/dist/components/icons/MapMarker.d.ts +1 -0
  291. package/dist/components/icons/MenuHorizontal.d.ts +7 -0
  292. package/dist/components/icons/MenuHorizontal.js +6 -0
  293. package/dist/components/icons/MenuHorizontal.js.map +1 -0
  294. package/dist/components/icons/MenuVertical.d.ts +7 -0
  295. package/dist/components/icons/MenuVertical.js +6 -0
  296. package/dist/components/icons/MenuVertical.js.map +1 -0
  297. package/dist/components/icons/Message.d.ts +1 -0
  298. package/dist/components/icons/Microphone.d.ts +1 -0
  299. package/dist/components/icons/Minus.d.ts +1 -0
  300. package/dist/components/icons/MinusCircle.d.ts +1 -0
  301. package/dist/components/icons/PaperClip.d.ts +1 -0
  302. package/dist/components/icons/Picture.d.ts +1 -0
  303. package/dist/components/icons/Plus.d.ts +1 -0
  304. package/dist/components/icons/Preview.d.ts +4 -0
  305. package/dist/components/icons/Preview.js +9 -0
  306. package/dist/components/icons/Preview.js.map +1 -0
  307. package/dist/components/icons/Print.d.ts +6 -0
  308. package/dist/components/icons/Print.js +6 -0
  309. package/dist/components/icons/Print.js.map +1 -0
  310. package/dist/components/icons/QuestionHelp.d.ts +1 -0
  311. package/dist/components/icons/Refresh.d.ts +1 -0
  312. package/dist/components/icons/SelectIcon.d.ts +1 -0
  313. package/dist/components/icons/Send.d.ts +1 -0
  314. package/dist/components/icons/Setting.d.ts +1 -0
  315. package/dist/components/icons/Share.d.ts +1 -0
  316. package/dist/components/icons/Sound.d.ts +1 -0
  317. package/dist/components/icons/SoundDeactivated.d.ts +1 -0
  318. package/dist/components/icons/Telegram.d.ts +1 -0
  319. package/dist/components/icons/ThumbDown.d.ts +1 -0
  320. package/dist/components/icons/ThumbUp.d.ts +1 -0
  321. package/dist/components/icons/Translation.d.ts +1 -0
  322. package/dist/components/icons/Twitter.d.ts +1 -0
  323. package/dist/components/icons/Upload.d.ts +4 -0
  324. package/dist/components/icons/Upload.js +9 -0
  325. package/dist/components/icons/Upload.js.map +1 -0
  326. package/dist/components/icons/User.d.ts +1 -0
  327. package/dist/components/icons/Warning.d.ts +1 -0
  328. package/dist/components/icons/Warning.js +1 -1
  329. package/dist/components/icons/Warning.js.map +1 -1
  330. package/dist/components/icons/WhatsApp.d.ts +1 -0
  331. package/dist/components/layouts/Chat.js +9 -1
  332. package/dist/components/layouts/Chat.js.map +1 -1
  333. package/dist/components/layouts/FullPage.js +10 -1
  334. package/dist/components/layouts/FullPage.js.map +1 -1
  335. package/dist/components/layouts/HiddenChat.d.ts +4 -0
  336. package/dist/components/layouts/HiddenChat.js +147 -0
  337. package/dist/components/layouts/HiddenChat.js.map +1 -0
  338. package/dist/components/layouts/Totem.js +1 -1
  339. package/dist/components/layouts/Totem.js.map +1 -1
  340. package/dist/components/layouts/WebsiteAssistant.js +2 -2
  341. package/dist/components/layouts/WebsiteAssistant.js.map +1 -1
  342. package/dist/components/layouts/ZoomedFullBody.d.ts +4 -0
  343. package/dist/components/layouts/ZoomedFullBody.js +17 -0
  344. package/dist/components/layouts/ZoomedFullBody.js.map +1 -0
  345. package/dist/components/layouts/chat.css +358 -19
  346. package/dist/components/layouts/hidden-chat.css +254 -0
  347. package/dist/components/layouts/totem.css +19 -10
  348. package/dist/components/layouts/website-assistant.css +2 -2
  349. package/dist/components/layouts/zoomed-full-body.css +18 -0
  350. package/dist/components/ui/Alert.css +93 -0
  351. package/dist/components/ui/Alert.d.ts +18 -0
  352. package/dist/components/ui/Alert.js +42 -0
  353. package/dist/components/ui/Alert.js.map +1 -0
  354. package/dist/components/ui/Button.css +8 -2
  355. package/dist/components/ui/Button.d.ts +1 -0
  356. package/dist/components/ui/Button.js +2 -1
  357. package/dist/components/ui/Button.js.map +1 -1
  358. package/dist/components/ui/Card.css +5 -0
  359. package/dist/components/ui/Card.d.ts +1 -0
  360. package/dist/components/ui/Card.js +2 -1
  361. package/dist/components/ui/Card.js.map +1 -1
  362. package/dist/components/ui/ConfirmDialog.css +42 -0
  363. package/dist/components/ui/ConfirmDialog.d.ts +11 -0
  364. package/dist/components/ui/ConfirmDialog.js +12 -0
  365. package/dist/components/ui/ConfirmDialog.js.map +1 -0
  366. package/dist/components/ui/Drawer.css +121 -96
  367. package/dist/components/ui/Drawer.d.ts +17 -6
  368. package/dist/components/ui/Drawer.js +44 -13
  369. package/dist/components/ui/Drawer.js.map +1 -1
  370. package/dist/components/ui/Expandable.d.ts +3 -2
  371. package/dist/components/ui/Expandable.js +35 -20
  372. package/dist/components/ui/Expandable.js.map +1 -1
  373. package/dist/components/ui/Select.d.ts +1 -0
  374. package/dist/components/ui/Slider.css +192 -0
  375. package/dist/components/ui/Slider.d.ts +12 -0
  376. package/dist/components/ui/Slider.js +78 -0
  377. package/dist/components/ui/Slider.js.map +1 -0
  378. package/dist/components/ui/Table.css +15 -2
  379. package/dist/context/visemeContext.d.ts +24 -0
  380. package/dist/context/visemeContext.js +192 -0
  381. package/dist/context/visemeContext.js.map +1 -0
  382. package/dist/helpers/configuration.js +0 -1
  383. package/dist/helpers/configuration.js.map +1 -1
  384. package/dist/helpers/constants.d.ts +6 -0
  385. package/dist/helpers/constants.js +7 -1
  386. package/dist/helpers/constants.js.map +1 -1
  387. package/dist/helpers/error.js +53 -6
  388. package/dist/helpers/error.js.map +1 -1
  389. package/dist/helpers/markedExtendedTables.js +1 -1
  390. package/dist/helpers/markedExtendedTables.js.map +1 -1
  391. package/dist/helpers/message.d.ts +5 -0
  392. package/dist/helpers/message.js +98 -0
  393. package/dist/helpers/message.js.map +1 -0
  394. package/dist/helpers/sanitizer.d.ts +1 -0
  395. package/dist/helpers/sanitizer.js +9 -0
  396. package/dist/helpers/sanitizer.js.map +1 -0
  397. package/dist/helpers/statistics.d.ts +1 -12
  398. package/dist/helpers/statistics.js +1 -165
  399. package/dist/helpers/statistics.js.map +1 -1
  400. package/dist/helpers/stt/useSTT.d.ts +40 -0
  401. package/dist/helpers/stt/useSTT.js +527 -0
  402. package/dist/helpers/stt/useSTT.js.map +1 -0
  403. package/dist/helpers/translations.js +23 -4
  404. package/dist/helpers/translations.js.map +1 -1
  405. package/dist/helpers/tts/ttsVoiceUtility.d.ts +158 -0
  406. package/dist/helpers/tts/ttsVoiceUtility.js +192 -0
  407. package/dist/helpers/tts/ttsVoiceUtility.js.map +1 -0
  408. package/dist/helpers/tts/useTTS.d.ts +27 -0
  409. package/dist/helpers/tts/useTTS.js +297 -0
  410. package/dist/helpers/tts/useTTS.js.map +1 -0
  411. package/dist/helpers/utils.d.ts +40 -0
  412. package/dist/helpers/utils.js +157 -1
  413. package/dist/helpers/utils.js.map +1 -1
  414. package/dist/i18n.js +13 -1
  415. package/dist/i18n.js.map +1 -1
  416. package/dist/index.d.ts +14 -4
  417. package/dist/index.js +136 -84
  418. package/dist/index.js.map +1 -1
  419. package/dist/locales/de.json +593 -0
  420. package/dist/locales/en.json +250 -40
  421. package/dist/locales/es.json +593 -0
  422. package/dist/locales/fr.json +603 -0
  423. package/dist/locales/it.json +260 -48
  424. package/dist/styles.css +18 -2
  425. package/esm/I18nWrapper.js +4 -48
  426. package/esm/I18nWrapper.js.map +1 -1
  427. package/esm/components/AccountForm/AccountForm.d.ts +4 -2
  428. package/esm/components/AccountForm/AccountForm.js +2 -4
  429. package/esm/components/AccountForm/AccountForm.js.map +1 -1
  430. package/esm/components/AgeVerificationModal/AgeVerificationModal.css +1 -1
  431. package/esm/components/AgeVerificationModal/AgeVerificationModal.d.ts +1 -0
  432. package/esm/components/AgeVerificationModal/AgeVerificationModal.js +1 -1
  433. package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  434. package/esm/components/AttachmentLinkModal/AttachmentLinkModal.d.ts +1 -0
  435. package/esm/components/Auth/Auth.d.ts +1 -0
  436. package/esm/components/Avatar/Avatar.css +2 -2
  437. package/esm/components/Avatar/Avatar.d.ts +7 -0
  438. package/esm/components/Avatar/Avatar.js +72 -62
  439. package/esm/components/Avatar/Avatar.js.map +1 -1
  440. package/esm/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.d.ts +7 -0
  441. package/esm/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js +60 -0
  442. package/esm/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js.map +1 -0
  443. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.d.ts +22 -0
  444. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +36 -0
  445. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -0
  446. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.d.ts +18 -0
  447. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +180 -0
  448. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -0
  449. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.d.ts +39 -0
  450. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.js +7 -0
  451. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.js.map +1 -0
  452. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.d.ts +65 -0
  453. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js +743 -0
  454. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js.map +1 -0
  455. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.d.ts +19 -0
  456. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.js +56 -0
  457. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.js.map +1 -0
  458. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.d.ts +24 -0
  459. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js +129 -0
  460. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js.map +1 -0
  461. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controls.d.ts +26 -0
  462. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controls.js +56 -0
  463. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controls.js.map +1 -0
  464. package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.d.ts +15 -0
  465. package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js +79 -0
  466. package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js.map +1 -0
  467. package/esm/components/{AvatarView → Avatar/AvatarView/AvatarComponent}/components/loader.d.ts +1 -0
  468. package/esm/components/{AvatarView → Avatar/AvatarView/AvatarComponent}/components/loader.js +1 -1
  469. package/esm/components/Avatar/AvatarView/AvatarComponent/components/loader.js.map +1 -0
  470. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +35 -0
  471. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js +96 -0
  472. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -0
  473. package/esm/components/Avatar/AvatarView/AvatarComponent/lights/Lights.d.ts +27 -0
  474. package/esm/components/Avatar/AvatarView/AvatarComponent/lights/Lights.js +48 -0
  475. package/esm/components/Avatar/AvatarView/AvatarComponent/lights/Lights.js.map +1 -0
  476. package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +111 -0
  477. package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.d.ts +11 -0
  478. package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js +107 -0
  479. package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js.map +1 -0
  480. package/esm/components/Avatar/AvatarView/index.d.ts +30 -0
  481. package/esm/components/Avatar/AvatarView/index.js +64 -0
  482. package/esm/components/Avatar/AvatarView/index.js.map +1 -0
  483. package/esm/components/Avatar/AvatarView/utils/hideHands.d.ts +2 -0
  484. package/esm/components/Avatar/AvatarView/utils/hideHands.js +10 -0
  485. package/esm/components/Avatar/AvatarView/utils/hideHands.js.map +1 -0
  486. package/esm/components/Avatar/AvatarView/utils/useEyeBlink.d.ts +16 -0
  487. package/esm/components/Avatar/AvatarView/utils/useEyeBlink.js +67 -0
  488. package/esm/components/Avatar/AvatarView/utils/useEyeBlink.js.map +1 -0
  489. package/esm/components/Avatar/AvatarView/utils/useHeadMovement.js.map +1 -0
  490. package/esm/components/Avatar/AvatarView/utils/useLoadingMorphAnim.js.map +1 -0
  491. package/esm/components/Avatar/AvatarView/utils/useMouthAnimation.d.ts +16 -0
  492. package/esm/components/Avatar/AvatarView/utils/useMouthAnimation.js +55 -0
  493. package/esm/components/Avatar/AvatarView/utils/useMouthAnimation.js.map +1 -0
  494. package/esm/components/Avatar/AvatarView/utils/useSmile.js +25 -0
  495. package/esm/components/Avatar/AvatarView/utils/useSmile.js.map +1 -0
  496. package/esm/components/Avatar/AvatarView/utils/utils.js.map +1 -0
  497. package/esm/components/Blob/Blob.d.ts +1 -0
  498. package/esm/components/BlockedMemoriBadge/BlockedMemoriBadge.d.ts +1 -0
  499. package/esm/components/Chat/Chat.d.ts +15 -7
  500. package/esm/components/Chat/Chat.js +49 -30
  501. package/esm/components/Chat/Chat.js.map +1 -1
  502. package/esm/components/ChatBubble/ChatBubble.css +91 -14
  503. package/esm/components/ChatBubble/ChatBubble.d.ts +14 -0
  504. package/esm/components/ChatBubble/ChatBubble.js +93 -68
  505. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  506. package/esm/components/ChatHistoryDrawer/ChatHistory.css +414 -0
  507. package/esm/components/ChatHistoryDrawer/ChatHistory.d.ts +20 -0
  508. package/esm/components/ChatHistoryDrawer/ChatHistory.js +627 -0
  509. package/esm/components/ChatHistoryDrawer/ChatHistory.js.map +1 -0
  510. package/esm/components/ChatInputs/ChatInputs.d.ts +9 -3
  511. package/esm/components/ChatInputs/ChatInputs.js +48 -7
  512. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  513. package/esm/components/ChatTextArea/ChatTextArea.css +9 -5
  514. package/esm/components/ChatTextArea/ChatTextArea.js +1 -1
  515. package/esm/components/ChatTextArea/ChatTextArea.js.map +1 -1
  516. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.css +35 -17
  517. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.d.ts +5 -3
  518. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js +143 -29
  519. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  520. package/esm/components/CustomGLBModelViewer/ModelViewer.d.ts +1 -0
  521. package/esm/components/ExpertsDrawer/ExpertsDrawer.d.ts +1 -0
  522. package/esm/components/ExpertsDrawer/ExpertsDrawer.js +2 -2
  523. package/esm/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
  524. package/esm/components/FeedbackButtons/FeedbackButtons.d.ts +1 -0
  525. package/esm/components/FilePreview/FilePreview.css +184 -0
  526. package/esm/components/FilePreview/FilePreview.d.ts +9 -0
  527. package/esm/components/FilePreview/FilePreview.js +71 -0
  528. package/esm/components/FilePreview/FilePreview.js.map +1 -0
  529. package/esm/components/Header/Header.css +3 -3
  530. package/esm/components/Header/Header.d.ts +5 -1
  531. package/esm/components/Header/Header.js +27 -13
  532. package/esm/components/Header/Header.js.map +1 -1
  533. package/esm/components/KnownFacts/KnownFacts.d.ts +4 -2
  534. package/esm/components/KnownFacts/KnownFacts.js +3 -5
  535. package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
  536. package/esm/components/LoginDrawer/LoginDrawer.css +302 -0
  537. package/esm/components/LoginDrawer/LoginDrawer.d.ts +4 -2
  538. package/esm/components/LoginDrawer/LoginDrawer.js +9 -11
  539. package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
  540. package/esm/components/MediaWidget/LinkItemWidget.css +10 -0
  541. package/esm/components/MediaWidget/LinkItemWidget.d.ts +1 -0
  542. package/esm/components/MediaWidget/LinkItemWidget.js +5 -2
  543. package/esm/components/MediaWidget/LinkItemWidget.js.map +1 -1
  544. package/esm/components/MediaWidget/MediaItemWidget.css +153 -3
  545. package/esm/components/MediaWidget/MediaItemWidget.d.ts +7 -2
  546. package/esm/components/MediaWidget/MediaItemWidget.js +90 -38
  547. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  548. package/esm/components/MediaWidget/MediaWidget.d.ts +4 -1
  549. package/esm/components/MediaWidget/MediaWidget.js +2 -2
  550. package/esm/components/MediaWidget/MediaWidget.js.map +1 -1
  551. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +163 -0
  552. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.d.ts +12 -0
  553. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +130 -0
  554. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -0
  555. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.d.ts +4 -0
  556. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +283 -0
  557. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -0
  558. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.d.ts +6 -0
  559. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +37 -0
  560. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -0
  561. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.d.ts +6 -0
  562. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js +487 -0
  563. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js.map +1 -0
  564. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/index.d.ts +5 -0
  565. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/index.js +6 -0
  566. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/index.js.map +1 -0
  567. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +489 -0
  568. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.d.ts +3 -0
  569. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js +62 -0
  570. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js.map +1 -0
  571. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/types.d.ts +61 -0
  572. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/types.js +2 -0
  573. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/types.js.map +1 -0
  574. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.d.ts +15 -0
  575. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.js +348 -0
  576. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.js.map +1 -0
  577. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +1059 -0
  578. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.d.ts +5 -0
  579. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +164 -0
  580. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -0
  581. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +150 -0
  582. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.d.ts +9 -0
  583. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +32 -0
  584. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -0
  585. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +253 -0
  586. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.d.ts +8 -0
  587. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +101 -0
  588. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -0
  589. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +346 -0
  590. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.d.ts +7 -0
  591. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +86 -0
  592. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -0
  593. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +13 -0
  594. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js +50 -0
  595. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -0
  596. package/esm/components/MemoriArtifactSystem/types/artifact.types.d.ts +14 -0
  597. package/esm/components/MemoriArtifactSystem/types/artifact.types.js +2 -0
  598. package/esm/components/MemoriArtifactSystem/types/artifact.types.js.map +1 -0
  599. package/esm/components/MemoriWidget/MemoriWidget.css +10 -4
  600. package/esm/components/MemoriWidget/MemoriWidget.d.ts +29 -11
  601. package/esm/components/MemoriWidget/MemoriWidget.js +766 -1054
  602. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  603. package/esm/components/MicrophoneButton/MicrophoneButton.d.ts +1 -0
  604. package/esm/components/MicrophoneButton/MicrophoneButton.js +1 -1
  605. package/esm/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
  606. package/esm/components/PositionDrawer/PositionDrawer.d.ts +1 -0
  607. package/esm/components/PoweredBy/PoweredBy.d.ts +1 -0
  608. package/esm/components/SendOnEnterMenu/SendOnEnterMenu.css +3 -3
  609. package/esm/components/SettingsDrawer/SettingsDrawer.css +9 -2
  610. package/esm/components/SettingsDrawer/SettingsDrawer.d.ts +8 -1
  611. package/esm/components/SettingsDrawer/SettingsDrawer.js +15 -6
  612. package/esm/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  613. package/esm/components/ShareButton/ShareButton.css +6 -0
  614. package/esm/components/ShareButton/ShareButton.d.ts +3 -1
  615. package/esm/components/ShareButton/ShareButton.js +14 -3
  616. package/esm/components/ShareButton/ShareButton.js.map +1 -1
  617. package/esm/components/SignupForm/SignupForm.d.ts +4 -2
  618. package/esm/components/SignupForm/SignupForm.js +6 -8
  619. package/esm/components/SignupForm/SignupForm.js.map +1 -1
  620. package/esm/components/Snippet/Snippet.d.ts +2 -2
  621. package/esm/components/Snippet/Snippet.js +36 -25
  622. package/esm/components/Snippet/Snippet.js.map +1 -1
  623. package/esm/components/StartPanel/StartPanel.css +34 -8
  624. package/esm/components/StartPanel/StartPanel.d.ts +8 -3
  625. package/esm/components/StartPanel/StartPanel.js +26 -15
  626. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  627. package/esm/components/Typing/Typing.d.ts +1 -0
  628. package/esm/components/Typing/Typing.js +49 -47
  629. package/esm/components/Typing/Typing.js.map +1 -1
  630. package/esm/components/UploadButton/UploadButton.css +544 -0
  631. package/esm/components/UploadButton/UploadButton.d.ts +19 -0
  632. package/esm/components/UploadButton/UploadButton.js +223 -0
  633. package/esm/components/UploadButton/UploadButton.js.map +1 -0
  634. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +31 -0
  635. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +241 -0
  636. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -0
  637. package/esm/components/UploadButton/UploadImages/UploadImages.d.ts +20 -0
  638. package/esm/components/UploadButton/UploadImages/UploadImages.js +169 -0
  639. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -0
  640. package/esm/components/UploadMenu/UploadMenu.css +3 -3
  641. package/esm/components/VenueWidget/VenueWidget.css +7 -0
  642. package/esm/components/VenueWidget/VenueWidget.d.ts +1 -0
  643. package/esm/components/VenueWidget/VenueWidget.js +1 -1
  644. package/esm/components/VenueWidget/VenueWidget.js.map +1 -1
  645. package/esm/components/WhyThisAnswer/WhyThisAnswer.css +43 -0
  646. package/esm/components/WhyThisAnswer/WhyThisAnswer.d.ts +4 -2
  647. package/esm/components/WhyThisAnswer/WhyThisAnswer.js +5 -6
  648. package/esm/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
  649. package/esm/components/icons/AI.d.ts +1 -0
  650. package/esm/components/icons/Alert.d.ts +6 -0
  651. package/esm/components/icons/Alert.js +4 -0
  652. package/esm/components/icons/Alert.js.map +1 -0
  653. package/esm/components/icons/ArrowUp.d.ts +6 -0
  654. package/esm/components/icons/ArrowUp.js +4 -0
  655. package/esm/components/icons/ArrowUp.js.map +1 -0
  656. package/esm/components/icons/Bug.d.ts +6 -0
  657. package/esm/components/icons/Bug.js +4 -0
  658. package/esm/components/icons/Bug.js.map +1 -0
  659. package/esm/components/icons/Chat.d.ts +6 -0
  660. package/esm/components/icons/Chat.js +4 -0
  661. package/esm/components/icons/Chat.js.map +1 -0
  662. package/esm/components/icons/ChevronDown.d.ts +6 -0
  663. package/esm/components/icons/ChevronDown.js +4 -0
  664. package/esm/components/icons/ChevronDown.js.map +1 -0
  665. package/esm/components/icons/ChevronLeft.d.ts +1 -0
  666. package/esm/components/icons/ChevronRight.d.ts +1 -0
  667. package/esm/components/icons/ChevronUp.d.ts +6 -0
  668. package/esm/components/icons/ChevronUp.js +4 -0
  669. package/esm/components/icons/ChevronUp.js.map +1 -0
  670. package/esm/components/icons/Clear.d.ts +1 -0
  671. package/esm/components/icons/Close.d.ts +3 -1
  672. package/esm/components/icons/Close.js +1 -1
  673. package/esm/components/icons/Close.js.map +1 -1
  674. package/esm/components/icons/Code.d.ts +6 -0
  675. package/esm/components/icons/Code.js +4 -0
  676. package/esm/components/icons/Code.js.map +1 -0
  677. package/esm/components/icons/Copy.d.ts +1 -0
  678. package/esm/components/icons/Copy.js +2 -2
  679. package/esm/components/icons/Copy.js.map +1 -1
  680. package/esm/components/icons/DeepThought.d.ts +1 -0
  681. package/esm/components/icons/Delete.d.ts +1 -0
  682. package/esm/components/icons/Document.d.ts +5 -0
  683. package/esm/components/icons/Document.js +6 -0
  684. package/esm/components/icons/Document.js.map +1 -0
  685. package/esm/components/icons/Download.d.ts +1 -0
  686. package/esm/components/icons/Edit.d.ts +1 -0
  687. package/esm/components/icons/Expand.d.ts +1 -0
  688. package/esm/components/icons/Eye.d.ts +1 -0
  689. package/esm/components/icons/EyeInvisible.d.ts +1 -0
  690. package/esm/components/icons/Facebook.d.ts +1 -0
  691. package/esm/components/icons/Feedback.d.ts +1 -0
  692. package/esm/components/icons/File.d.ts +1 -0
  693. package/esm/components/icons/FileExcel.d.ts +1 -0
  694. package/esm/components/icons/FilePdf.d.ts +1 -0
  695. package/esm/components/icons/FileWord.d.ts +1 -0
  696. package/esm/components/icons/Fullscreen.d.ts +1 -0
  697. package/esm/components/icons/FullscreenExit.d.ts +1 -0
  698. package/esm/components/icons/Group.d.ts +1 -0
  699. package/esm/components/icons/History.d.ts +7 -0
  700. package/esm/components/icons/History.js +4 -0
  701. package/esm/components/icons/History.js.map +1 -0
  702. package/esm/components/icons/Image.d.ts +4 -0
  703. package/esm/components/icons/Image.js +5 -0
  704. package/esm/components/icons/Image.js.map +1 -0
  705. package/esm/components/icons/Info.d.ts +6 -0
  706. package/esm/components/icons/Info.js +4 -0
  707. package/esm/components/icons/Info.js.map +1 -0
  708. package/esm/components/icons/Link.d.ts +1 -0
  709. package/esm/components/icons/Linkedin.d.ts +1 -0
  710. package/esm/components/icons/Loading.d.ts +1 -0
  711. package/esm/components/icons/Mail.d.ts +1 -0
  712. package/esm/components/icons/MapMarker.d.ts +1 -0
  713. package/esm/components/icons/MenuHorizontal.d.ts +7 -0
  714. package/esm/components/icons/MenuHorizontal.js +4 -0
  715. package/esm/components/icons/MenuHorizontal.js.map +1 -0
  716. package/esm/components/icons/MenuVertical.d.ts +7 -0
  717. package/esm/components/icons/MenuVertical.js +4 -0
  718. package/esm/components/icons/MenuVertical.js.map +1 -0
  719. package/esm/components/icons/Message.d.ts +1 -0
  720. package/esm/components/icons/Microphone.d.ts +1 -0
  721. package/esm/components/icons/Minus.d.ts +1 -0
  722. package/esm/components/icons/MinusCircle.d.ts +1 -0
  723. package/esm/components/icons/PaperClip.d.ts +1 -0
  724. package/esm/components/icons/Picture.d.ts +1 -0
  725. package/esm/components/icons/Plus.d.ts +1 -0
  726. package/esm/components/icons/Preview.d.ts +4 -0
  727. package/esm/components/icons/Preview.js +5 -0
  728. package/esm/components/icons/Preview.js.map +1 -0
  729. package/esm/components/icons/Print.d.ts +6 -0
  730. package/esm/components/icons/Print.js +4 -0
  731. package/esm/components/icons/Print.js.map +1 -0
  732. package/esm/components/icons/QuestionHelp.d.ts +1 -0
  733. package/esm/components/icons/Refresh.d.ts +1 -0
  734. package/esm/components/icons/SelectIcon.d.ts +1 -0
  735. package/esm/components/icons/Send.d.ts +1 -0
  736. package/esm/components/icons/Setting.d.ts +1 -0
  737. package/esm/components/icons/Share.d.ts +1 -0
  738. package/esm/components/icons/Sound.d.ts +1 -0
  739. package/esm/components/icons/SoundDeactivated.d.ts +1 -0
  740. package/esm/components/icons/Telegram.d.ts +1 -0
  741. package/esm/components/icons/ThumbDown.d.ts +1 -0
  742. package/esm/components/icons/ThumbUp.d.ts +1 -0
  743. package/esm/components/icons/Translation.d.ts +1 -0
  744. package/esm/components/icons/Twitter.d.ts +1 -0
  745. package/esm/components/icons/Upload.d.ts +4 -0
  746. package/esm/components/icons/Upload.js +5 -0
  747. package/esm/components/icons/Upload.js.map +1 -0
  748. package/esm/components/icons/User.d.ts +1 -0
  749. package/esm/components/icons/Warning.d.ts +1 -0
  750. package/esm/components/icons/Warning.js +1 -1
  751. package/esm/components/icons/Warning.js.map +1 -1
  752. package/esm/components/icons/WhatsApp.d.ts +1 -0
  753. package/esm/components/layouts/Chat.js +9 -1
  754. package/esm/components/layouts/Chat.js.map +1 -1
  755. package/esm/components/layouts/FullPage.js +10 -1
  756. package/esm/components/layouts/FullPage.js.map +1 -1
  757. package/esm/components/layouts/HiddenChat.d.ts +4 -0
  758. package/esm/components/layouts/HiddenChat.js +144 -0
  759. package/esm/components/layouts/HiddenChat.js.map +1 -0
  760. package/esm/components/layouts/Totem.js +1 -1
  761. package/esm/components/layouts/Totem.js.map +1 -1
  762. package/esm/components/layouts/WebsiteAssistant.js +2 -2
  763. package/esm/components/layouts/WebsiteAssistant.js.map +1 -1
  764. package/esm/components/layouts/ZoomedFullBody.d.ts +4 -0
  765. package/esm/components/layouts/ZoomedFullBody.js +14 -0
  766. package/esm/components/layouts/ZoomedFullBody.js.map +1 -0
  767. package/esm/components/layouts/chat.css +358 -19
  768. package/esm/components/layouts/hidden-chat.css +254 -0
  769. package/esm/components/layouts/totem.css +19 -10
  770. package/esm/components/layouts/website-assistant.css +2 -2
  771. package/esm/components/layouts/zoomed-full-body.css +18 -0
  772. package/esm/components/ui/Alert.css +93 -0
  773. package/esm/components/ui/Alert.d.ts +18 -0
  774. package/esm/components/ui/Alert.js +39 -0
  775. package/esm/components/ui/Alert.js.map +1 -0
  776. package/esm/components/ui/Button.css +8 -2
  777. package/esm/components/ui/Button.d.ts +1 -0
  778. package/esm/components/ui/Button.js +2 -1
  779. package/esm/components/ui/Button.js.map +1 -1
  780. package/esm/components/ui/Card.css +5 -0
  781. package/esm/components/ui/Card.d.ts +1 -0
  782. package/esm/components/ui/Card.js +2 -1
  783. package/esm/components/ui/Card.js.map +1 -1
  784. package/esm/components/ui/ConfirmDialog.css +42 -0
  785. package/esm/components/ui/ConfirmDialog.d.ts +11 -0
  786. package/esm/components/ui/ConfirmDialog.js +9 -0
  787. package/esm/components/ui/ConfirmDialog.js.map +1 -0
  788. package/esm/components/ui/Drawer.css +121 -96
  789. package/esm/components/ui/Drawer.d.ts +17 -6
  790. package/esm/components/ui/Drawer.js +45 -14
  791. package/esm/components/ui/Drawer.js.map +1 -1
  792. package/esm/components/ui/Expandable.d.ts +3 -2
  793. package/esm/components/ui/Expandable.js +35 -20
  794. package/esm/components/ui/Expandable.js.map +1 -1
  795. package/esm/components/ui/Select.d.ts +1 -0
  796. package/esm/components/ui/Slider.css +192 -0
  797. package/esm/components/ui/Slider.d.ts +12 -0
  798. package/esm/components/ui/Slider.js +75 -0
  799. package/esm/components/ui/Slider.js.map +1 -0
  800. package/esm/components/ui/Table.css +15 -2
  801. package/esm/context/visemeContext.d.ts +24 -0
  802. package/esm/context/visemeContext.js +187 -0
  803. package/esm/context/visemeContext.js.map +1 -0
  804. package/esm/helpers/configuration.js +0 -1
  805. package/esm/helpers/configuration.js.map +1 -1
  806. package/esm/helpers/constants.d.ts +6 -0
  807. package/esm/helpers/constants.js +6 -0
  808. package/esm/helpers/constants.js.map +1 -1
  809. package/esm/helpers/error.js +53 -6
  810. package/esm/helpers/error.js.map +1 -1
  811. package/esm/helpers/markedExtendedTables.js +1 -1
  812. package/esm/helpers/markedExtendedTables.js.map +1 -1
  813. package/esm/helpers/message.d.ts +5 -0
  814. package/esm/helpers/message.js +91 -0
  815. package/esm/helpers/message.js.map +1 -0
  816. package/esm/helpers/sanitizer.d.ts +1 -0
  817. package/esm/helpers/sanitizer.js +5 -0
  818. package/esm/helpers/sanitizer.js.map +1 -0
  819. package/esm/helpers/statistics.d.ts +1 -12
  820. package/esm/helpers/statistics.js +0 -156
  821. package/esm/helpers/statistics.js.map +1 -1
  822. package/esm/helpers/stt/useSTT.d.ts +40 -0
  823. package/esm/helpers/stt/useSTT.js +523 -0
  824. package/esm/helpers/stt/useSTT.js.map +1 -0
  825. package/esm/helpers/translations.js +23 -4
  826. package/esm/helpers/translations.js.map +1 -1
  827. package/esm/helpers/tts/ttsVoiceUtility.d.ts +158 -0
  828. package/esm/helpers/tts/ttsVoiceUtility.js +182 -0
  829. package/esm/helpers/tts/ttsVoiceUtility.js.map +1 -0
  830. package/esm/helpers/tts/useTTS.d.ts +27 -0
  831. package/esm/helpers/tts/useTTS.js +293 -0
  832. package/esm/helpers/tts/useTTS.js.map +1 -0
  833. package/esm/helpers/utils.d.ts +40 -0
  834. package/esm/helpers/utils.js +143 -0
  835. package/esm/helpers/utils.js.map +1 -1
  836. package/esm/i18n.js +13 -1
  837. package/esm/i18n.js.map +1 -1
  838. package/esm/index.d.ts +14 -4
  839. package/esm/index.js +137 -85
  840. package/esm/index.js.map +1 -1
  841. package/esm/locales/de.json +593 -0
  842. package/esm/locales/en.json +250 -40
  843. package/esm/locales/es.json +593 -0
  844. package/esm/locales/fr.json +603 -0
  845. package/esm/locales/it.json +260 -48
  846. package/esm/styles.css +18 -2
  847. package/package.json +12 -13
  848. package/src/I18nWrapper.tsx +3 -60
  849. package/src/__snapshots__/index.test.tsx.snap +60 -0
  850. package/src/components/AccountForm/AccountForm.test.tsx +2 -1
  851. package/src/components/AccountForm/AccountForm.tsx +3 -5
  852. package/src/components/AgeVerificationModal/AgeVerificationModal.css +1 -1
  853. package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +1 -1
  854. package/src/components/Avatar/Avatar.css +2 -2
  855. package/src/components/Avatar/Avatar.test.tsx +39 -20
  856. package/src/components/Avatar/Avatar.tsx +175 -145
  857. package/src/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.tsx +103 -0
  858. package/src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx +106 -0
  859. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +348 -0
  860. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.ts +44 -0
  861. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.ts +1250 -0
  862. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.ts +83 -0
  863. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.ts +301 -0
  864. package/src/components/Avatar/AvatarView/AvatarComponent/components/controls.tsx +100 -0
  865. package/src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx +152 -0
  866. package/src/components/{AvatarView → Avatar/AvatarView/AvatarComponent}/components/loader.tsx +1 -1
  867. package/src/components/Avatar/AvatarView/AvatarComponent/constants.ts +128 -0
  868. package/src/components/Avatar/AvatarView/AvatarComponent/lights/Lights.tsx +145 -0
  869. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +111 -0
  870. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.tsx +201 -0
  871. package/src/components/{AvatarView → Avatar/AvatarView}/AvatarView.stories.tsx +41 -7
  872. package/src/components/Avatar/AvatarView/index.tsx +194 -0
  873. package/src/components/Avatar/AvatarView/utils/hideHands.ts +11 -0
  874. package/src/components/Avatar/AvatarView/utils/useEyeBlink.ts +100 -0
  875. package/src/components/Avatar/AvatarView/utils/useMouthAnimation.ts +93 -0
  876. package/src/components/Avatar/AvatarView/utils/useSmile.ts +39 -0
  877. package/src/components/Avatar/__snapshots__/Avatar.test.tsx.snap +32 -93
  878. package/src/components/BlockedMemoriBadge/__snapshots__/BlockedMemoriBadge.test.tsx.snap +10 -0
  879. package/src/components/Chat/Chat.stories.tsx +498 -2
  880. package/src/components/Chat/Chat.test.tsx +241 -301
  881. package/src/components/Chat/Chat.tsx +120 -58
  882. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +1756 -1222
  883. package/src/components/ChatBubble/ChatBubble.css +91 -14
  884. package/src/components/ChatBubble/ChatBubble.stories.tsx +759 -16
  885. package/src/components/ChatBubble/ChatBubble.test.tsx +217 -2
  886. package/src/components/ChatBubble/ChatBubble.tsx +242 -90
  887. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +7728 -254
  888. package/src/components/ChatHistoryDrawer/ChatHistory.css +414 -0
  889. package/src/components/ChatHistoryDrawer/ChatHistory.stories.tsx +361 -0
  890. package/src/components/ChatHistoryDrawer/ChatHistory.test.tsx +107 -0
  891. package/src/components/ChatHistoryDrawer/ChatHistory.tsx +1191 -0
  892. package/src/components/ChatHistoryDrawer/__snapshots__/ChatHistory.test.tsx.snap +27 -0
  893. package/src/components/ChatInputs/ChatInputs.stories.tsx +5 -0
  894. package/src/components/ChatInputs/ChatInputs.test.tsx +0 -6
  895. package/src/components/ChatInputs/ChatInputs.tsx +136 -25
  896. package/src/components/ChatInputs/__snapshots__/ChatInputs.test.tsx.snap +6 -138
  897. package/src/components/ChatTextArea/ChatTextArea.css +9 -5
  898. package/src/components/ChatTextArea/ChatTextArea.tsx +1 -0
  899. package/src/components/ChatTextArea/__snapshots__/ChatTextArea.test.tsx.snap +3 -0
  900. package/src/components/CompletionProviderStatus/CompletionProviderStatus.css +35 -17
  901. package/src/components/CompletionProviderStatus/CompletionProviderStatus.stories.tsx +275 -22
  902. package/src/components/CompletionProviderStatus/CompletionProviderStatus.test.tsx +6 -4
  903. package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +192 -39
  904. package/src/components/CompletionProviderStatus/__snapshots__/CompletionProviderStatus.test.tsx.snap +83 -15
  905. package/src/components/ExpertsDrawer/ExpertsDrawer.tsx +4 -2
  906. package/src/components/FilePreview/FilePreview.css +184 -0
  907. package/src/components/FilePreview/FilePreview.stories.tsx +66 -0
  908. package/src/components/FilePreview/FilePreview.test.tsx +26 -0
  909. package/src/components/FilePreview/FilePreview.tsx +177 -0
  910. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +275 -0
  911. package/src/components/Header/Header.css +3 -3
  912. package/src/components/Header/Header.stories.tsx +21 -1
  913. package/src/components/Header/Header.test.tsx +38 -1
  914. package/src/components/Header/Header.tsx +56 -16
  915. package/src/components/Header/__snapshots__/Header.test.tsx.snap +127 -375
  916. package/src/components/KnownFacts/KnownFacts.stories.tsx +5 -4
  917. package/src/components/KnownFacts/KnownFacts.test.tsx +6 -3
  918. package/src/components/KnownFacts/KnownFacts.tsx +4 -5
  919. package/src/components/LoginDrawer/LoginDrawer.css +302 -0
  920. package/src/components/LoginDrawer/LoginDrawer.stories.tsx +27 -1
  921. package/src/components/LoginDrawer/LoginDrawer.test.tsx +65 -8
  922. package/src/components/LoginDrawer/LoginDrawer.tsx +12 -13
  923. package/src/components/LoginDrawer/__snapshots__/LoginDrawer.test.tsx.snap +32 -0
  924. package/src/components/MediaWidget/LinkItemWidget.css +10 -0
  925. package/src/components/MediaWidget/LinkItemWidget.tsx +6 -1
  926. package/src/components/MediaWidget/MediaItemWidget.css +153 -3
  927. package/src/components/MediaWidget/MediaItemWidget.stories.tsx +6 -0
  928. package/src/components/MediaWidget/MediaItemWidget.tsx +229 -161
  929. package/src/components/MediaWidget/MediaWidget.test.tsx +2 -1
  930. package/src/components/MediaWidget/MediaWidget.tsx +5 -2
  931. package/src/components/MediaWidget/__snapshots__/LinkItemWidget.test.tsx.snap +4 -4
  932. package/src/components/MediaWidget/__snapshots__/MediaItemWidget.test.tsx.snap +150 -249
  933. package/src/components/MediaWidget/__snapshots__/MediaWidget.test.tsx.snap +2 -2
  934. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +755 -0
  935. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +163 -0
  936. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +250 -0
  937. package/src/components/MemoriArtifactSystem/components/ArtifactActions/CopyButton.stories.tsx +30 -0
  938. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +467 -0
  939. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +86 -0
  940. package/src/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.ts +619 -0
  941. package/src/components/MemoriArtifactSystem/components/ArtifactActions/index.ts +9 -0
  942. package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +489 -0
  943. package/src/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.tsx +90 -0
  944. package/src/components/MemoriArtifactSystem/components/ArtifactActions/types.ts +73 -0
  945. package/src/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.ts +454 -0
  946. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +1059 -0
  947. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +428 -0
  948. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +150 -0
  949. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.tsx +79 -0
  950. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +253 -0
  951. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +169 -0
  952. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +346 -0
  953. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +165 -0
  954. package/src/components/MemoriArtifactSystem/context/ArtifactContext.tsx +69 -0
  955. package/src/components/MemoriArtifactSystem/types/artifact.types.ts +16 -0
  956. package/src/components/MemoriWidget/MemoriWidget.css +10 -4
  957. package/src/components/MemoriWidget/MemoriWidget.stories.tsx +70 -11
  958. package/src/components/MemoriWidget/MemoriWidget.tsx +1344 -1349
  959. package/src/components/MicrophoneButton/MicrophoneButton.tsx +0 -1
  960. package/src/components/SendOnEnterMenu/SendOnEnterMenu.css +3 -3
  961. package/src/components/SettingsDrawer/SettingsDrawer.css +9 -2
  962. package/src/components/SettingsDrawer/SettingsDrawer.test.tsx +24 -0
  963. package/src/components/SettingsDrawer/SettingsDrawer.tsx +104 -14
  964. package/src/components/ShareButton/ShareButton.css +6 -0
  965. package/src/components/ShareButton/ShareButton.stories.tsx +18 -1
  966. package/src/components/ShareButton/ShareButton.test.tsx +8 -1
  967. package/src/components/ShareButton/ShareButton.tsx +49 -2
  968. package/src/components/ShareButton/__snapshots__/ShareButton.test.tsx.snap +35 -0
  969. package/src/components/SignupForm/SignupForm.test.tsx +3 -2
  970. package/src/components/SignupForm/SignupForm.tsx +8 -9
  971. package/src/components/Snippet/Snippet.stories.tsx +0 -8
  972. package/src/components/Snippet/Snippet.test.tsx +0 -1
  973. package/src/components/Snippet/Snippet.tsx +55 -36
  974. package/src/components/Snippet/__snapshots__/Snippet.test.tsx.snap +186 -2560
  975. package/src/components/StartPanel/StartPanel.css +34 -8
  976. package/src/components/StartPanel/StartPanel.stories.tsx +58 -23
  977. package/src/components/StartPanel/StartPanel.test.tsx +50 -17
  978. package/src/components/StartPanel/StartPanel.tsx +218 -152
  979. package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +1340 -171
  980. package/src/components/Typing/Typing.tsx +52 -47
  981. package/src/components/UploadButton/UploadButton.css +544 -0
  982. package/src/components/UploadButton/UploadButton.stories.tsx +164 -0
  983. package/src/components/UploadButton/UploadButton.test.tsx +11 -0
  984. package/src/components/UploadButton/UploadButton.tsx +490 -0
  985. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +422 -0
  986. package/src/components/UploadButton/UploadImages/UploadImages.tsx +362 -0
  987. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +156 -0
  988. package/src/components/UploadMenu/UploadMenu.css +3 -3
  989. package/src/components/VenueWidget/VenueWidget.css +7 -0
  990. package/src/components/VenueWidget/VenueWidget.tsx +4 -4
  991. package/src/components/WhyThisAnswer/WhyThisAnswer.css +43 -0
  992. package/src/components/WhyThisAnswer/WhyThisAnswer.stories.tsx +46 -4
  993. package/src/components/WhyThisAnswer/WhyThisAnswer.test.tsx +132 -11
  994. package/src/components/WhyThisAnswer/WhyThisAnswer.tsx +36 -10
  995. package/src/components/WhyThisAnswer/__snapshots__/WhyThisAnswer.test.tsx.snap +15 -1
  996. package/src/components/icons/Alert.tsx +31 -0
  997. package/src/components/icons/ArrowUp.tsx +28 -0
  998. package/src/components/icons/Bug.tsx +81 -0
  999. package/src/components/icons/Chat.tsx +30 -0
  1000. package/src/components/icons/ChevronDown.tsx +26 -0
  1001. package/src/components/icons/ChevronUp.tsx +24 -0
  1002. package/src/components/icons/Close.tsx +8 -1
  1003. package/src/components/icons/Code.tsx +24 -0
  1004. package/src/components/icons/Copy.tsx +8 -2
  1005. package/src/components/icons/Document.tsx +50 -0
  1006. package/src/components/icons/History.tsx +33 -0
  1007. package/src/components/icons/Image.tsx +37 -0
  1008. package/src/components/icons/Info.tsx +31 -0
  1009. package/src/components/icons/MenuHorizontal.tsx +29 -0
  1010. package/src/components/icons/MenuVertical.tsx +29 -0
  1011. package/src/components/icons/Preview.tsx +29 -0
  1012. package/src/components/icons/Print.tsx +34 -0
  1013. package/src/components/icons/Upload.tsx +34 -0
  1014. package/src/components/icons/Warning.tsx +2 -1
  1015. package/src/components/icons/icons.stories.tsx +14 -6
  1016. package/src/components/layouts/Chat.test.tsx +18 -10
  1017. package/src/components/layouts/Chat.tsx +51 -31
  1018. package/src/components/layouts/FullPage.test.tsx +42 -9
  1019. package/src/components/layouts/FullPage.tsx +55 -30
  1020. package/src/components/layouts/HiddenChat.test.tsx +40 -0
  1021. package/src/components/layouts/HiddenChat.tsx +252 -0
  1022. package/src/components/layouts/Totem.test.tsx +18 -10
  1023. package/src/components/layouts/Totem.tsx +1 -7
  1024. package/src/components/layouts/WebsiteAssistant.test.tsx +18 -10
  1025. package/src/components/layouts/WebsiteAssistant.tsx +0 -7
  1026. package/src/components/layouts/ZoomedFullBody.test.tsx +40 -0
  1027. package/src/components/layouts/ZoomedFullBody.tsx +81 -0
  1028. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +287 -197
  1029. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +827 -201
  1030. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +470 -0
  1031. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +122 -36
  1032. package/src/components/layouts/__snapshots__/WebsiteAssistant.test.tsx.snap +1 -1
  1033. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +533 -0
  1034. package/src/components/layouts/chat.css +358 -19
  1035. package/src/components/layouts/hidden-chat.css +254 -0
  1036. package/src/components/layouts/layouts.stories.tsx +257 -57
  1037. package/src/components/layouts/totem.css +19 -10
  1038. package/src/components/layouts/website-assistant.css +2 -2
  1039. package/src/components/layouts/zoomed-full-body.css +18 -0
  1040. package/src/components/ui/Alert.css +93 -0
  1041. package/src/components/ui/Alert.stories.tsx +137 -0
  1042. package/src/components/ui/Alert.test.tsx +129 -0
  1043. package/src/components/ui/Alert.tsx +123 -0
  1044. package/src/components/ui/Button.css +8 -2
  1045. package/src/components/ui/Button.tsx +3 -0
  1046. package/src/components/ui/Card.css +5 -0
  1047. package/src/components/ui/Card.tsx +4 -0
  1048. package/src/components/ui/ConfirmDialog.css +42 -0
  1049. package/src/components/ui/ConfirmDialog.stories.tsx +216 -0
  1050. package/src/components/ui/ConfirmDialog.test.tsx +124 -0
  1051. package/src/components/ui/ConfirmDialog.tsx +58 -0
  1052. package/src/components/ui/Drawer.css +121 -96
  1053. package/src/components/ui/Drawer.stories.tsx +152 -67
  1054. package/src/components/ui/Drawer.test.tsx +6 -2
  1055. package/src/components/ui/Drawer.tsx +202 -90
  1056. package/src/components/ui/Expandable.stories.tsx +128 -1
  1057. package/src/components/ui/Expandable.tsx +44 -22
  1058. package/src/components/ui/Slider.css +192 -0
  1059. package/src/components/ui/Slider.stories.tsx +63 -0
  1060. package/src/components/ui/Slider.tsx +142 -0
  1061. package/src/components/ui/Table.css +15 -2
  1062. package/src/components/ui/__snapshots__/Alert.test.tsx.snap +59 -0
  1063. package/src/components/ui/__snapshots__/ConfirmDialog.test.tsx.snap +35 -0
  1064. package/src/context/visemeContext.tsx +391 -0
  1065. package/src/helpers/configuration.ts +0 -1
  1066. package/src/helpers/constants.ts +10 -0
  1067. package/src/helpers/error.ts +58 -6
  1068. package/src/helpers/markedExtendedTables.js +1 -1
  1069. package/src/helpers/message.ts +148 -0
  1070. package/src/helpers/sanitizer.ts +17 -0
  1071. package/src/helpers/statistics.ts +1 -195
  1072. package/src/helpers/stt/useSTT.ts +774 -0
  1073. package/src/helpers/translations.ts +29 -7
  1074. package/src/helpers/tts/ttsVoiceUtility.ts +275 -0
  1075. package/src/helpers/tts/useTTS.ts +464 -0
  1076. package/src/helpers/utils.test.ts +38 -1
  1077. package/src/helpers/utils.ts +200 -0
  1078. package/src/i18n.ts +13 -1
  1079. package/src/index.stories.tsx +266 -23
  1080. package/src/index.test.tsx +130 -0
  1081. package/src/index.tsx +245 -153
  1082. package/src/locales/de.json +621 -0
  1083. package/src/locales/en.json +251 -40
  1084. package/src/locales/es.json +593 -0
  1085. package/src/locales/fr.json +603 -0
  1086. package/src/locales/it.json +262 -48
  1087. package/src/mocks/data.ts +272 -9
  1088. package/src/styles.css +18 -2
  1089. package/dist/components/AttachmentMediaModal/AttachmentMediaModal.d.ts +0 -14
  1090. package/dist/components/AttachmentMediaModal/AttachmentMediaModal.js +0 -66
  1091. package/dist/components/AttachmentMediaModal/AttachmentMediaModal.js.map +0 -1
  1092. package/dist/components/AvatarView/components/avatar.d.ts +0 -9
  1093. package/dist/components/AvatarView/components/avatar.js +0 -35
  1094. package/dist/components/AvatarView/components/avatar.js.map +0 -1
  1095. package/dist/components/AvatarView/components/fullbodyAvatar.d.ts +0 -10
  1096. package/dist/components/AvatarView/components/fullbodyAvatar.js +0 -62
  1097. package/dist/components/AvatarView/components/fullbodyAvatar.js.map +0 -1
  1098. package/dist/components/AvatarView/components/loader.js.map +0 -1
  1099. package/dist/components/AvatarView/index.d.ts +0 -17
  1100. package/dist/components/AvatarView/index.js +0 -35
  1101. package/dist/components/AvatarView/index.js.map +0 -1
  1102. package/dist/components/AvatarView/utils/useEyeBlink.d.ts +0 -2
  1103. package/dist/components/AvatarView/utils/useEyeBlink.js +0 -40
  1104. package/dist/components/AvatarView/utils/useEyeBlink.js.map +0 -1
  1105. package/dist/components/AvatarView/utils/useHeadMovement.js.map +0 -1
  1106. package/dist/components/AvatarView/utils/useLoadingMorphAnim.js.map +0 -1
  1107. package/dist/components/AvatarView/utils/useMouthSpeaking.d.ts +0 -2
  1108. package/dist/components/AvatarView/utils/useMouthSpeaking.js +0 -60
  1109. package/dist/components/AvatarView/utils/useMouthSpeaking.js.map +0 -1
  1110. package/dist/components/AvatarView/utils/useSmile.js +0 -30
  1111. package/dist/components/AvatarView/utils/useSmile.js.map +0 -1
  1112. package/dist/components/AvatarView/utils/utils.js.map +0 -1
  1113. package/dist/components/ExportHistoryButton/ExportHistoryButton.d.ts +0 -14
  1114. package/dist/components/ExportHistoryButton/ExportHistoryButton.js +0 -38
  1115. package/dist/components/ExportHistoryButton/ExportHistoryButton.js.map +0 -1
  1116. package/dist/components/ImageUpload/ImageUpload.css +0 -168
  1117. package/dist/components/ImageUpload/ImageUpload.d.ts +0 -28
  1118. package/dist/components/ImageUpload/ImageUpload.js +0 -163
  1119. package/dist/components/ImageUpload/ImageUpload.js.map +0 -1
  1120. package/dist/components/layouts/Default.d.ts +0 -17
  1121. package/dist/components/layouts/Default.js +0 -8
  1122. package/dist/components/layouts/Default.js.map +0 -1
  1123. package/dist/components/ui/Message.d.ts +0 -17
  1124. package/dist/components/ui/Message.js +0 -13
  1125. package/dist/components/ui/Message.js.map +0 -1
  1126. package/dist/helpers/tenant.d.ts +0 -2
  1127. package/dist/helpers/tenant.js +0 -40
  1128. package/dist/helpers/tenant.js.map +0 -1
  1129. package/esm/components/AttachmentMediaModal/AttachmentMediaModal.d.ts +0 -14
  1130. package/esm/components/AttachmentMediaModal/AttachmentMediaModal.js +0 -63
  1131. package/esm/components/AttachmentMediaModal/AttachmentMediaModal.js.map +0 -1
  1132. package/esm/components/AvatarView/components/avatar.d.ts +0 -9
  1133. package/esm/components/AvatarView/components/avatar.js +0 -31
  1134. package/esm/components/AvatarView/components/avatar.js.map +0 -1
  1135. package/esm/components/AvatarView/components/fullbodyAvatar.d.ts +0 -10
  1136. package/esm/components/AvatarView/components/fullbodyAvatar.js +0 -58
  1137. package/esm/components/AvatarView/components/fullbodyAvatar.js.map +0 -1
  1138. package/esm/components/AvatarView/components/loader.js.map +0 -1
  1139. package/esm/components/AvatarView/index.d.ts +0 -17
  1140. package/esm/components/AvatarView/index.js +0 -31
  1141. package/esm/components/AvatarView/index.js.map +0 -1
  1142. package/esm/components/AvatarView/utils/useEyeBlink.d.ts +0 -2
  1143. package/esm/components/AvatarView/utils/useEyeBlink.js +0 -37
  1144. package/esm/components/AvatarView/utils/useEyeBlink.js.map +0 -1
  1145. package/esm/components/AvatarView/utils/useHeadMovement.js.map +0 -1
  1146. package/esm/components/AvatarView/utils/useLoadingMorphAnim.js.map +0 -1
  1147. package/esm/components/AvatarView/utils/useMouthSpeaking.d.ts +0 -2
  1148. package/esm/components/AvatarView/utils/useMouthSpeaking.js +0 -57
  1149. package/esm/components/AvatarView/utils/useMouthSpeaking.js.map +0 -1
  1150. package/esm/components/AvatarView/utils/useSmile.js +0 -27
  1151. package/esm/components/AvatarView/utils/useSmile.js.map +0 -1
  1152. package/esm/components/AvatarView/utils/utils.js.map +0 -1
  1153. package/esm/components/ExportHistoryButton/ExportHistoryButton.d.ts +0 -14
  1154. package/esm/components/ExportHistoryButton/ExportHistoryButton.js +0 -35
  1155. package/esm/components/ExportHistoryButton/ExportHistoryButton.js.map +0 -1
  1156. package/esm/components/ImageUpload/ImageUpload.css +0 -168
  1157. package/esm/components/ImageUpload/ImageUpload.d.ts +0 -28
  1158. package/esm/components/ImageUpload/ImageUpload.js +0 -160
  1159. package/esm/components/ImageUpload/ImageUpload.js.map +0 -1
  1160. package/esm/components/layouts/Default.d.ts +0 -17
  1161. package/esm/components/layouts/Default.js +0 -5
  1162. package/esm/components/layouts/Default.js.map +0 -1
  1163. package/esm/components/ui/Message.d.ts +0 -17
  1164. package/esm/components/ui/Message.js +0 -10
  1165. package/esm/components/ui/Message.js.map +0 -1
  1166. package/esm/helpers/tenant.d.ts +0 -2
  1167. package/esm/helpers/tenant.js +0 -36
  1168. package/esm/helpers/tenant.js.map +0 -1
  1169. package/src/components/AvatarView/components/avatar.tsx +0 -57
  1170. package/src/components/AvatarView/components/fullbodyAvatar.tsx +0 -99
  1171. package/src/components/AvatarView/index.tsx +0 -101
  1172. package/src/components/AvatarView/utils/useEyeBlink.ts +0 -48
  1173. package/src/components/AvatarView/utils/useMouthSpeaking.ts +0 -70
  1174. package/src/components/AvatarView/utils/useSmile.ts +0 -31
  1175. package/src/components/ExportHistoryButton/ExportHistoryButton.stories.tsx +0 -73
  1176. package/src/components/ExportHistoryButton/ExportHistoryButton.test.tsx +0 -69
  1177. package/src/components/ExportHistoryButton/ExportHistoryButton.tsx +0 -103
  1178. package/src/components/ExportHistoryButton/__snapshots__/ExportHistoryButton.test.tsx.snap +0 -239
  1179. package/src/helpers/statistics.test.ts +0 -213
  1180. package/src/helpers/tenant.ts +0 -47
  1181. /package/dist/components/{AvatarView → Avatar/AvatarView}/utils/useHeadMovement.d.ts +0 -0
  1182. /package/dist/components/{AvatarView → Avatar/AvatarView}/utils/useHeadMovement.js +0 -0
  1183. /package/dist/components/{AvatarView → Avatar/AvatarView}/utils/useLoadingMorphAnim.d.ts +0 -0
  1184. /package/dist/components/{AvatarView → Avatar/AvatarView}/utils/useLoadingMorphAnim.js +0 -0
  1185. /package/dist/components/{AvatarView → Avatar/AvatarView}/utils/useSmile.d.ts +0 -0
  1186. /package/dist/components/{AvatarView → Avatar/AvatarView}/utils/utils.d.ts +0 -0
  1187. /package/dist/components/{AvatarView → Avatar/AvatarView}/utils/utils.js +0 -0
  1188. /package/esm/components/{AvatarView → Avatar/AvatarView}/utils/useHeadMovement.d.ts +0 -0
  1189. /package/esm/components/{AvatarView → Avatar/AvatarView}/utils/useHeadMovement.js +0 -0
  1190. /package/esm/components/{AvatarView → Avatar/AvatarView}/utils/useLoadingMorphAnim.d.ts +0 -0
  1191. /package/esm/components/{AvatarView → Avatar/AvatarView}/utils/useLoadingMorphAnim.js +0 -0
  1192. /package/esm/components/{AvatarView → Avatar/AvatarView}/utils/useSmile.d.ts +0 -0
  1193. /package/esm/components/{AvatarView → Avatar/AvatarView}/utils/utils.d.ts +0 -0
  1194. /package/esm/components/{AvatarView → Avatar/AvatarView}/utils/utils.js +0 -0
  1195. /package/src/components/{AvatarView → Avatar/AvatarView}/utils/useHeadMovement.ts +0 -0
  1196. /package/src/components/{AvatarView → Avatar/AvatarView}/utils/useLoadingMorphAnim.ts +0 -0
  1197. /package/src/components/{AvatarView → Avatar/AvatarView}/utils/utils.ts +0 -0
@@ -0,0 +1,1191 @@
1
+ import Drawer from '../ui/Drawer';
2
+ import { useTranslation } from 'react-i18next';
3
+ import memoriApiClient from '@memori.ai/memori-api-client';
4
+ import React, {
5
+ useEffect,
6
+ useMemo,
7
+ useState,
8
+ useCallback,
9
+ ChangeEvent,
10
+ } from 'react';
11
+ import {
12
+ ChatLog,
13
+ ChatLogLine,
14
+ Memori,
15
+ Medium,
16
+ Message,
17
+ ChatLogFilters,
18
+ } from '@memori.ai/memori-api-client/dist/types';
19
+ import Card from '../ui/Card';
20
+ import Button from '../ui/Button';
21
+ import ChatRound from '../icons/Chat';
22
+ import { stripHTML } from '../../helpers/utils';
23
+ import { Dialog } from '@headlessui/react';
24
+ import debounce from 'lodash/debounce';
25
+ import Spin from '../ui/Spin';
26
+ import Chat from '../Chat/Chat';
27
+ import Download from '../icons/Download';
28
+ import MessageIcon from '../icons/Message';
29
+ import ArrowUpIcon from '../icons/ArrowUp';
30
+ import Select from '../ui/Select';
31
+ // Helpers / Utils
32
+ import { getTranslation } from '../../helpers/translations';
33
+
34
+ export interface Props {
35
+ open: boolean;
36
+ onClose: () => void;
37
+ apiClient: ReturnType<typeof memoriApiClient>;
38
+ sessionId: string;
39
+ memori: Memori;
40
+ resumeSession: (chatLog: ChatLog) => void;
41
+ baseUrl: string;
42
+ apiUrl: string;
43
+ history: Message[];
44
+ loginToken?: string;
45
+ language: string;
46
+ userLang: string;
47
+ isMultilanguageEnabled?: boolean;
48
+ }
49
+
50
+ const ITEMS_PER_PAGE = 8;
51
+ const DEBOUNCE_DELAY = 300;
52
+
53
+ // This function calculates the title of the chat log based on the most meaningful user message
54
+ const calculateTitle = (lines: ChatLogLine[]): string => {
55
+ const userMessages = lines.filter(line => line.inbound);
56
+ if (userMessages.length === 0) return '';
57
+
58
+ // Common non-significant phrases that shouldn't be used as titles (English and Italian)
59
+ const insignificantPhrases = [
60
+ // English phrases
61
+ 'hello',
62
+ 'hi',
63
+ 'hey',
64
+ 'good morning',
65
+ 'good afternoon',
66
+ 'good evening',
67
+ 'thanks',
68
+ 'thank you',
69
+ 'thx',
70
+ 'tnx',
71
+ 'ty',
72
+ 'thanks!',
73
+ 'thank you!',
74
+ 'ok',
75
+ 'okay',
76
+ 'k',
77
+ 'yes',
78
+ 'no',
79
+ 'yep',
80
+ 'nope',
81
+ 'yeah',
82
+ 'nah',
83
+ 'good',
84
+ 'great',
85
+ 'nice',
86
+ 'cool',
87
+ 'awesome',
88
+ 'perfect',
89
+ 'excellent',
90
+ 'bye',
91
+ 'goodbye',
92
+ 'see you',
93
+ 'see ya',
94
+ 'later',
95
+ 'good night',
96
+ 'how are you',
97
+ 'how are you doing',
98
+ "what's up",
99
+ 'sup',
100
+ 'please',
101
+ 'pls',
102
+ 'sorry',
103
+ 'excuse me',
104
+ 'pardon',
105
+ 'i see',
106
+ 'i understand',
107
+ 'got it',
108
+ 'gotcha',
109
+ 'understood',
110
+ 'continue',
111
+ 'go on',
112
+ 'tell me more',
113
+ 'more',
114
+ 'next',
115
+ 'start',
116
+ 'begin',
117
+ "let's start",
118
+ "let's begin",
119
+ 'help',
120
+ 'can you help',
121
+ 'i need help',
122
+ 'test',
123
+ 'testing',
124
+ 'test message',
125
+ '?',
126
+ '??',
127
+ '???',
128
+ '!',
129
+ '!!',
130
+ '!!!',
131
+ '...',
132
+ '..',
133
+ '.',
134
+ 'a',
135
+ 'an',
136
+ 'the',
137
+ 'and',
138
+ 'or',
139
+ 'but',
140
+ 'in',
141
+ 'on',
142
+ 'at',
143
+ 'to',
144
+ 'for',
145
+ 'of',
146
+ 'with',
147
+ 'by',
148
+
149
+ // Italian phrases
150
+ 'ciao',
151
+ 'salve',
152
+ 'buongiorno',
153
+ 'buonasera',
154
+ 'buonanotte',
155
+ 'grazie',
156
+ 'grazie mille',
157
+ 'grazie!',
158
+ 'grazie mille!',
159
+ 'thx',
160
+ 'tnx',
161
+ 'ok',
162
+ 'va bene',
163
+ 'va bene così',
164
+ 'perfetto',
165
+ 'ottimo',
166
+ 'bene',
167
+ 'sì',
168
+ 'si',
169
+ 'no',
170
+ 'certo',
171
+ 'certamente',
172
+ 'assolutamente',
173
+ 'arrivederci',
174
+ 'a presto',
175
+ 'a dopo',
176
+ 'ci vediamo',
177
+ 'addio',
178
+ 'come stai',
179
+ 'come va',
180
+ 'tutto bene',
181
+ 'che succede',
182
+ 'per favore',
183
+ 'per piacere',
184
+ 'scusa',
185
+ 'scusami',
186
+ 'mi dispiace',
187
+ 'capisco',
188
+ 'ho capito',
189
+ 'capito',
190
+ 'perfetto',
191
+ 'continua',
192
+ 'vai avanti',
193
+ 'dimmi di più',
194
+ 'altro',
195
+ 'altro ancora',
196
+ 'inizia',
197
+ 'iniziamo',
198
+ 'comincia',
199
+ 'cominciamo',
200
+ 'aiuto',
201
+ 'puoi aiutarmi',
202
+ 'ho bisogno di aiuto',
203
+ 'test',
204
+ 'prova',
205
+ 'messaggio di prova',
206
+ '?',
207
+ '??',
208
+ '???',
209
+ '!',
210
+ '!!',
211
+ '!!!',
212
+ '...',
213
+ '..',
214
+ '.',
215
+ 'un',
216
+ 'una',
217
+ 'il',
218
+ 'la',
219
+ 'gli',
220
+ 'le',
221
+ 'e',
222
+ 'o',
223
+ 'ma',
224
+ 'in',
225
+ 'su',
226
+ 'a',
227
+ 'per',
228
+ 'di',
229
+ 'con',
230
+ 'da',
231
+ ];
232
+
233
+ // Function to calculate message significance score
234
+ const calculateSignificanceScore = (message: string): number => {
235
+ const cleanMessage = message.toLowerCase().trim();
236
+
237
+ // Check if it's an insignificant phrase
238
+ if (insignificantPhrases.includes(cleanMessage)) {
239
+ return 0;
240
+ }
241
+
242
+ // Check if it's too short (less than 3 words)
243
+ const wordCount = cleanMessage
244
+ .split(/\s+/)
245
+ .filter(word => word.length > 0).length;
246
+ if (wordCount < 3) {
247
+ return 0.1;
248
+ }
249
+
250
+ // Check if it's just punctuation or very short
251
+ if (cleanMessage.length < 5) {
252
+ return 0.1;
253
+ }
254
+
255
+ // Check if it's a question (questions are often more significant) - English and Italian
256
+ const isQuestion =
257
+ /\?$/.test(cleanMessage) ||
258
+ // English question starters
259
+ /^(what|how|why|when|where|who|which|can|could|would|will|do|does|did|is|are|was|were)/.test(
260
+ cleanMessage
261
+ ) ||
262
+ // Italian question starters
263
+ /^(cosa|come|perché|perche|quando|dove|chi|quale|quali|può|puo|potrebbe|vorrebbe|sarà|sara|fa|fai|fanno|è|e|sono|era|erano)/.test(
264
+ cleanMessage
265
+ );
266
+
267
+ // Calculate base score
268
+ let score = 0.5;
269
+
270
+ // Boost score for questions
271
+ if (isQuestion) score += 0.3;
272
+
273
+ // Boost score for longer, more detailed messages
274
+ if (wordCount > 5) score += 0.2;
275
+ if (wordCount > 10) score += 0.2;
276
+
277
+ // Reduce score for very long messages (might be too verbose for a title)
278
+ if (wordCount > 20) score -= 0.1;
279
+
280
+ // Boost score for messages with specific details (numbers, dates, names)
281
+ if (/\d/.test(cleanMessage)) score += 0.1;
282
+ if (
283
+ /[A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞŸ][a-zàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ]+/.test(
284
+ message
285
+ )
286
+ )
287
+ score += 0.1; // Proper nouns (including accented characters)
288
+
289
+ return Math.min(score, 1.0);
290
+ };
291
+
292
+ // Score all user messages
293
+ const scoredMessages = userMessages.map((msg, index) => {
294
+ const cleanText = stripHTML(msg.text || '');
295
+ const score = calculateSignificanceScore(cleanText);
296
+ return {
297
+ text: cleanText,
298
+ score,
299
+ index,
300
+ originalIndex: index,
301
+ };
302
+ });
303
+
304
+ // Sort by score (highest first) and then by position (earlier messages preferred for same score)
305
+ scoredMessages.sort((a, b) => {
306
+ if (Math.abs(a.score - b.score) < 0.1) {
307
+ // If scores are close, prefer earlier messages
308
+ return a.index - b.index;
309
+ }
310
+ return b.score - a.score;
311
+ });
312
+
313
+ // Find the best message
314
+ let bestMessage = scoredMessages[0];
315
+
316
+ // If the best message has a very low score, try to find a better one
317
+ if (bestMessage.score < 0.3) {
318
+ // Look for the first message that's not completely insignificant
319
+ const betterMessage = scoredMessages.find(msg => msg.score > 0.1);
320
+ if (betterMessage) {
321
+ bestMessage = betterMessage;
322
+ }
323
+ }
324
+
325
+ // If we still don't have a good message, try to create a title from multiple messages
326
+ if (bestMessage.score < 0.2) {
327
+ // Try to combine first few meaningful messages
328
+ const meaningfulMessages = scoredMessages
329
+ .filter(msg => msg.score > 0.1)
330
+ .slice(0, 3)
331
+ .sort((a, b) => a.index - b.index);
332
+
333
+ if (meaningfulMessages.length > 1) {
334
+ const combinedText = meaningfulMessages
335
+ .map(msg => msg.text)
336
+ .join(' - ')
337
+ .substring(0, 80);
338
+ return combinedText.length > 80 ? `${combinedText}...` : combinedText;
339
+ }
340
+ }
341
+
342
+ // Format the final title
343
+ const title = bestMessage.text;
344
+ const maxLength = 100;
345
+
346
+ if (title.length > maxLength) {
347
+ // Try to cut at a word boundary
348
+ const truncated = title.substring(0, maxLength);
349
+ const lastSpace = truncated.lastIndexOf(' ');
350
+ if (lastSpace > maxLength * 0.7) {
351
+ // If we can cut at a word boundary without losing too much
352
+ return `${truncated.substring(0, lastSpace)}...`;
353
+ }
354
+ return `${truncated}...`;
355
+ }
356
+
357
+ return title;
358
+ };
359
+
360
+ // Function to translate all chat logs lines
361
+ const translateChatLogs = async (
362
+ chatLogs: ChatLog[],
363
+ fromLanguage: string,
364
+ toLanguage: string,
365
+ baseUrl: string
366
+ ): Promise<ChatLog[]> => {
367
+ try {
368
+ const translatedChatLogs = await Promise.all(
369
+ chatLogs.map(async (chatLog) => {
370
+ const translatedLines = await Promise.all(
371
+ chatLog.lines.map(async (line) => {
372
+ if (!line.text) return line;
373
+
374
+ try {
375
+ const translation = await getTranslation(
376
+ line.text,
377
+ toLanguage,
378
+ fromLanguage,
379
+ baseUrl
380
+ );
381
+
382
+ return {
383
+ ...line,
384
+ originalText: line.text,
385
+ text: translation.text,
386
+ };
387
+ } catch (e) {
388
+ console.error('Error translating line:', e);
389
+ return line; // Return original line if translation fails
390
+ }
391
+ })
392
+ );
393
+
394
+ return {
395
+ ...chatLog,
396
+ lines: translatedLines,
397
+ };
398
+ })
399
+ );
400
+
401
+ return translatedChatLogs;
402
+ } catch (e) {
403
+ console.error('Error translating chat logs:', e);
404
+ return chatLogs; // Return original chat logs if translation fails
405
+ }
406
+ };
407
+
408
+ const downloadFile = (text: string, filename: string) => {
409
+ const data = new Blob([text], { type: 'text/plain' });
410
+ const url = URL.createObjectURL(data);
411
+ const element = document.createElement('a');
412
+ element.setAttribute('href', url);
413
+ element.setAttribute('download', filename);
414
+ element.style.display = 'none';
415
+
416
+ document.body.appendChild(element);
417
+ element.click();
418
+ document.body.removeChild(element);
419
+ };
420
+
421
+ const ChatHistoryDrawer = ({
422
+ open,
423
+ onClose,
424
+ apiClient,
425
+ sessionId,
426
+ memori,
427
+ resumeSession,
428
+ baseUrl,
429
+ apiUrl,
430
+ history,
431
+ loginToken,
432
+ language,
433
+ userLang,
434
+ isMultilanguageEnabled = false,
435
+ }: Props) => {
436
+ const { t } = useTranslation();
437
+ const { getUserChatLogsByTokenPaged } = apiClient.chatLogs;
438
+
439
+ const textCurrentChat = `${t(
440
+ 'write_and_speak.conversationStartedLabel'
441
+ )} ${new Intl.DateTimeFormat('it', {
442
+ dateStyle: 'short',
443
+ timeStyle: 'short',
444
+ }).format(new Date())}\n\n`.concat(
445
+ history
446
+ .map(m => `${m.fromUser ? 'YOU' : memori.name}: ${m.text}`)
447
+ .join('\n')
448
+ );
449
+ const [chatLogs, setChatLogs] = useState<ChatLog[]>([]);
450
+ const [selectedChatLog, setSelectedChatLog] = useState<ChatLog | null>(null);
451
+ const [currentPage, setCurrentPage] = useState(1);
452
+ const [indexPage, setIndexPage] = useState(0);
453
+ const [searchText, setSearchText] = useState('');
454
+ const [isLoading, setIsLoading] = useState(false);
455
+ const [error, setError] = useState<string | null>(null);
456
+ const [sortOrder, setSortOrder] = useState<'asc' | 'desc'>('desc');
457
+ const [dateRange, setDateRange] = useState<
458
+ 'today' | 'yesterday' | 'last_7_days' | 'last_30_days' | 'all'
459
+ >('all');
460
+ const [totalItems, setTotalItems] = useState(0);
461
+ const [totalPages, setTotalPages] = useState(0);
462
+
463
+ // New filter for minimum messages per chat
464
+ const [minimumMessagesPerChat, setMinimumMessagesPerChat] =
465
+ useState<number>(3);
466
+
467
+ const [customMinimumMessages, setCustomMinimumMessages] = useState<number>(1);
468
+
469
+ const formatDateForAPI = (date: Date) => {
470
+ const year = date.getFullYear();
471
+ const month = String(date.getMonth() + 1).padStart(2, '0');
472
+ const day = String(date.getDate()).padStart(2, '0');
473
+ const hours = String(date.getHours()).padStart(2, '0');
474
+ const minutes = String(date.getMinutes()).padStart(2, '0');
475
+ const seconds = String(date.getSeconds()).padStart(2, '0');
476
+ const milliseconds = String(date.getMilliseconds()).padStart(3, '0');
477
+
478
+ return `${year}${month}${day}${hours}${minutes}${seconds}${milliseconds}`;
479
+ };
480
+
481
+ const formatDateRangeForAPI = (
482
+ dateRange: 'today' | 'yesterday' | 'last_7_days' | 'last_30_days'
483
+ ) => {
484
+ if (dateRange === 'today') {
485
+ const now = new Date();
486
+ const yesterday = new Date(
487
+ now.getFullYear(),
488
+ now.getMonth(),
489
+ now.getDate() - 1
490
+ );
491
+ const dateFrom = formatDateForAPI(yesterday);
492
+ const dateTo = formatDateForAPI(now);
493
+ return { dateFrom, dateTo };
494
+ }
495
+ if (dateRange === 'yesterday') {
496
+ const now = new Date();
497
+ const yesterday = new Date(
498
+ now.getFullYear(),
499
+ now.getMonth(),
500
+ now.getDate() - 1
501
+ );
502
+ const dayBeforeYesterday = new Date(
503
+ yesterday.getFullYear(),
504
+ yesterday.getMonth(),
505
+ yesterday.getDate() - 2
506
+ );
507
+ const dateFrom = formatDateForAPI(dayBeforeYesterday);
508
+ const dateTo = formatDateForAPI(yesterday);
509
+ return { dateFrom, dateTo };
510
+ }
511
+ if (dateRange === 'last_7_days') {
512
+ const now = new Date();
513
+ const sevenDaysAgo = new Date(
514
+ now.getFullYear(),
515
+ now.getMonth(),
516
+ now.getDate() - 7
517
+ );
518
+ const dateFrom = formatDateForAPI(sevenDaysAgo);
519
+ const dateTo = formatDateForAPI(now);
520
+ return { dateFrom, dateTo };
521
+ }
522
+ if (dateRange === 'last_30_days') {
523
+ const now = new Date();
524
+ const thirtyDaysAgo = new Date(
525
+ now.getFullYear(),
526
+ now.getMonth(),
527
+ now.getDate() - 30
528
+ );
529
+ const dateFrom = formatDateForAPI(thirtyDaysAgo);
530
+ const dateTo = formatDateForAPI(now);
531
+ return { dateFrom, dateTo };
532
+ }
533
+ };
534
+
535
+ const fetchChatLogs = useCallback(
536
+ async (
537
+ dateRangeValue:
538
+ | 'today'
539
+ | 'yesterday'
540
+ | 'last_7_days'
541
+ | 'last_30_days'
542
+ | 'all' = 'all'
543
+ ) => {
544
+ if (!loginToken) {
545
+ setError(
546
+ t('errorFetchingSession') ||
547
+ 'Login token required to fetch chat history'
548
+ );
549
+ return;
550
+ }
551
+
552
+ // Calculate the index based on current page
553
+ const calculatedIndex = ITEMS_PER_PAGE * (currentPage - 1);
554
+ setIndexPage(calculatedIndex);
555
+
556
+ setIsLoading(true);
557
+ setError(null);
558
+ let response;
559
+ let filters: any = {
560
+ loginToken: loginToken,
561
+ memoriID: memori.engineMemoriID,
562
+ dateFrom: undefined,
563
+ dateTo: undefined,
564
+ from: calculatedIndex,
565
+ howMany: ITEMS_PER_PAGE,
566
+ minimumMessagesPerChat:
567
+ customMinimumMessages > 0
568
+ ? customMinimumMessages
569
+ : minimumMessagesPerChat,
570
+ };
571
+ try {
572
+ if (dateRangeValue === 'all') {
573
+ response = await getUserChatLogsByTokenPaged(filters);
574
+ } else {
575
+ const { dateFrom, dateTo } =
576
+ formatDateRangeForAPI(dateRangeValue) ?? {};
577
+ response = await getUserChatLogsByTokenPaged({
578
+ ...filters,
579
+ dateFrom: dateFrom ?? undefined,
580
+ dateTo: dateTo ?? undefined,
581
+ });
582
+ }
583
+
584
+ const res = response;
585
+
586
+ // Sort the chat logs by date
587
+ let sortedChatLogs = res.chatLogs.sort((a: ChatLog, b: ChatLog) => {
588
+ const dateA = Math.max(
589
+ ...a.lines.map((l: any) => new Date(l.timestamp).getTime())
590
+ );
591
+ const dateB = Math.max(
592
+ ...b.lines.map((l: any) => new Date(l.timestamp).getTime())
593
+ );
594
+ return sortOrder === 'desc' ? dateB - dateA : dateA - dateB;
595
+ });
596
+
597
+ // Translate chat logs if needed
598
+ if (
599
+ language.toUpperCase() !== userLang.toUpperCase() &&
600
+ isMultilanguageEnabled
601
+ ) {
602
+ sortedChatLogs = await translateChatLogs(
603
+ sortedChatLogs,
604
+ language,
605
+ userLang,
606
+ baseUrl
607
+ );
608
+ }
609
+
610
+ setChatLogs(sortedChatLogs);
611
+ setTotalItems(res.count || sortedChatLogs.length);
612
+ setTotalPages(
613
+ Math.ceil((res.count || sortedChatLogs.length) / ITEMS_PER_PAGE)
614
+ );
615
+ } catch (err) {
616
+ setError(t('errorFetchingSession') || 'Error loading chat history');
617
+ console.error('Error fetching chat logs:', err);
618
+ } finally {
619
+ setIsLoading(false);
620
+ }
621
+ },
622
+ [
623
+ loginToken,
624
+ memori.engineMemoriID,
625
+ currentPage,
626
+ sortOrder,
627
+ apiUrl,
628
+ minimumMessagesPerChat,
629
+ customMinimumMessages,
630
+ ]
631
+ );
632
+
633
+ useEffect(() => {
634
+ if (open) {
635
+ setCurrentPage(1); // Reset to first page when opening
636
+ setIndexPage(0); // Reset index to 0
637
+ }
638
+ }, [open]);
639
+
640
+ // Reset to first page when changing sort order or date range
641
+ useEffect(() => {
642
+ if (open) {
643
+ setCurrentPage(1);
644
+ setIndexPage(0);
645
+ }
646
+ }, [sortOrder, dateRange, open]);
647
+
648
+ // Fetch chat logs when current page or date range changes
649
+ useEffect(() => {
650
+ if (open && currentPage > 0) {
651
+ fetchChatLogs(dateRange);
652
+ }
653
+ }, [currentPage, dateRange, fetchChatLogs, open]);
654
+
655
+ const debouncedSearch = useMemo(
656
+ () => debounce((value: string) => setSearchText(value), DEBOUNCE_DELAY),
657
+ []
658
+ );
659
+ // Remove client-side pagination since we're now using server-side pagination
660
+ const paginatedChatLogs = chatLogs;
661
+
662
+ const handleResumeChat = async () => {
663
+ if (selectedChatLog) {
664
+ resumeSession(selectedChatLog);
665
+ onClose();
666
+ }
667
+ };
668
+
669
+ const handleExportChat = (chatLog: ChatLog, e: React.MouseEvent) => {
670
+ e.stopPropagation(); // Prevent the card from toggling
671
+ const text = `${t(
672
+ 'write_and_speak.conversationStartedLabel'
673
+ )} ${new Intl.DateTimeFormat(navigator.language, {
674
+ dateStyle: 'short',
675
+ timeStyle: 'short',
676
+ }).format(new Date())}\n\n`.concat(
677
+ chatLog.lines
678
+ .map(line => `${line.inbound ? 'YOU' : memori.name}: ${line.text}`)
679
+ .join('\n')
680
+ );
681
+
682
+ downloadFile(
683
+ text,
684
+ `${memori.name.replace(/\W+/g, '-')}-chat-${chatLog.chatLogID.substring(
685
+ 0,
686
+ 4
687
+ )}.txt`
688
+ );
689
+ };
690
+
691
+ const formatDate = (timestamp: string) => {
692
+ return new Intl.DateTimeFormat(navigator.language, {
693
+ dateStyle: 'medium',
694
+ timeStyle: 'short',
695
+ }).format(new Date(timestamp));
696
+ };
697
+
698
+ const escapeUnderScore = (value: string) => {
699
+ return value.replace(/_/g, ' ');
700
+ };
701
+
702
+ const renderContent = () => {
703
+ if (isLoading) {
704
+ return (
705
+ <div className="memori-chat-history-drawer--loading">
706
+ <Spin
707
+ spinning={true}
708
+ primary={true}
709
+ className="memori-chat-history-drawer--loading--spinner"
710
+ />
711
+ <p className="memori-chat-history-drawer--loading--text">
712
+ {t('write_and_speak.loadingChatHistory') ||
713
+ 'Loading chat history...'}
714
+ </p>
715
+ </div>
716
+ );
717
+ }
718
+
719
+ if (error) {
720
+ return (
721
+ <div className="memori-chat-history-drawer--error">
722
+ <p>{error}</p>
723
+ </div>
724
+ );
725
+ }
726
+
727
+ if (!chatLogs.length) {
728
+ return (
729
+ <div className="memori-chat-history-drawer--empty">
730
+ <ChatRound className="memori-chat-history-drawer--empty--icon" />
731
+ <p className="memori-chat-history-drawer--empty--text">
732
+ {t('write_and_speak.noChatHistoryAvailable') ||
733
+ 'No chat history available'}
734
+ </p>
735
+ </div>
736
+ );
737
+ }
738
+
739
+ if (chatLogs.length === 0) {
740
+ return (
741
+ <div className="memori-chat-history-drawer--no-results">
742
+ <p>
743
+ {t('write_and_speak.noResultsFound', {
744
+ searchText: searchText || '',
745
+ }) || 'No results found'}
746
+ </p>
747
+ </div>
748
+ );
749
+ }
750
+
751
+ return (
752
+ <>
753
+ <ul className="memori-chat-history-drawer--list">
754
+ {paginatedChatLogs.map((chatLog: ChatLog) => {
755
+ const lastMessageDate = Math.max(
756
+ ...chatLog.lines.map(line => new Date(line.timestamp).getTime())
757
+ );
758
+
759
+ return (
760
+ <Card
761
+ hoverable={chatLog?.sessionID !== sessionId}
762
+ onClick={async () => {
763
+ // the active chat
764
+ if (chatLog?.sessionID === sessionId) {
765
+ return;
766
+ }
767
+ if (selectedChatLog?.chatLogID === chatLog.chatLogID) {
768
+ setSelectedChatLog(null);
769
+ return;
770
+ }
771
+ // Check for chat-reference tag in the first line
772
+ // const firstMessage = chatLog.lines[1]?.text;
773
+ // const chatReferenceMatch = firstMessage?.match(/<chat-reference session-id="([^"]+)" event-log-id="([^"]+)"><\/chat-reference>/);
774
+ // if (chatReferenceMatch) {
775
+ // const [_, refSessionId, refChatLogId] = chatReferenceMatch;
776
+ // try {
777
+ // const res = await getSessionChatLogs(refSessionId, refSessionId);
778
+ // const prevChatLog = res.chatLogs.find((c: ChatLog) => c.chatLogID === refChatLogId);
779
+ // if (prevChatLog) {
780
+ // setSelectedChatLog({
781
+ // ...chatLog,
782
+ // lines: [
783
+ // ...prevChatLog.lines,
784
+ // ...chatLog.lines
785
+ // ]
786
+ // });
787
+ // return;
788
+ // }
789
+ // } catch (e) {
790
+ // console.error('Error fetching referenced chat log:', e);
791
+ // }
792
+ // }
793
+ setSelectedChatLog(chatLog);
794
+ }}
795
+ key={chatLog.chatLogID}
796
+ className={`memori-chat-history-drawer--card ${
797
+ selectedChatLog?.chatLogID === chatLog.chatLogID
798
+ ? 'memori-chat-history-drawer--card--selected'
799
+ : ''
800
+ } ${
801
+ chatLog?.sessionID === sessionId
802
+ ? 'memori-chat-history-drawer--card--disabled'
803
+ : 'memori-chat-history-drawer--card--hoverable'
804
+ }`}
805
+ >
806
+ <>
807
+ <div className="memori-chat-history-drawer--card--header">
808
+ <div className="memori-chat-history-drawer--card--header--content">
809
+ <div className="memori-chat-history-drawer--card--header--icon-wrapper">
810
+ <MessageIcon className="memori-chat-history-drawer--card--header--icon" />
811
+ </div>
812
+ <div className="memori-chat-history-drawer--card--header--info">
813
+ <div className="memori-chat-history-drawer--card--header--title-wrapper">
814
+ <Dialog.Title
815
+ as="h3"
816
+ className="memori-chat-history-drawer--card--header--title"
817
+ >
818
+ {calculateTitle(chatLog.lines) ||
819
+ 'Chat-' + chatLog.chatLogID.substring(0, 4)}
820
+ </Dialog.Title>
821
+ {chatLog.boardOfExperts && (
822
+ <div className="memori-chat-history-drawer--card--header--badge">
823
+ BOE
824
+ </div>
825
+ )}
826
+ </div>
827
+ </div>
828
+ </div>
829
+ </div>
830
+ <div className="memori-chat-history-drawer--card--header--meta">
831
+ <time
832
+ className="memori-chat-history-drawer--card--header--meta--time"
833
+ dateTime={new Date(lastMessageDate).toISOString()}
834
+ >
835
+ <svg
836
+ className="memori-chat-history-drawer--card--header--meta--icon"
837
+ fill="none"
838
+ viewBox="0 0 24 24"
839
+ stroke="currentColor"
840
+ >
841
+ <path
842
+ strokeLinecap="round"
843
+ strokeLinejoin="round"
844
+ strokeWidth={2}
845
+ d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"
846
+ />
847
+ </svg>
848
+ {formatDate(new Date(lastMessageDate).toISOString())}
849
+ </time>
850
+ {chatLog.lines.some(
851
+ line =>
852
+ line.media &&
853
+ line.media.filter(
854
+ m =>
855
+ m.mimeType !== 'text/html' &&
856
+ m.mimeType !== 'text/plain'
857
+ ).length > 0
858
+ ) && (
859
+ <span className="memori-chat-history-drawer--card--header--meta--messages">
860
+ <svg
861
+ className="memori-chat-history-drawer--card--header--meta--icon"
862
+ fill="none"
863
+ viewBox="0 0 24 24"
864
+ stroke="currentColor"
865
+ >
866
+ <path
867
+ strokeLinecap="round"
868
+ strokeLinejoin="round"
869
+ strokeWidth={2}
870
+ d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"
871
+ />
872
+ </svg>
873
+ {chatLog.lines.reduce(
874
+ (acc, line) =>
875
+ acc +
876
+ (line.media?.filter(
877
+ m =>
878
+ m.mimeType !== 'text/html' &&
879
+ m.mimeType !== 'text/plain'
880
+ ).length || 0),
881
+ 0
882
+ )}
883
+ </span>
884
+ )}
885
+ <span className="memori-chat-history-drawer--card--header--meta--messages">
886
+ <svg
887
+ className="memori-chat-history-drawer--card--header--meta--icon"
888
+ fill="none"
889
+ viewBox="0 0 24 24"
890
+ stroke="currentColor"
891
+ >
892
+ <path
893
+ strokeLinecap="round"
894
+ strokeLinejoin="round"
895
+ strokeWidth={2}
896
+ d="M8 10h.01M12 10h.01M16 10h.01M9 16H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-5l-5 5v-5z"
897
+ />
898
+ </svg>
899
+ {chatLog.lines.length}
900
+ </span>
901
+ <div className="memori-chat-history-drawer--card--content--header">
902
+ <Button
903
+ className="memori-chat-history-drawer--card--content--export-button"
904
+ onClick={e => handleExportChat(chatLog, e)}
905
+ disabled={chatLog?.sessionID === sessionId}
906
+ >
907
+ <div className="memori-chat-history-drawer--card--content--export-button--content">
908
+ <Download className="memori-chat-history-drawer--card--content--export-button--icon" />
909
+ {/* <span className="memori-chat-history-drawer--card--content--export-button--text">
910
+ {t('write_and_speak.exportChat') || 'Export Chat'}
911
+ </span> */}
912
+ </div>
913
+ </Button>
914
+ </div>
915
+ </div>
916
+
917
+ {selectedChatLog?.chatLogID === chatLog.chatLogID && (
918
+ <div className="memori-chat-history-drawer--card--content">
919
+ <div className="memori-chat-history-drawer--card--content--messages">
920
+ <Chat
921
+ key={`${chatLog.chatLogID}-${chatLog.lines.length}`}
922
+ baseUrl={baseUrl}
923
+ apiUrl={apiUrl}
924
+ memoriTyping={false}
925
+ showTypingText={false}
926
+ showAIicon={true}
927
+ showTranslationOriginal={false}
928
+ showWhyThisAnswer={false}
929
+ showCopyButton={false}
930
+ isChatlogPanel={true}
931
+ showInputs={false}
932
+ history={chatLog.lines.map(line => ({
933
+ text: line.text, // Don't truncate to preserve document_attachment tags
934
+ contextVars: line.contextVars,
935
+ media: line.media as Medium[],
936
+ fromUser: line.inbound,
937
+ timestamp: line.timestamp,
938
+ }))}
939
+ memori={memori}
940
+ sessionID={sessionId}
941
+ pushMessage={() => {}}
942
+ simulateUserPrompt={() => {}}
943
+ setSendOnEnter={() => {}}
944
+ attachmentsMenuOpen={undefined}
945
+ setAttachmentsMenuOpen={() => {}}
946
+ userMessage={''}
947
+ onChangeUserMessage={() => {}}
948
+ sendMessage={() => {}}
949
+ startListening={() => {}}
950
+ stopListening={() => {}}
951
+ listening={false}
952
+ setEnableFocusChatInput={() => {}}
953
+ stopAudio={() => {}}
954
+ isHistoryView={true}
955
+ />
956
+ </div>
957
+ <div className="memori-chat-history-drawer--card--content--actions">
958
+ <Button
959
+ className="memori-chat-history-drawer--card--content--resume-button"
960
+ primary
961
+ onClick={handleResumeChat}
962
+ >
963
+ <div className="memori-chat-history-drawer--card--content--resume-button--content">
964
+ <ChatRound className="memori-chat-history-drawer--card--content--resume-button--icon" />
965
+ <span className="memori-chat-history-drawer--card--content--resume-button--text">
966
+ {t('write_and_speak.resumeButton') ||
967
+ 'Resume chat'}
968
+ </span>
969
+ </div>
970
+ </Button>
971
+ </div>
972
+ </div>
973
+ )}
974
+ </>
975
+ </Card>
976
+ );
977
+ })}
978
+ </ul>
979
+
980
+ {totalPages > 1 && (
981
+ <div className="memori-chat-history-drawer--pagination">
982
+ <Button
983
+ primary
984
+ onClick={() => {
985
+ setCurrentPage(p => Math.max(1, p - 1));
986
+ // fetchChatLogs will be triggered by the useEffect that depends on currentPage
987
+ }}
988
+ disabled={currentPage === 1}
989
+ className="memori-chat-history-drawer--pagination--button"
990
+ >
991
+ {t('previous') || 'Previous'}
992
+ </Button>
993
+ <span className="memori-chat-history-drawer--pagination--info">
994
+ {t('write_and_speak.page', {
995
+ current: currentPage,
996
+ total: totalPages,
997
+ })}
998
+ </span>
999
+ <Button
1000
+ primary
1001
+ onClick={() => {
1002
+ setCurrentPage(p => Math.min(totalPages, p + 1));
1003
+ // fetchChatLogs will be triggered by the useEffect that depends on currentPage
1004
+ }}
1005
+ disabled={currentPage === totalPages}
1006
+ className="memori-chat-history-drawer--pagination--button"
1007
+ >
1008
+ {t('next') || 'Next'}
1009
+ </Button>
1010
+ </div>
1011
+ )}
1012
+ </>
1013
+ );
1014
+ };
1015
+
1016
+ return (
1017
+ <Drawer
1018
+ className="memori-chat-history-drawer"
1019
+ open={open}
1020
+ onClose={onClose}
1021
+ title={
1022
+ <div
1023
+ className="memori-chat-history-drawer--title-wrapper"
1024
+ style={{
1025
+ display: 'flex',
1026
+ justifyContent: 'space-between',
1027
+ alignItems: 'center',
1028
+ width: '100%',
1029
+ }}
1030
+ >
1031
+ <span>{t('write_and_speak.chatHistory') || 'Chat History'}</span>
1032
+
1033
+ <div className="memori-chat-history-drawer--download-button-wrapper">
1034
+ <span className="memori-chat-history-drawer--download-button-wrapper--text">
1035
+ {t('write_and_speak.downloadChat') || 'Download chat'}
1036
+ </span>
1037
+ <Button
1038
+ primary
1039
+ shape="circle"
1040
+ className="memori-chat-history-drawer--download-button"
1041
+ title={t('download') || 'Download chat'}
1042
+ icon={<Download />}
1043
+ // disabled={!selectedChatLog}
1044
+ onClick={() => {
1045
+ //download the chat already opened
1046
+ const fileName = `${memori.name.replace(/\W+/g, '-')}-chat-${
1047
+ new Date().toISOString().split('T')[0]
1048
+ }.txt`;
1049
+ downloadFile(textCurrentChat, fileName);
1050
+ }}
1051
+ />
1052
+ </div>
1053
+ </div>
1054
+ }
1055
+ description={t('write_and_speak.chatHistoryDescription')}
1056
+ >
1057
+ <div className="memori-chat-history-drawer--content">
1058
+ <div className="memori-chat-history-drawer--toolbar">
1059
+ {/* New minimum messages filter */}
1060
+ <div className="memori-chat-history-drawer--toolbar--min-messages-filter">
1061
+ {/* <label className={styles.filterLabel}>
1062
+ {t('chatLogs.minimumMessages', { ns: 'admin' })}
1063
+ </label> */}
1064
+ <Select
1065
+ displayValue={
1066
+ minimumMessagesPerChat === 0
1067
+ ? (t('chatLogs.customMinimumMessages') ||
1068
+ 'Customize the number of messages') ??
1069
+ 'Customize the number of messages'
1070
+ : minimumMessagesPerChat === 1
1071
+ ? (t('chatLogs.anyMessage') || 'Any message') ?? 'Any message'
1072
+ : t('chatLogs.atLeast', { count: minimumMessagesPerChat }) ??
1073
+ `At least ${minimumMessagesPerChat} messages`
1074
+ }
1075
+ placeholder={
1076
+ (t('chatLogs.customMinimumMessages') ||
1077
+ 'Customize the number of messages') ??
1078
+ 'Customize the number of messages'
1079
+ }
1080
+ value={minimumMessagesPerChat}
1081
+ onChange={value => {
1082
+ setMinimumMessagesPerChat(value);
1083
+ window.localStorage.setItem(
1084
+ 'minimumMessagesPerChat',
1085
+ value.toString()
1086
+ );
1087
+ }}
1088
+ className="memori-chat-history-drawer--toolbar--min-messages-filter--select"
1089
+ options={[
1090
+ {
1091
+ value: 1,
1092
+ label: t('chatLogs.anyMessage') || 'Any message',
1093
+ },
1094
+ {
1095
+ value: 2,
1096
+ label: t('chatLogs.atLeast2') || 'At least 2 messages',
1097
+ },
1098
+ {
1099
+ value: 3,
1100
+ label: t('chatLogs.atLeast3') || 'At least 3 messages',
1101
+ },
1102
+ {
1103
+ value: 5,
1104
+ label: t('chatLogs.atLeast5') || 'At least 5 messages',
1105
+ },
1106
+ {
1107
+ value: 10,
1108
+ label: t('chatLogs.atLeast10') || 'At least 10 messages',
1109
+ },
1110
+ {
1111
+ value: 15,
1112
+ label: t('chatLogs.atLeast15') || 'At least 15 messages',
1113
+ },
1114
+ {
1115
+ value: 20,
1116
+ label: t('chatLogs.atLeast20') || 'At least 20 messages',
1117
+ },
1118
+ {
1119
+ value: 0,
1120
+ label:
1121
+ t('chatLogs.customMinimumMessages') ||
1122
+ 'Customize the number of messages',
1123
+ },
1124
+ ]}
1125
+ />
1126
+ {minimumMessagesPerChat === 0 && (
1127
+ <input
1128
+ type="number"
1129
+ min={1}
1130
+ value={customMinimumMessages}
1131
+ onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
1132
+ const value = parseInt(e.target.value, 10);
1133
+ setCustomMinimumMessages(value);
1134
+ window.localStorage.setItem(
1135
+ 'customMinimumMessages',
1136
+ value.toString()
1137
+ );
1138
+ }}
1139
+ style={{ minWidth: 50 }}
1140
+ className="memori-chat-history-drawer--toolbar--min-messages-filter--input-number"
1141
+ />
1142
+ )}
1143
+ </div>
1144
+ <div className="memori-chat-history-drawer--toolbar--actions">
1145
+ <Select
1146
+ options={[
1147
+ {
1148
+ label: t('all') || 'All',
1149
+ value: 'all',
1150
+ },
1151
+ {
1152
+ label: t('today') || 'Today',
1153
+ value: 'today',
1154
+ },
1155
+ {
1156
+ label: t('yesterday') || 'Yesterday',
1157
+ value: 'yesterday',
1158
+ },
1159
+ {
1160
+ label: t('last_7_days') || 'Last 7 days',
1161
+ value: 'last_7_days',
1162
+ },
1163
+ {
1164
+ label: t('last_30_days') || 'Last 30 days',
1165
+ value: 'last_30_days',
1166
+ },
1167
+ ]}
1168
+ value={t(dateRange) || 'All'}
1169
+ className="memori-chat-history-drawer--toolbar--actions--select"
1170
+ onChange={(value: string) => {
1171
+ setDateRange(
1172
+ value as
1173
+ | 'today'
1174
+ | 'yesterday'
1175
+ | 'last_7_days'
1176
+ | 'last_30_days'
1177
+ | 'all'
1178
+ );
1179
+ setCurrentPage(1);
1180
+ // fetchChatLogs will be triggered by the useEffect that depends on dateRange
1181
+ }}
1182
+ />
1183
+ </div>
1184
+ </div>
1185
+ {renderContent()}
1186
+ </div>
1187
+ </Drawer>
1188
+ );
1189
+ };
1190
+
1191
+ export default ChatHistoryDrawer;