@memori.ai/memori-react 9.0.0-alpha.9 → 9.0.0-rc.1

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 (878) hide show
  1. package/CHANGELOG.md +754 -37
  2. package/README.md +430 -171
  3. package/dist/components/AgeVerificationModal/AgeVerificationModal.css +8 -9
  4. package/dist/components/AgeVerificationModal/AgeVerificationModal.js +1 -3
  5. package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  6. package/dist/components/Auth/Auth.css +14 -7
  7. package/dist/components/Auth/Auth.d.ts +1 -1
  8. package/dist/components/Auth/Auth.js +47 -34
  9. package/dist/components/Auth/Auth.js.map +1 -1
  10. package/dist/components/Avatar/Avatar.js +1 -1
  11. package/dist/components/Avatar/Avatar.js.map +1 -1
  12. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +1 -1
  13. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  14. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +2 -2
  15. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js +6 -6
  16. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -1
  17. package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +3 -3
  18. package/dist/components/BlockedMemoriBadge/BlockedMemoriBadge.css +8 -7
  19. package/dist/components/ChangeMode/ChangeMode.css +1 -1
  20. package/dist/components/Chat/Chat.css +191 -49
  21. package/dist/components/Chat/Chat.d.ts +2 -0
  22. package/dist/components/Chat/Chat.js +123 -82
  23. package/dist/components/Chat/Chat.js.map +1 -1
  24. package/dist/components/ChatBubble/ChatBubble.css +539 -88
  25. package/dist/components/ChatBubble/ChatBubble.d.ts +2 -0
  26. package/dist/components/ChatBubble/ChatBubble.js +202 -108
  27. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  28. package/dist/components/ChatHistoryDrawer/ChatHistory.css +195 -700
  29. package/dist/components/ChatHistoryDrawer/ChatHistory.d.ts +3 -1
  30. package/dist/components/ChatHistoryDrawer/ChatHistory.js +235 -613
  31. package/dist/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
  32. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +9 -298
  33. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +5 -2
  34. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +7 -80
  35. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  36. package/dist/components/ChatInputs/ChatInputs.css +181 -166
  37. package/dist/components/ChatInputs/ChatInputs.d.ts +2 -0
  38. package/dist/components/ChatInputs/ChatInputs.js +15 -9
  39. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  40. package/dist/components/ChatTextArea/ChatTextArea.css +30 -19
  41. package/dist/components/ChatTextArea/ChatTextArea.js +0 -17
  42. package/dist/components/ChatTextArea/ChatTextArea.js.map +1 -1
  43. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.css +1 -1
  44. package/dist/components/ContentPreviewModal/ContentPreviewModal.css +380 -68
  45. package/dist/components/ContentPreviewModal/ContentPreviewModal.d.ts +4 -1
  46. package/dist/components/ContentPreviewModal/ContentPreviewModal.js +71 -6
  47. package/dist/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
  48. package/dist/components/ContentPreviewModal/DocumentMarkdown.d.ts +7 -0
  49. package/dist/components/ContentPreviewModal/DocumentMarkdown.js +31 -0
  50. package/dist/components/ContentPreviewModal/DocumentMarkdown.js.map +1 -0
  51. package/dist/components/ContentPreviewModal/index.d.ts +2 -0
  52. package/dist/components/ContentPreviewModal/index.js +5 -1
  53. package/dist/components/ContentPreviewModal/index.js.map +1 -1
  54. package/dist/components/DateSelector/DateSelector.css +93 -7
  55. package/dist/components/DateSelector/DateSelector.js +5 -1
  56. package/dist/components/DateSelector/DateSelector.js.map +1 -1
  57. package/dist/components/DrawerFooter/DrawerFooter.css +39 -39
  58. package/dist/components/ExpertsDrawer/ExpertsDrawer.css +1 -7
  59. package/dist/components/ExpertsDrawer/ExpertsDrawer.js +1 -3
  60. package/dist/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
  61. package/dist/components/ExportHistoryButton/ExportHistoryButton.css +1 -1
  62. package/dist/components/FeedbackButtons/FeedbackButtons.css +3 -3
  63. package/dist/components/FeedbackButtons/FeedbackButtons.js +2 -2
  64. package/dist/components/FeedbackButtons/FeedbackButtons.js.map +1 -1
  65. package/dist/components/FilePreview/FilePreview.css +123 -223
  66. package/dist/components/FilePreview/FilePreview.d.ts +2 -1
  67. package/dist/components/FilePreview/FilePreview.js +37 -86
  68. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  69. package/dist/components/Header/ChatConsumptionDropdown.d.ts +3 -1
  70. package/dist/components/Header/ChatConsumptionDropdown.js +31 -6
  71. package/dist/components/Header/ChatConsumptionDropdown.js.map +1 -1
  72. package/dist/components/Header/Header.css +216 -53
  73. package/dist/components/Header/Header.d.ts +1 -0
  74. package/dist/components/Header/Header.js +201 -105
  75. package/dist/components/Header/Header.js.map +1 -1
  76. package/dist/components/IconButton/IconButton.css +135 -0
  77. package/dist/components/IconButton/IconButton.d.ts +9 -0
  78. package/dist/components/IconButton/IconButton.js +36 -0
  79. package/dist/components/IconButton/IconButton.js.map +1 -0
  80. package/dist/components/KnownFacts/KnownFacts.css +147 -35
  81. package/dist/components/KnownFacts/KnownFacts.js +184 -182
  82. package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
  83. package/dist/components/LoginDrawer/LoginDrawer.css +114 -74
  84. package/dist/components/LoginDrawer/LoginDrawer.d.ts +1 -1
  85. package/dist/components/LoginDrawer/LoginDrawer.js +67 -17
  86. package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
  87. package/dist/components/MediaWidget/MediaItemWidget.css +141 -121
  88. package/dist/components/MediaWidget/MediaItemWidget.js +15 -14
  89. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  90. package/dist/components/MediaWidget/MediaItemWidget.utils.d.ts +14 -0
  91. package/dist/components/MediaWidget/MediaItemWidget.utils.js +68 -4
  92. package/dist/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
  93. package/dist/components/MediaWidget/MediaPreviewModal.js +12 -19
  94. package/dist/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  95. package/dist/components/MediaWidget/MediaWidget.css +2 -2
  96. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +9 -4
  97. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  98. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  99. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +14 -12
  100. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  101. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +43 -132
  102. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +393 -211
  103. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +48 -56
  104. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  105. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +48 -10
  106. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +20 -16
  107. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -1
  108. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +46 -25
  109. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +206 -62
  110. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  111. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +30 -21
  112. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +1 -1
  113. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  114. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +3 -1
  115. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js +65 -1
  116. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  117. package/dist/components/MemoriArtifactSystem/types/artifact.types.d.ts +11 -0
  118. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js +19 -14
  119. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
  120. package/dist/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  121. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js +117 -0
  122. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  123. package/dist/components/MemoriWidget/MemoriWidget.css +8 -3
  124. package/dist/components/MemoriWidget/MemoriWidget.d.ts +4 -1
  125. package/dist/components/MemoriWidget/MemoriWidget.js +143 -77
  126. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  127. package/dist/components/MicrophoneButton/MicrophoneButton.css +2 -161
  128. package/dist/components/MicrophoneButton/MicrophoneButton.js +3 -1
  129. package/dist/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
  130. package/dist/components/MobileSessionPanel/MobileSessionPanel.css +122 -19
  131. package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +3 -0
  132. package/dist/components/MobileSessionPanel/MobileSessionPanel.js +75 -113
  133. package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  134. package/dist/components/PositionPopover/PositionPopover.css +9 -10
  135. package/dist/components/PositionPopover/PositionPopover.d.ts +2 -0
  136. package/dist/components/PositionPopover/PositionPopover.js +57 -36
  137. package/dist/components/PositionPopover/PositionPopover.js.map +1 -1
  138. package/dist/components/PoweredBy/PoweredBy.css +1 -8
  139. package/dist/components/ReasoningBlock/ReasoningBlock.css +156 -0
  140. package/dist/components/ReasoningBlock/ReasoningBlock.d.ts +7 -0
  141. package/dist/components/ReasoningBlock/ReasoningBlock.js +61 -0
  142. package/dist/components/ReasoningBlock/ReasoningBlock.js.map +1 -0
  143. package/dist/components/SendOnEnterMenu/SendOnEnterMenu.css +1 -1
  144. package/dist/components/SettingsDrawer/SettingsDrawer.js +2 -4
  145. package/dist/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  146. package/dist/components/ShareButton/ShareButton.css +101 -57
  147. package/dist/components/ShareButton/ShareButton.js +10 -9
  148. package/dist/components/ShareButton/ShareButton.js.map +1 -1
  149. package/dist/components/SideDrawer/SideDrawer.css +112 -0
  150. package/dist/components/SideDrawer/SideDrawer.d.ts +22 -0
  151. package/dist/components/SideDrawer/SideDrawer.js +17 -0
  152. package/dist/components/SideDrawer/SideDrawer.js.map +1 -0
  153. package/dist/components/Snippet/Snippet.css +10 -40
  154. package/dist/components/Snippet/Snippet.js +3 -1
  155. package/dist/components/Snippet/Snippet.js.map +1 -1
  156. package/dist/components/StartPanel/StartPanel.css +299 -50
  157. package/dist/components/StartPanel/StartPanel.d.ts +1 -0
  158. package/dist/components/StartPanel/StartPanel.js +45 -30
  159. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  160. package/dist/components/Typing/Typing.js +1 -1
  161. package/dist/components/Typing/Typing.js.map +1 -1
  162. package/dist/components/UploadButton/UploadButton.css +44 -62
  163. package/dist/components/UploadButton/UploadButton.d.ts +1 -0
  164. package/dist/components/UploadButton/UploadButton.js +17 -21
  165. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  166. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +1 -6
  167. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +23 -144
  168. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  169. package/dist/components/UploadButton/UploadImages/UploadImages.js +2 -8
  170. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  171. package/dist/components/VenueWidget/VenueWidget.css +6 -6
  172. package/dist/components/WhyThisAnswer/WhyThisAnswer.css +181 -107
  173. package/dist/components/WhyThisAnswer/WhyThisAnswer.d.ts +4 -1
  174. package/dist/components/WhyThisAnswer/WhyThisAnswer.js +169 -20
  175. package/dist/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
  176. package/dist/components/layouts/Chat.js +66 -73
  177. package/dist/components/layouts/Chat.js.map +1 -1
  178. package/dist/components/layouts/FullPage.js +160 -39
  179. package/dist/components/layouts/FullPage.js.map +1 -1
  180. package/dist/components/layouts/HiddenChat.js +24 -7
  181. package/dist/components/layouts/HiddenChat.js.map +1 -1
  182. package/dist/components/layouts/Totem.js +10 -1
  183. package/dist/components/layouts/Totem.js.map +1 -1
  184. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +88 -8
  185. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  186. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +142 -39
  187. package/dist/components/layouts/ZoomedFullBody.js +158 -39
  188. package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
  189. package/dist/components/layouts/chat.css +231 -59
  190. package/dist/components/layouts/fullpage.css +283 -81
  191. package/dist/components/layouts/hidden-chat.css +116 -96
  192. package/dist/components/layouts/totem.css +194 -51
  193. package/dist/components/layouts/zoomed-full-body.css +276 -77
  194. package/dist/helpers/artifactPanel.d.ts +6 -0
  195. package/dist/helpers/artifactPanel.js +42 -0
  196. package/dist/helpers/artifactPanel.js.map +1 -0
  197. package/dist/helpers/chatScroll.d.ts +12 -0
  198. package/dist/helpers/chatScroll.js +14 -0
  199. package/dist/helpers/chatScroll.js.map +1 -0
  200. package/dist/helpers/constants.d.ts +3 -1
  201. package/dist/helpers/constants.js +25 -3
  202. package/dist/helpers/constants.js.map +1 -1
  203. package/dist/helpers/conversationHistory.d.ts +16 -0
  204. package/dist/helpers/conversationHistory.js +89 -0
  205. package/dist/helpers/conversationHistory.js.map +1 -0
  206. package/dist/helpers/conversationTitle.d.ts +8 -0
  207. package/dist/helpers/conversationTitle.js +27 -0
  208. package/dist/helpers/conversationTitle.js.map +1 -0
  209. package/dist/helpers/convertDocument.d.ts +1 -0
  210. package/dist/helpers/convertDocument.js +24 -0
  211. package/dist/helpers/convertDocument.js.map +1 -0
  212. package/dist/helpers/error.js +2 -1
  213. package/dist/helpers/error.js.map +1 -1
  214. package/dist/helpers/highlightMatches.d.ts +2 -0
  215. package/dist/helpers/highlightMatches.js +54 -0
  216. package/dist/helpers/highlightMatches.js.map +1 -0
  217. package/dist/helpers/media.js +18 -3
  218. package/dist/helpers/media.js.map +1 -1
  219. package/dist/helpers/message.js +5 -1
  220. package/dist/helpers/message.js.map +1 -1
  221. package/dist/helpers/nats/getNatsConfig.js.map +1 -1
  222. package/dist/helpers/nats/useNats.d.ts +2 -1
  223. package/dist/helpers/nats/useNats.js +87 -20
  224. package/dist/helpers/nats/useNats.js.map +1 -1
  225. package/dist/helpers/nats/useNatsSession.d.ts +6 -1
  226. package/dist/helpers/nats/useNatsSession.js +48 -7
  227. package/dist/helpers/nats/useNatsSession.js.map +1 -1
  228. package/dist/helpers/positionPopover.d.ts +3 -1
  229. package/dist/helpers/positionPopover.js +17 -2
  230. package/dist/helpers/positionPopover.js.map +1 -1
  231. package/dist/helpers/reasoning.d.ts +7 -0
  232. package/dist/helpers/reasoning.js +43 -0
  233. package/dist/helpers/reasoning.js.map +1 -0
  234. package/dist/helpers/relativeTime.d.ts +3 -0
  235. package/dist/helpers/relativeTime.js +56 -0
  236. package/dist/helpers/relativeTime.js.map +1 -0
  237. package/dist/helpers/sourcesCount.d.ts +2 -0
  238. package/dist/helpers/sourcesCount.js +22 -0
  239. package/dist/helpers/sourcesCount.js.map +1 -0
  240. package/dist/helpers/tts/muteSpeaker.d.ts +13 -0
  241. package/dist/helpers/tts/muteSpeaker.js +26 -0
  242. package/dist/helpers/tts/muteSpeaker.js.map +1 -0
  243. package/dist/helpers/tts/useTTS.js +18 -9
  244. package/dist/helpers/tts/useTTS.js.map +1 -1
  245. package/dist/helpers/usePressTooltip.d.ts +6 -1
  246. package/dist/helpers/usePressTooltip.js +16 -1
  247. package/dist/helpers/usePressTooltip.js.map +1 -1
  248. package/dist/helpers/utils.d.ts +3 -1
  249. package/dist/helpers/utils.js +20 -6
  250. package/dist/helpers/utils.js.map +1 -1
  251. package/dist/icons/MemoriIcon.js +1 -1
  252. package/dist/icons/MemoriIcon.js.map +1 -1
  253. package/dist/index.js +17 -17
  254. package/dist/index.js.map +1 -1
  255. package/dist/locales/de.json +82 -8
  256. package/dist/locales/en.json +80 -11
  257. package/dist/locales/es.json +79 -9
  258. package/dist/locales/fr.json +79 -9
  259. package/dist/locales/it.json +80 -11
  260. package/dist/styles/motion.css +25 -0
  261. package/dist/styles.css +1 -1
  262. package/dist/version.d.ts +1 -1
  263. package/dist/version.js +1 -1
  264. package/dist/version.js.map +1 -1
  265. package/esm/components/AgeVerificationModal/AgeVerificationModal.css +8 -9
  266. package/esm/components/AgeVerificationModal/AgeVerificationModal.js +1 -3
  267. package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  268. package/esm/components/Auth/Auth.css +14 -7
  269. package/esm/components/Auth/Auth.d.ts +1 -1
  270. package/esm/components/Auth/Auth.js +48 -35
  271. package/esm/components/Auth/Auth.js.map +1 -1
  272. package/esm/components/Avatar/Avatar.js +1 -1
  273. package/esm/components/Avatar/Avatar.js.map +1 -1
  274. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +2 -2
  275. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  276. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +2 -2
  277. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js +4 -5
  278. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -1
  279. package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +3 -3
  280. package/esm/components/BlockedMemoriBadge/BlockedMemoriBadge.css +8 -7
  281. package/esm/components/ChangeMode/ChangeMode.css +1 -1
  282. package/esm/components/Chat/Chat.css +191 -49
  283. package/esm/components/Chat/Chat.d.ts +2 -0
  284. package/esm/components/Chat/Chat.js +125 -84
  285. package/esm/components/Chat/Chat.js.map +1 -1
  286. package/esm/components/ChatBubble/ChatBubble.css +539 -88
  287. package/esm/components/ChatBubble/ChatBubble.d.ts +2 -0
  288. package/esm/components/ChatBubble/ChatBubble.js +204 -110
  289. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  290. package/esm/components/ChatHistoryDrawer/ChatHistory.css +195 -700
  291. package/esm/components/ChatHistoryDrawer/ChatHistory.d.ts +3 -1
  292. package/esm/components/ChatHistoryDrawer/ChatHistory.js +239 -617
  293. package/esm/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
  294. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +9 -298
  295. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +5 -2
  296. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +9 -82
  297. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  298. package/esm/components/ChatInputs/ChatInputs.css +181 -166
  299. package/esm/components/ChatInputs/ChatInputs.d.ts +2 -0
  300. package/esm/components/ChatInputs/ChatInputs.js +16 -10
  301. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  302. package/esm/components/ChatTextArea/ChatTextArea.css +30 -19
  303. package/esm/components/ChatTextArea/ChatTextArea.js +0 -17
  304. package/esm/components/ChatTextArea/ChatTextArea.js.map +1 -1
  305. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.css +1 -1
  306. package/esm/components/ContentPreviewModal/ContentPreviewModal.css +380 -68
  307. package/esm/components/ContentPreviewModal/ContentPreviewModal.d.ts +4 -1
  308. package/esm/components/ContentPreviewModal/ContentPreviewModal.js +72 -7
  309. package/esm/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
  310. package/esm/components/ContentPreviewModal/DocumentMarkdown.d.ts +7 -0
  311. package/esm/components/ContentPreviewModal/DocumentMarkdown.js +28 -0
  312. package/esm/components/ContentPreviewModal/DocumentMarkdown.js.map +1 -0
  313. package/esm/components/ContentPreviewModal/index.d.ts +2 -0
  314. package/esm/components/ContentPreviewModal/index.js +2 -0
  315. package/esm/components/ContentPreviewModal/index.js.map +1 -1
  316. package/esm/components/DateSelector/DateSelector.css +93 -7
  317. package/esm/components/DateSelector/DateSelector.js +5 -1
  318. package/esm/components/DateSelector/DateSelector.js.map +1 -1
  319. package/esm/components/DrawerFooter/DrawerFooter.css +39 -39
  320. package/esm/components/ExpertsDrawer/ExpertsDrawer.css +1 -7
  321. package/esm/components/ExpertsDrawer/ExpertsDrawer.js +1 -3
  322. package/esm/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
  323. package/esm/components/ExportHistoryButton/ExportHistoryButton.css +1 -1
  324. package/esm/components/FeedbackButtons/FeedbackButtons.css +3 -3
  325. package/esm/components/FeedbackButtons/FeedbackButtons.js +2 -2
  326. package/esm/components/FeedbackButtons/FeedbackButtons.js.map +1 -1
  327. package/esm/components/FilePreview/FilePreview.css +123 -223
  328. package/esm/components/FilePreview/FilePreview.d.ts +2 -1
  329. package/esm/components/FilePreview/FilePreview.js +39 -88
  330. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  331. package/esm/components/Header/ChatConsumptionDropdown.d.ts +3 -1
  332. package/esm/components/Header/ChatConsumptionDropdown.js +33 -8
  333. package/esm/components/Header/ChatConsumptionDropdown.js.map +1 -1
  334. package/esm/components/Header/Header.css +216 -53
  335. package/esm/components/Header/Header.d.ts +1 -0
  336. package/esm/components/Header/Header.js +202 -106
  337. package/esm/components/Header/Header.js.map +1 -1
  338. package/esm/components/IconButton/IconButton.css +135 -0
  339. package/esm/components/IconButton/IconButton.d.ts +9 -0
  340. package/esm/components/IconButton/IconButton.js +33 -0
  341. package/esm/components/IconButton/IconButton.js.map +1 -0
  342. package/esm/components/KnownFacts/KnownFacts.css +147 -35
  343. package/esm/components/KnownFacts/KnownFacts.js +185 -184
  344. package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
  345. package/esm/components/LoginDrawer/LoginDrawer.css +114 -74
  346. package/esm/components/LoginDrawer/LoginDrawer.d.ts +1 -1
  347. package/esm/components/LoginDrawer/LoginDrawer.js +68 -18
  348. package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
  349. package/esm/components/MediaWidget/MediaItemWidget.css +141 -121
  350. package/esm/components/MediaWidget/MediaItemWidget.js +16 -15
  351. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  352. package/esm/components/MediaWidget/MediaItemWidget.utils.d.ts +14 -0
  353. package/esm/components/MediaWidget/MediaItemWidget.utils.js +65 -4
  354. package/esm/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
  355. package/esm/components/MediaWidget/MediaPreviewModal.js +13 -20
  356. package/esm/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  357. package/esm/components/MediaWidget/MediaWidget.css +2 -2
  358. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +9 -4
  359. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  360. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  361. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +15 -13
  362. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  363. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +43 -132
  364. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +393 -211
  365. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +50 -58
  366. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  367. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +48 -10
  368. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +21 -18
  369. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -1
  370. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +46 -25
  371. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +208 -64
  372. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  373. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +30 -21
  374. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +2 -2
  375. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  376. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +3 -1
  377. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js +66 -2
  378. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  379. package/esm/components/MemoriArtifactSystem/types/artifact.types.d.ts +11 -0
  380. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js +19 -14
  381. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
  382. package/esm/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  383. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js +112 -0
  384. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  385. package/esm/components/MemoriWidget/MemoriWidget.css +8 -3
  386. package/esm/components/MemoriWidget/MemoriWidget.d.ts +4 -1
  387. package/esm/components/MemoriWidget/MemoriWidget.js +145 -80
  388. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  389. package/esm/components/MicrophoneButton/MicrophoneButton.css +2 -161
  390. package/esm/components/MicrophoneButton/MicrophoneButton.js +3 -2
  391. package/esm/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
  392. package/esm/components/MobileSessionPanel/MobileSessionPanel.css +122 -19
  393. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +3 -0
  394. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +76 -114
  395. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  396. package/esm/components/PositionPopover/PositionPopover.css +9 -10
  397. package/esm/components/PositionPopover/PositionPopover.d.ts +2 -0
  398. package/esm/components/PositionPopover/PositionPopover.js +58 -37
  399. package/esm/components/PositionPopover/PositionPopover.js.map +1 -1
  400. package/esm/components/PoweredBy/PoweredBy.css +1 -8
  401. package/esm/components/ReasoningBlock/ReasoningBlock.css +156 -0
  402. package/esm/components/ReasoningBlock/ReasoningBlock.d.ts +7 -0
  403. package/esm/components/ReasoningBlock/ReasoningBlock.js +58 -0
  404. package/esm/components/ReasoningBlock/ReasoningBlock.js.map +1 -0
  405. package/esm/components/SendOnEnterMenu/SendOnEnterMenu.css +1 -1
  406. package/esm/components/SettingsDrawer/SettingsDrawer.js +2 -4
  407. package/esm/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  408. package/esm/components/ShareButton/ShareButton.css +101 -57
  409. package/esm/components/ShareButton/ShareButton.js +11 -10
  410. package/esm/components/ShareButton/ShareButton.js.map +1 -1
  411. package/esm/components/SideDrawer/SideDrawer.css +112 -0
  412. package/esm/components/SideDrawer/SideDrawer.d.ts +22 -0
  413. package/esm/components/SideDrawer/SideDrawer.js +12 -0
  414. package/esm/components/SideDrawer/SideDrawer.js.map +1 -0
  415. package/esm/components/Snippet/Snippet.css +10 -40
  416. package/esm/components/Snippet/Snippet.js +4 -2
  417. package/esm/components/Snippet/Snippet.js.map +1 -1
  418. package/esm/components/StartPanel/StartPanel.css +299 -50
  419. package/esm/components/StartPanel/StartPanel.d.ts +1 -0
  420. package/esm/components/StartPanel/StartPanel.js +46 -31
  421. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  422. package/esm/components/Typing/Typing.js +1 -1
  423. package/esm/components/Typing/Typing.js.map +1 -1
  424. package/esm/components/UploadButton/UploadButton.css +44 -62
  425. package/esm/components/UploadButton/UploadButton.d.ts +1 -0
  426. package/esm/components/UploadButton/UploadButton.js +18 -22
  427. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  428. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +1 -6
  429. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +25 -146
  430. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  431. package/esm/components/UploadButton/UploadImages/UploadImages.js +2 -8
  432. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  433. package/esm/components/VenueWidget/VenueWidget.css +6 -6
  434. package/esm/components/WhyThisAnswer/WhyThisAnswer.css +181 -107
  435. package/esm/components/WhyThisAnswer/WhyThisAnswer.d.ts +4 -1
  436. package/esm/components/WhyThisAnswer/WhyThisAnswer.js +172 -23
  437. package/esm/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
  438. package/esm/components/layouts/Chat.js +69 -76
  439. package/esm/components/layouts/Chat.js.map +1 -1
  440. package/esm/components/layouts/FullPage.js +162 -41
  441. package/esm/components/layouts/FullPage.js.map +1 -1
  442. package/esm/components/layouts/HiddenChat.js +24 -7
  443. package/esm/components/layouts/HiddenChat.js.map +1 -1
  444. package/esm/components/layouts/Totem.js +10 -1
  445. package/esm/components/layouts/Totem.js.map +1 -1
  446. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +89 -9
  447. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  448. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +142 -39
  449. package/esm/components/layouts/ZoomedFullBody.js +160 -41
  450. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  451. package/esm/components/layouts/chat.css +231 -59
  452. package/esm/components/layouts/fullpage.css +283 -81
  453. package/esm/components/layouts/hidden-chat.css +116 -96
  454. package/esm/components/layouts/totem.css +194 -51
  455. package/esm/components/layouts/zoomed-full-body.css +276 -77
  456. package/esm/helpers/artifactPanel.d.ts +6 -0
  457. package/esm/helpers/artifactPanel.js +37 -0
  458. package/esm/helpers/artifactPanel.js.map +1 -0
  459. package/esm/helpers/chatScroll.d.ts +12 -0
  460. package/esm/helpers/chatScroll.js +9 -0
  461. package/esm/helpers/chatScroll.js.map +1 -0
  462. package/esm/helpers/constants.d.ts +3 -1
  463. package/esm/helpers/constants.js +24 -2
  464. package/esm/helpers/constants.js.map +1 -1
  465. package/esm/helpers/conversationHistory.d.ts +16 -0
  466. package/esm/helpers/conversationHistory.js +82 -0
  467. package/esm/helpers/conversationHistory.js.map +1 -0
  468. package/esm/helpers/conversationTitle.d.ts +8 -0
  469. package/esm/helpers/conversationTitle.js +23 -0
  470. package/esm/helpers/conversationTitle.js.map +1 -0
  471. package/esm/helpers/convertDocument.d.ts +1 -0
  472. package/esm/helpers/convertDocument.js +20 -0
  473. package/esm/helpers/convertDocument.js.map +1 -0
  474. package/esm/helpers/error.js +2 -1
  475. package/esm/helpers/error.js.map +1 -1
  476. package/esm/helpers/highlightMatches.d.ts +2 -0
  477. package/esm/helpers/highlightMatches.js +49 -0
  478. package/esm/helpers/highlightMatches.js.map +1 -0
  479. package/esm/helpers/media.js +18 -3
  480. package/esm/helpers/media.js.map +1 -1
  481. package/esm/helpers/message.js +6 -2
  482. package/esm/helpers/message.js.map +1 -1
  483. package/esm/helpers/nats/getNatsConfig.js.map +1 -1
  484. package/esm/helpers/nats/useNats.d.ts +2 -1
  485. package/esm/helpers/nats/useNats.js +87 -20
  486. package/esm/helpers/nats/useNats.js.map +1 -1
  487. package/esm/helpers/nats/useNatsSession.d.ts +6 -1
  488. package/esm/helpers/nats/useNatsSession.js +48 -8
  489. package/esm/helpers/nats/useNatsSession.js.map +1 -1
  490. package/esm/helpers/positionPopover.d.ts +3 -1
  491. package/esm/helpers/positionPopover.js +15 -2
  492. package/esm/helpers/positionPopover.js.map +1 -1
  493. package/esm/helpers/reasoning.d.ts +7 -0
  494. package/esm/helpers/reasoning.js +39 -0
  495. package/esm/helpers/reasoning.js.map +1 -0
  496. package/esm/helpers/relativeTime.d.ts +3 -0
  497. package/esm/helpers/relativeTime.js +50 -0
  498. package/esm/helpers/relativeTime.js.map +1 -0
  499. package/esm/helpers/sourcesCount.d.ts +2 -0
  500. package/esm/helpers/sourcesCount.js +18 -0
  501. package/esm/helpers/sourcesCount.js.map +1 -0
  502. package/esm/helpers/tts/muteSpeaker.d.ts +13 -0
  503. package/esm/helpers/tts/muteSpeaker.js +21 -0
  504. package/esm/helpers/tts/muteSpeaker.js.map +1 -0
  505. package/esm/helpers/tts/useTTS.js +18 -9
  506. package/esm/helpers/tts/useTTS.js.map +1 -1
  507. package/esm/helpers/usePressTooltip.d.ts +6 -1
  508. package/esm/helpers/usePressTooltip.js +17 -2
  509. package/esm/helpers/usePressTooltip.js.map +1 -1
  510. package/esm/helpers/utils.d.ts +3 -1
  511. package/esm/helpers/utils.js +18 -6
  512. package/esm/helpers/utils.js.map +1 -1
  513. package/esm/icons/MemoriIcon.js +1 -1
  514. package/esm/icons/MemoriIcon.js.map +1 -1
  515. package/esm/index.js +18 -18
  516. package/esm/index.js.map +1 -1
  517. package/esm/locales/de.json +82 -8
  518. package/esm/locales/en.json +80 -11
  519. package/esm/locales/es.json +79 -9
  520. package/esm/locales/fr.json +79 -9
  521. package/esm/locales/it.json +80 -11
  522. package/esm/styles/motion.css +25 -0
  523. package/esm/styles.css +1 -1
  524. package/esm/version.d.ts +1 -1
  525. package/esm/version.js +1 -1
  526. package/esm/version.js.map +1 -1
  527. package/package.json +15 -55
  528. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.d.ts +0 -3
  529. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js +0 -64
  530. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js.map +0 -1
  531. package/dist/context/widgetSurfaceContext.d.ts +0 -3
  532. package/dist/context/widgetSurfaceContext.js +0 -11
  533. package/dist/context/widgetSurfaceContext.js.map +0 -1
  534. package/dist/testUtils.d.ts +0 -5
  535. package/dist/testUtils.js +0 -18
  536. package/dist/testUtils.js.map +0 -1
  537. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.d.ts +0 -3
  538. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js +0 -62
  539. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js.map +0 -1
  540. package/esm/context/widgetSurfaceContext.d.ts +0 -3
  541. package/esm/context/widgetSurfaceContext.js +0 -7
  542. package/esm/context/widgetSurfaceContext.js.map +0 -1
  543. package/esm/testUtils.d.ts +0 -5
  544. package/esm/testUtils.js +0 -15
  545. package/esm/testUtils.js.map +0 -1
  546. package/src/I18nWrapper.tsx +0 -13
  547. package/src/Showcase.stories.tsx +0 -641
  548. package/src/__snapshots__/index.test.tsx.snap +0 -126
  549. package/src/components/AgeVerificationModal/AgeVerificationModal.css +0 -118
  550. package/src/components/AgeVerificationModal/AgeVerificationModal.stories.tsx +0 -49
  551. package/src/components/AgeVerificationModal/AgeVerificationModal.test.tsx +0 -34
  552. package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +0 -125
  553. package/src/components/AgeVerificationModal/__snapshots__/AgeVerificationModal.test.tsx.snap +0 -43
  554. package/src/components/Auth/Auth.css +0 -61
  555. package/src/components/Auth/Auth.stories.tsx +0 -90
  556. package/src/components/Auth/Auth.test.tsx +0 -63
  557. package/src/components/Auth/Auth.tsx +0 -216
  558. package/src/components/Auth/__snapshots__/Auth.test.tsx.snap +0 -199
  559. package/src/components/Avatar/Avatar.css +0 -151
  560. package/src/components/Avatar/Avatar.stories.tsx +0 -160
  561. package/src/components/Avatar/Avatar.test.tsx +0 -158
  562. package/src/components/Avatar/Avatar.tsx +0 -248
  563. package/src/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.tsx +0 -103
  564. package/src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx +0 -105
  565. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +0 -338
  566. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.ts +0 -44
  567. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.ts +0 -1091
  568. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.ts +0 -83
  569. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.ts +0 -301
  570. package/src/components/Avatar/AvatarView/AvatarComponent/components/controls.tsx +0 -100
  571. package/src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx +0 -152
  572. package/src/components/Avatar/AvatarView/AvatarComponent/components/loader.tsx +0 -31
  573. package/src/components/Avatar/AvatarView/AvatarComponent/constants.ts +0 -141
  574. package/src/components/Avatar/AvatarView/AvatarComponent/lights/Lights.tsx +0 -145
  575. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +0 -111
  576. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.tsx +0 -199
  577. package/src/components/Avatar/AvatarView/AvatarView.stories.tsx +0 -254
  578. package/src/components/Avatar/AvatarView/index.tsx +0 -194
  579. package/src/components/Avatar/AvatarView/utils/hideHands.ts +0 -11
  580. package/src/components/Avatar/AvatarView/utils/useEyeBlink.ts +0 -100
  581. package/src/components/Avatar/AvatarView/utils/useHeadMovement.ts +0 -72
  582. package/src/components/Avatar/AvatarView/utils/useLoadingMorphAnim.ts +0 -38
  583. package/src/components/Avatar/AvatarView/utils/useMouthAnimation.ts +0 -93
  584. package/src/components/Avatar/AvatarView/utils/useSmile.ts +0 -39
  585. package/src/components/Avatar/AvatarView/utils/utils.ts +0 -55
  586. package/src/components/Avatar/__snapshots__/Avatar.test.tsx.snap +0 -284
  587. package/src/components/Blob/Blob.css +0 -288
  588. package/src/components/Blob/Blob.stories.tsx +0 -53
  589. package/src/components/Blob/Blob.test.tsx +0 -18
  590. package/src/components/Blob/Blob.tsx +0 -26
  591. package/src/components/Blob/__snapshots__/Blob.test.tsx.snap +0 -80
  592. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.css +0 -40
  593. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.stories.tsx +0 -58
  594. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.test.tsx +0 -53
  595. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.tsx +0 -74
  596. package/src/components/BlockedMemoriBadge/__snapshots__/BlockedMemoriBadge.test.tsx.snap +0 -226
  597. package/src/components/ChangeMode/ChangeMode.css +0 -24
  598. package/src/components/ChangeMode/ChangeMode.stories.tsx +0 -50
  599. package/src/components/ChangeMode/ChangeMode.test.tsx +0 -24
  600. package/src/components/ChangeMode/ChangeMode.tsx +0 -52
  601. package/src/components/ChangeMode/__snapshots__/ChangeMode.test.tsx.snap +0 -77
  602. package/src/components/Chat/Chat.css +0 -402
  603. package/src/components/Chat/Chat.stories.tsx +0 -1687
  604. package/src/components/Chat/Chat.test.tsx +0 -381
  605. package/src/components/Chat/Chat.tsx +0 -779
  606. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +0 -10134
  607. package/src/components/ChatBubble/ChatBubble.css +0 -570
  608. package/src/components/ChatBubble/ChatBubble.stories.tsx +0 -1185
  609. package/src/components/ChatBubble/ChatBubble.test.tsx +0 -486
  610. package/src/components/ChatBubble/ChatBubble.tsx +0 -887
  611. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +0 -9849
  612. package/src/components/ChatHistoryDrawer/ChatHistory.css +0 -848
  613. package/src/components/ChatHistoryDrawer/ChatHistory.stories.tsx +0 -449
  614. package/src/components/ChatHistoryDrawer/ChatHistory.test.tsx +0 -116
  615. package/src/components/ChatHistoryDrawer/ChatHistory.tsx +0 -1295
  616. package/src/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -367
  617. package/src/components/ChatHistoryDrawer/ChatResumeDrawer.tsx +0 -295
  618. package/src/components/ChatHistoryDrawer/__snapshots__/ChatHistory.test.tsx.snap +0 -24
  619. package/src/components/ChatInputs/ChatInputs.css +0 -490
  620. package/src/components/ChatInputs/ChatInputs.stories.tsx +0 -254
  621. package/src/components/ChatInputs/ChatInputs.tsx +0 -510
  622. package/src/components/ChatTextArea/ChatTextArea.css +0 -233
  623. package/src/components/ChatTextArea/ChatTextArea.stories.tsx +0 -55
  624. package/src/components/ChatTextArea/ChatTextArea.test.tsx +0 -28
  625. package/src/components/ChatTextArea/ChatTextArea.tsx +0 -175
  626. package/src/components/ChatTextArea/__snapshots__/ChatTextArea.test.tsx.snap +0 -74
  627. package/src/components/CompletionProviderStatus/CompletionProviderStatus.css +0 -36
  628. package/src/components/CompletionProviderStatus/CompletionProviderStatus.stories.tsx +0 -296
  629. package/src/components/CompletionProviderStatus/CompletionProviderStatus.test.tsx +0 -31
  630. package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +0 -230
  631. package/src/components/CompletionProviderStatus/__snapshots__/CompletionProviderStatus.test.tsx.snap +0 -111
  632. package/src/components/ContentPreviewModal/ContentPreviewModal.css +0 -173
  633. package/src/components/ContentPreviewModal/ContentPreviewModal.tsx +0 -71
  634. package/src/components/ContentPreviewModal/index.ts +0 -2
  635. package/src/components/CustomGLBModelViewer/ModelViewer.css +0 -11
  636. package/src/components/CustomGLBModelViewer/ModelViewer.stories.tsx +0 -58
  637. package/src/components/CustomGLBModelViewer/ModelViewer.test.tsx +0 -13
  638. package/src/components/CustomGLBModelViewer/ModelViewer.tsx +0 -37
  639. package/src/components/CustomGLBModelViewer/__snapshots__/ModelViewer.test.tsx.snap +0 -20
  640. package/src/components/DateSelector/DateSelector.css +0 -156
  641. package/src/components/DateSelector/DateSelector.stories.tsx +0 -47
  642. package/src/components/DateSelector/DateSelector.test.tsx +0 -149
  643. package/src/components/DateSelector/DateSelector.tsx +0 -258
  644. package/src/components/DateSelector/__snapshots__/DateSelector.test.tsx.snap +0 -1954
  645. package/src/components/DrawerFooter/DrawerFooter.css +0 -62
  646. package/src/components/DrawerFooter/DrawerFooter.tsx +0 -58
  647. package/src/components/ErrorBoundary/ErrorBoundary.tsx +0 -54
  648. package/src/components/ExpertsDrawer/ExpertsDrawer.css +0 -64
  649. package/src/components/ExpertsDrawer/ExpertsDrawer.stories.tsx +0 -54
  650. package/src/components/ExpertsDrawer/ExpertsDrawer.test.tsx +0 -53
  651. package/src/components/ExpertsDrawer/ExpertsDrawer.tsx +0 -72
  652. package/src/components/ExpertsDrawer/__snapshots__/ExpertsDrawer.test.tsx.snap +0 -10
  653. package/src/components/ExportHistoryButton/ExportHistoryButton.css +0 -22
  654. package/src/components/FeedbackButtons/FeedbackButtons.css +0 -109
  655. package/src/components/FeedbackButtons/FeedbackButtons.stories.tsx +0 -55
  656. package/src/components/FeedbackButtons/FeedbackButtons.test.tsx +0 -11
  657. package/src/components/FeedbackButtons/FeedbackButtons.tsx +0 -179
  658. package/src/components/FeedbackButtons/__snapshots__/FeedbackButtons.test.tsx.snap +0 -55
  659. package/src/components/FilePreview/FilePreview.css +0 -374
  660. package/src/components/FilePreview/FilePreview.stories.tsx +0 -66
  661. package/src/components/FilePreview/FilePreview.test.tsx +0 -26
  662. package/src/components/FilePreview/FilePreview.tsx +0 -286
  663. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +0 -254
  664. package/src/components/Header/ChatConsumptionDropdown.test.tsx +0 -154
  665. package/src/components/Header/ChatConsumptionDropdown.tsx +0 -353
  666. package/src/components/Header/Header.css +0 -746
  667. package/src/components/Header/Header.stories.tsx +0 -404
  668. package/src/components/Header/Header.test.tsx +0 -399
  669. package/src/components/Header/Header.tsx +0 -1235
  670. package/src/components/Header/__snapshots__/Header.test.tsx.snap +0 -2016
  671. package/src/components/KnownFacts/KnownFacts.css +0 -58
  672. package/src/components/KnownFacts/KnownFacts.stories.tsx +0 -83
  673. package/src/components/KnownFacts/KnownFacts.test.tsx +0 -57
  674. package/src/components/KnownFacts/KnownFacts.tsx +0 -394
  675. package/src/components/KnownFacts/__snapshots__/KnownFacts.test.tsx.snap +0 -43
  676. package/src/components/LoginDrawer/LoginDrawer.css +0 -1741
  677. package/src/components/LoginDrawer/LoginDrawer.stories.tsx +0 -105
  678. package/src/components/LoginDrawer/LoginDrawer.test.tsx +0 -199
  679. package/src/components/LoginDrawer/LoginDrawer.tsx +0 -781
  680. package/src/components/LoginDrawer/__snapshots__/LoginDrawer.test.tsx.snap +0 -169
  681. package/src/components/MediaWidget/DocumentCard.test.tsx +0 -45
  682. package/src/components/MediaWidget/DocumentCard.tsx +0 -19
  683. package/src/components/MediaWidget/MediaItemWidget.css +0 -1444
  684. package/src/components/MediaWidget/MediaItemWidget.stories.tsx +0 -423
  685. package/src/components/MediaWidget/MediaItemWidget.test.tsx +0 -248
  686. package/src/components/MediaWidget/MediaItemWidget.tsx +0 -983
  687. package/src/components/MediaWidget/MediaItemWidget.types.ts +0 -65
  688. package/src/components/MediaWidget/MediaItemWidget.utils.test.ts +0 -367
  689. package/src/components/MediaWidget/MediaItemWidget.utils.ts +0 -227
  690. package/src/components/MediaWidget/MediaPreviewModal.test.tsx +0 -271
  691. package/src/components/MediaWidget/MediaPreviewModal.tsx +0 -425
  692. package/src/components/MediaWidget/MediaWidget.css +0 -131
  693. package/src/components/MediaWidget/MediaWidget.stories.tsx +0 -319
  694. package/src/components/MediaWidget/MediaWidget.test.tsx +0 -41
  695. package/src/components/MediaWidget/MediaWidget.tsx +0 -97
  696. package/src/components/MediaWidget/__snapshots__/DocumentCard.test.tsx.snap +0 -24
  697. package/src/components/MediaWidget/__snapshots__/MediaItemWidget.test.tsx.snap +0 -608
  698. package/src/components/MediaWidget/__snapshots__/MediaWidget.test.tsx.snap +0 -140
  699. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +0 -265
  700. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +0 -159
  701. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +0 -240
  702. package/src/components/MemoriArtifactSystem/components/ArtifactActions/CopyButton.stories.tsx +0 -30
  703. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +0 -464
  704. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +0 -91
  705. package/src/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.ts +0 -620
  706. package/src/components/MemoriArtifactSystem/components/ArtifactActions/index.ts +0 -9
  707. package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +0 -500
  708. package/src/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.tsx +0 -90
  709. package/src/components/MemoriArtifactSystem/components/ArtifactActions/types.ts +0 -73
  710. package/src/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.ts +0 -454
  711. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +0 -1100
  712. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +0 -440
  713. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +0 -20
  714. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.tsx +0 -63
  715. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +0 -283
  716. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +0 -397
  717. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +0 -354
  718. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +0 -159
  719. package/src/components/MemoriArtifactSystem/context/ArtifactContext.tsx +0 -80
  720. package/src/components/MemoriArtifactSystem/types/artifact.types.ts +0 -18
  721. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.test.tsx +0 -308
  722. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx +0 -384
  723. package/src/components/MemoriWidget/MemoriWidget.css +0 -165
  724. package/src/components/MemoriWidget/MemoriWidget.stories.tsx +0 -295
  725. package/src/components/MemoriWidget/MemoriWidget.tsx +0 -4059
  726. package/src/components/MicrophoneButton/MicrophoneButton.css +0 -194
  727. package/src/components/MicrophoneButton/MicrophoneButton.stories.tsx +0 -52
  728. package/src/components/MicrophoneButton/MicrophoneButton.tsx +0 -135
  729. package/src/components/MobileSessionPanel/MobileSessionPanel.css +0 -437
  730. package/src/components/MobileSessionPanel/MobileSessionPanel.tsx +0 -808
  731. package/src/components/PositionPopover/PositionPopover.css +0 -219
  732. package/src/components/PositionPopover/PositionPopover.stories.tsx +0 -37
  733. package/src/components/PositionPopover/PositionPopover.tsx +0 -367
  734. package/src/components/PoweredBy/PoweredBy.css +0 -57
  735. package/src/components/PoweredBy/PoweredBy.stories.tsx +0 -75
  736. package/src/components/PoweredBy/PoweredBy.test.tsx +0 -15
  737. package/src/components/PoweredBy/PoweredBy.tsx +0 -36
  738. package/src/components/PoweredBy/__snapshots__/PoweredBy.test.tsx.snap +0 -287
  739. package/src/components/SendOnEnterMenu/SendOnEnterMenu.css +0 -47
  740. package/src/components/SendOnEnterMenu/SendOnEnterMenu.stories.tsx +0 -58
  741. package/src/components/SendOnEnterMenu/SendOnEnterMenu.test.tsx +0 -17
  742. package/src/components/SendOnEnterMenu/SendOnEnterMenu.tsx +0 -48
  743. package/src/components/SendOnEnterMenu/__snapshots__/SendOnEnterMenu.test.tsx.snap +0 -105
  744. package/src/components/SettingsDrawer/SettingsDrawer.css +0 -24
  745. package/src/components/SettingsDrawer/SettingsDrawer.stories.tsx +0 -94
  746. package/src/components/SettingsDrawer/SettingsDrawer.test.tsx +0 -202
  747. package/src/components/SettingsDrawer/SettingsDrawer.tsx +0 -247
  748. package/src/components/SettingsDrawer/__snapshots__/SettingsDrawer.test.tsx.snap +0 -52
  749. package/src/components/ShareButton/ShareButton.css +0 -319
  750. package/src/components/ShareButton/ShareButton.stories.tsx +0 -103
  751. package/src/components/ShareButton/ShareButton.test.tsx +0 -53
  752. package/src/components/ShareButton/ShareButton.tsx +0 -749
  753. package/src/components/ShareButton/__snapshots__/ShareButton.test.tsx.snap +0 -739
  754. package/src/components/Snippet/Snippet.css +0 -178
  755. package/src/components/Snippet/Snippet.stories.tsx +0 -286
  756. package/src/components/Snippet/Snippet.test.tsx +0 -176
  757. package/src/components/Snippet/Snippet.tsx +0 -148
  758. package/src/components/Snippet/__snapshots__/Snippet.test.tsx.snap +0 -619
  759. package/src/components/StartPanel/StartPanel.css +0 -896
  760. package/src/components/StartPanel/StartPanel.stories.tsx +0 -394
  761. package/src/components/StartPanel/StartPanel.test.tsx +0 -371
  762. package/src/components/StartPanel/StartPanel.tsx +0 -745
  763. package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +0 -3347
  764. package/src/components/Typing/Typing.stories.tsx +0 -130
  765. package/src/components/Typing/Typing.test.tsx +0 -62
  766. package/src/components/Typing/Typing.tsx +0 -232
  767. package/src/components/Typing/__snapshots__/Typing.test.tsx.snap +0 -173
  768. package/src/components/UploadButton/UploadButton.css +0 -573
  769. package/src/components/UploadButton/UploadButton.stories.tsx +0 -510
  770. package/src/components/UploadButton/UploadButton.test.tsx +0 -14
  771. package/src/components/UploadButton/UploadButton.tsx +0 -705
  772. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +0 -585
  773. package/src/components/UploadButton/UploadImages/UploadImages.tsx +0 -554
  774. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +0 -160
  775. package/src/components/VenueWidget/VenueWidget.css +0 -223
  776. package/src/components/VenueWidget/VenueWidget.stories.tsx +0 -69
  777. package/src/components/VenueWidget/VenueWidget.test.tsx +0 -49
  778. package/src/components/VenueWidget/VenueWidget.tsx +0 -578
  779. package/src/components/VenueWidget/__snapshots__/VenueWidget.test.tsx.snap +0 -776
  780. package/src/components/WhyThisAnswer/WhyThisAnswer.css +0 -171
  781. package/src/components/WhyThisAnswer/WhyThisAnswer.stories.tsx +0 -288
  782. package/src/components/WhyThisAnswer/WhyThisAnswer.test.tsx +0 -245
  783. package/src/components/WhyThisAnswer/WhyThisAnswer.tsx +0 -245
  784. package/src/components/WhyThisAnswer/__snapshots__/WhyThisAnswer.test.tsx.snap +0 -57
  785. package/src/components/icons/GasStation.tsx +0 -36
  786. package/src/components/layouts/Chat.test.tsx +0 -41
  787. package/src/components/layouts/Chat.tsx +0 -428
  788. package/src/components/layouts/FullBody/FullBody.stories.tsx +0 -110
  789. package/src/components/layouts/FullPage.test.tsx +0 -66
  790. package/src/components/layouts/FullPage.tsx +0 -382
  791. package/src/components/layouts/HiddenChat.test.tsx +0 -41
  792. package/src/components/layouts/HiddenChat.tsx +0 -366
  793. package/src/components/layouts/Totem/Totem.stories.tsx +0 -131
  794. package/src/components/layouts/Totem.test.tsx +0 -41
  795. package/src/components/layouts/Totem.tsx +0 -53
  796. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.stories.tsx +0 -115
  797. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.test.tsx +0 -43
  798. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.tsx +0 -194
  799. package/src/components/layouts/WebsiteAssistant/__snapshots__/WebsiteAssistant.test.tsx.snap +0 -80
  800. package/src/components/layouts/WebsiteAssistant/website-assistant.css +0 -793
  801. package/src/components/layouts/ZoomedFullBody/ZoomedFullBody.stories.tsx +0 -131
  802. package/src/components/layouts/ZoomedFullBody.test.tsx +0 -41
  803. package/src/components/layouts/ZoomedFullBody.tsx +0 -381
  804. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +0 -753
  805. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +0 -1487
  806. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +0 -700
  807. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +0 -797
  808. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +0 -744
  809. package/src/components/layouts/chat.css +0 -658
  810. package/src/components/layouts/fullpage.css +0 -426
  811. package/src/components/layouts/hidden-chat.css +0 -636
  812. package/src/components/layouts/layouts.stories.tsx +0 -232
  813. package/src/components/layouts/totem.css +0 -230
  814. package/src/components/layouts/zoomed-full-body.css +0 -374
  815. package/src/context/visemeContext.tsx +0 -384
  816. package/src/context/widgetSurfaceContext.tsx +0 -14
  817. package/src/helpers/chatPdfExport.ts +0 -547
  818. package/src/helpers/configuration.ts +0 -42
  819. package/src/helpers/constants.ts +0 -244
  820. package/src/helpers/credits.ts +0 -54
  821. package/src/helpers/error.test.ts +0 -29
  822. package/src/helpers/error.ts +0 -278
  823. package/src/helpers/imageCompression.ts +0 -230
  824. package/src/helpers/llmUsage.ts +0 -328
  825. package/src/helpers/markedExtendedTables.js +0 -217
  826. package/src/helpers/media.test.ts +0 -133
  827. package/src/helpers/media.ts +0 -54
  828. package/src/helpers/message.test.ts +0 -126
  829. package/src/helpers/message.ts +0 -204
  830. package/src/helpers/nats/getNatsConfig.ts +0 -145
  831. package/src/helpers/nats/isSessionExpiredError.test.ts +0 -38
  832. package/src/helpers/nats/isSessionExpiredError.ts +0 -51
  833. package/src/helpers/nats/useNats.ts +0 -124
  834. package/src/helpers/nats/useNatsSession.ts +0 -394
  835. package/src/helpers/piiDetection.test.ts +0 -186
  836. package/src/helpers/piiDetection.ts +0 -91
  837. package/src/helpers/positionPopover.test.ts +0 -33
  838. package/src/helpers/positionPopover.ts +0 -13
  839. package/src/helpers/sanitizer.ts +0 -17
  840. package/src/helpers/statistics.ts +0 -58
  841. package/src/helpers/stt/useSTT.ts +0 -515
  842. package/src/helpers/translations.ts +0 -39
  843. package/src/helpers/tts/ttsVoiceUtility.ts +0 -275
  844. package/src/helpers/tts/useTTS.ts +0 -621
  845. package/src/helpers/usePressTooltip.ts +0 -29
  846. package/src/helpers/utils.test.ts +0 -321
  847. package/src/helpers/utils.ts +0 -588
  848. package/src/helpers/venue.ts +0 -36
  849. package/src/i18n.ts +0 -41
  850. package/src/icons/FacebookIcon.tsx +0 -23
  851. package/src/icons/LinkedinIcon.tsx +0 -23
  852. package/src/icons/MemoriIcon.tsx +0 -80
  853. package/src/icons/TelegramIcon.tsx +0 -19
  854. package/src/icons/TwitterIcon.tsx +0 -8
  855. package/src/icons/WhatsappIcon.tsx +0 -23
  856. package/src/icons/artifacts/DocumentIcon.tsx +0 -19
  857. package/src/icons/artifacts/HtmlIcon.tsx +0 -38
  858. package/src/icons/artifacts/JavascriptIcon.tsx +0 -19
  859. package/src/icons/artifacts/MarkdownIcon.tsx +0 -19
  860. package/src/icons/artifacts/PythonIcon.tsx +0 -17
  861. package/src/icons/artifacts/SvgIcon.tsx +0 -34
  862. package/src/icons/artifacts/XmlIcon.tsx +0 -34
  863. package/src/icons/artifacts/cssIcon.tsx +0 -34
  864. package/src/index.stories.tsx +0 -226
  865. package/src/index.test.tsx +0 -156
  866. package/src/index.tsx +0 -595
  867. package/src/locales/de.json +0 -738
  868. package/src/locales/en.json +0 -812
  869. package/src/locales/es.json +0 -739
  870. package/src/locales/fr.json +0 -740
  871. package/src/locales/it.json +0 -808
  872. package/src/mocks/data.ts +0 -790
  873. package/src/styles.css +0 -244
  874. package/src/testUtils.tsx +0 -42
  875. package/src/types/integration.test.ts +0 -32
  876. package/src/types/integration.ts +0 -31
  877. package/src/types/layout.ts +0 -50
  878. package/src/version.ts +0 -2
@@ -1,808 +0,0 @@
1
- import React, { useEffect, useMemo, useRef, useState } from 'react';
2
- import {
3
- Brain,
4
- Camera,
5
- ChevronLeft,
6
- ChevronRight,
7
- LogIn,
8
- LogOut,
9
- } from 'lucide-react';
10
- import { Button, createAlertOptions, useAlertManager } from '@memori.ai/ui';
11
- import { useTranslation } from 'react-i18next';
12
- import { Message, User, Venue } from '@memori.ai/memori-api-client/dist/types';
13
- import { getErrori18nKey } from '../../helpers/error';
14
- import { imgMimeTypes } from '../../helpers/utils';
15
- import GasStation from '../icons/GasStation';
16
- import { ChatConsumptionContent } from '../Header/ChatConsumptionDropdown';
17
- import { PositionPopoverContent } from '../PositionPopover/PositionPopover';
18
- type SessionAction = {
19
- key: string;
20
- icon: React.ReactNode;
21
- title: string;
22
- subtitle?: string;
23
- onClick?: () => void;
24
- trailing?: React.ReactNode;
25
- view?: 'location' | 'knownFacts' | 'share';
26
- disabled?: boolean;
27
- };
28
-
29
- export interface MobileSessionPanelProps {
30
- open: boolean;
31
- onClose: () => void;
32
- presentation?: 'sheet' | 'popover';
33
- title: string;
34
- loginToken?: string;
35
- userName: string;
36
- userInitial?: string;
37
- user?: User;
38
- apiClient?: {
39
- backend?: {
40
- uploadAsset?: (
41
- name: string,
42
- payload: string,
43
- token: string
44
- ) => Promise<any>;
45
- pwlUpdateUser?: (
46
- token: string,
47
- userID: string,
48
- user: Partial<User>
49
- ) => Promise<any>;
50
- };
51
- };
52
- userEmail?: string;
53
- birthDate?: string;
54
- avatarURL?: string;
55
- actions: SessionAction[];
56
- logoutLabel?: string;
57
- onLogout?: () => void;
58
- onKnownFactsOpen?: () => void;
59
- onLocationEnable?: () => void;
60
- onLocationDisable?: () => void;
61
- knownFactsPageTitle?: string;
62
- sharePageTitle?: string;
63
- locationPageTitle?: string;
64
- backLabel?: string;
65
- locationStatusLabel?: string;
66
- locationPlace?: string;
67
- locationUnknownLabel?: string;
68
- locationEnableLabel?: string;
69
- locationDisableLabel?: string;
70
- venue?: Venue;
71
- setVenue?: (venue?: Venue) => void;
72
- knownFactsDescription?: string;
73
- knownFactsCtaLabel?: string;
74
- knownFactsCountLabel?: string;
75
- shareContent?: React.ReactNode;
76
- knownFactsDisabled?: boolean;
77
- knownFactsHint?: string;
78
- showSessionInfo?: boolean;
79
- history?: Message[];
80
- aiUsageTitle?: string;
81
- isLoggedIn?: boolean;
82
- loginLabel?: string;
83
- onLogin?: () => void;
84
- }
85
-
86
- type ImpactMetricType = 'energy' | 'co2' | 'water';
87
-
88
- type LlmUsageEnergyImpact = {
89
- energy?: number | { source?: string; parsedValue?: number };
90
- gwp?: number | { source?: string; parsedValue?: number };
91
- wcf?: number | { source?: string; parsedValue?: number };
92
- };
93
-
94
- const getMetricValue = (
95
- metric?: number | { source?: string; parsedValue?: number }
96
- ): number | undefined => {
97
- if (typeof metric === 'number' && Number.isFinite(metric)) return metric;
98
- if (!metric || typeof metric !== 'object') return undefined;
99
- if (
100
- typeof metric.parsedValue === 'number' &&
101
- Number.isFinite(metric.parsedValue)
102
- ) {
103
- return metric.parsedValue;
104
- }
105
- if (typeof metric.source === 'string') {
106
- const parsed = Number(metric.source);
107
- if (Number.isFinite(parsed)) return parsed;
108
- }
109
- return undefined;
110
- };
111
-
112
- const formatMetricValue = (value: number, locale: string): string =>
113
- new Intl.NumberFormat(locale, {
114
- minimumFractionDigits: 0,
115
- maximumFractionDigits: Math.abs(value) >= 1 ? 3 : 4,
116
- }).format(value);
117
-
118
- const formatImpactInReadableUnit = (
119
- value: number,
120
- metricType: ImpactMetricType,
121
- locale: string
122
- ): string => {
123
- const absValue = Math.abs(value);
124
-
125
- if (metricType === 'energy') {
126
- if (absValue >= 1) return `${formatMetricValue(value, locale)} kWh`;
127
- const wh = value * 1000;
128
- if (Math.abs(wh) >= 1) return `${formatMetricValue(wh, locale)} Wh`;
129
- return `${formatMetricValue(wh * 1000, locale)} mWh`;
130
- }
131
-
132
- if (metricType === 'co2') {
133
- if (absValue >= 1) return `${formatMetricValue(value, locale)} kg`;
134
- const g = value * 1000;
135
- if (Math.abs(g) >= 1) return `${formatMetricValue(g, locale)} g`;
136
- return `${formatMetricValue(g * 1000, locale)} mg`;
137
- }
138
-
139
- if (absValue >= 1) return `${formatMetricValue(value, locale)} L`;
140
- const ml = value * 1000;
141
- if (Math.abs(ml) >= 1) return `${formatMetricValue(ml, locale)} mL`;
142
- return `${formatMetricValue(ml * 1000, locale)} μL`;
143
- };
144
-
145
- const MobileSessionPanel: React.FC<MobileSessionPanelProps> = ({
146
- open,
147
- onClose,
148
- presentation = 'sheet',
149
- title,
150
- loginToken,
151
- userName,
152
- user,
153
- apiClient,
154
- userEmail,
155
- birthDate,
156
- avatarURL,
157
- actions,
158
- logoutLabel = 'Log out',
159
- onLogout,
160
- onKnownFactsOpen,
161
- onLocationEnable,
162
- onLocationDisable,
163
- knownFactsPageTitle = 'Known facts',
164
- sharePageTitle = 'Share',
165
- locationPageTitle = 'Location tracking',
166
- backLabel = 'Back',
167
- locationStatusLabel = 'Status',
168
- locationPlace,
169
- locationUnknownLabel = 'Unknown position',
170
- locationEnableLabel = 'Use current position',
171
- locationDisableLabel = 'Disable location sharing',
172
- knownFactsDescription,
173
- knownFactsCtaLabel = 'Open full known facts',
174
- knownFactsCountLabel,
175
- shareContent,
176
- knownFactsDisabled = false,
177
- knownFactsHint,
178
- showSessionInfo = false,
179
- history = [],
180
- aiUsageTitle,
181
- isLoggedIn = false,
182
- loginLabel = 'Log in',
183
- onLogin,
184
- venue,
185
- setVenue,
186
- }) => {
187
- const panelRef = useRef<HTMLElement>(null);
188
- const dialogRef = useRef<HTMLDivElement>(null);
189
- const panelTitleId = 'mobile-session-panel-title';
190
- const touchStartYRef = useRef(0);
191
- const [dragOffset, setDragOffset] = useState(0);
192
- const [activeView, setActiveView] = useState<
193
- 'session' | 'location' | 'knownFacts' | 'share' | 'aiUsage'
194
- >('session');
195
- const { uploadAsset, pwlUpdateUser } = apiClient?.backend || {};
196
- const { add } = useAlertManager();
197
- const { t, i18n } = useTranslation();
198
- const currentLocale = i18n.language || navigator.language || 'en';
199
- const sustainabilityTotals = useMemo(() => {
200
- const totals = { energy: 0, gwp: 0, wcf: 0 };
201
- history.forEach(line => {
202
- const energyImpact = (
203
- line as Message & {
204
- llmUsage?: { energyImpact?: LlmUsageEnergyImpact };
205
- }
206
- ).llmUsage?.energyImpact;
207
- if (!energyImpact) return;
208
- totals.energy += getMetricValue(energyImpact.energy) ?? 0;
209
- totals.gwp += getMetricValue(energyImpact.gwp) ?? 0;
210
- totals.wcf += getMetricValue(energyImpact.wcf) ?? 0;
211
- });
212
- return totals;
213
- }, [history]);
214
- const hasSustainabilityData = useMemo(
215
- () =>
216
- history.some(
217
- line =>
218
- !!(
219
- line as Message & {
220
- llmUsage?: { energyImpact?: LlmUsageEnergyImpact };
221
- }
222
- ).llmUsage?.energyImpact
223
- ),
224
- [history]
225
- );
226
- const hasChatConsumptionData = useMemo(
227
- () =>
228
- history.some(
229
- line =>
230
- !!(
231
- line as Message & {
232
- llmUsage?: {
233
- energyImpact?: LlmUsageEnergyImpact;
234
- };
235
- }
236
- ).llmUsage
237
- ),
238
- [history]
239
- );
240
- const aiUsageSubtitle = hasSustainabilityData
241
- ? `${formatImpactInReadableUnit(
242
- sustainabilityTotals.energy,
243
- 'energy',
244
- currentLocale
245
- )} • ${formatImpactInReadableUnit(
246
- sustainabilityTotals.gwp,
247
- 'co2',
248
- currentLocale
249
- )}`
250
- : t('widget.noData', { defaultValue: 'Nessun dato disponibile' });
251
- const resolvedKnownFactsHint =
252
- knownFactsHint || t('widget.knownFactsHint') || 'What I remember about you';
253
- const resolvedAiUsageTitle =
254
- aiUsageTitle || t('widget.aiConsumption') || 'AI usage';
255
- useEffect(() => {
256
- if (!open) return;
257
- const onEscape = (event: KeyboardEvent) => {
258
- if (event.key === 'Escape') onClose();
259
- };
260
- document.addEventListener('keydown', onEscape);
261
- return () => document.removeEventListener('keydown', onEscape);
262
- }, [open, onClose]);
263
-
264
- useEffect(() => {
265
- if (!open) return;
266
-
267
- const previouslyFocused = document.activeElement as HTMLElement | null;
268
- const root = dialogRef.current;
269
- if (!root) return;
270
-
271
- const handleKeyDown = (event: KeyboardEvent) => {
272
- if (event.key !== 'Tab') return;
273
-
274
- const focusableElements = root.querySelectorAll<HTMLElement>(
275
- 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
276
- );
277
- if (!focusableElements.length) return;
278
-
279
- const first = focusableElements[0];
280
- const last = focusableElements[focusableElements.length - 1];
281
- const active = document.activeElement as HTMLElement | null;
282
-
283
- if (event.shiftKey && active === first) {
284
- event.preventDefault();
285
- last.focus();
286
- } else if (!event.shiftKey && active === last) {
287
- event.preventDefault();
288
- first.focus();
289
- }
290
- };
291
-
292
- document.addEventListener('keydown', handleKeyDown);
293
- panelRef.current?.focus();
294
-
295
- return () => {
296
- document.removeEventListener('keydown', handleKeyDown);
297
- previouslyFocused?.focus();
298
- };
299
- }, [open]);
300
-
301
- useEffect(() => {
302
- if (open) setActiveView('session');
303
- }, [open]);
304
-
305
- if (!open) return null;
306
-
307
- const updateAvatar = async (avatar: any) => {
308
- if (!uploadAsset || !pwlUpdateUser) {
309
- add(
310
- createAlertOptions({
311
- description: t('login.avatarUploadError'),
312
- severity: 'error',
313
- })
314
- );
315
- return;
316
- }
317
- if (avatar && loginToken) {
318
- const reader = new FileReader();
319
- reader.onload = async e => {
320
- try {
321
- const { asset: avatarAsset, ...resp } = await uploadAsset(
322
- avatar.name ?? 'avatar',
323
- e.target?.result as string,
324
- loginToken ?? ''
325
- );
326
-
327
- if (resp.resultCode !== 0) {
328
- console.error('[updateAvatar] Upload failed:', resp);
329
- add(
330
- createAlertOptions({
331
- description: t(getErrori18nKey(resp.resultCode)),
332
- severity: 'error',
333
- })
334
- );
335
- } else if (avatarAsset) {
336
- let newUser: Partial<User> = {
337
- userID: user?.userID ?? '',
338
- avatarURL: avatarAsset.assetURL,
339
- };
340
-
341
- const { ...updateResp } = await pwlUpdateUser(
342
- loginToken ?? '',
343
- user?.userID ?? '',
344
- newUser
345
- );
346
-
347
- if (updateResp.resultCode !== 0) {
348
- add(
349
- createAlertOptions({
350
- description: t(getErrori18nKey(updateResp.resultCode)),
351
- severity: 'error',
352
- })
353
- );
354
- } else {
355
- add(
356
- createAlertOptions({
357
- description: t('login.avatarUploadSuccess'),
358
- severity: 'success',
359
- })
360
- );
361
- }
362
- }
363
- } catch (e) {
364
- let err = e as Error;
365
- console.error('[updateAvatar] Error:', err);
366
-
367
- if (err?.message)
368
- add(
369
- createAlertOptions({
370
- description: err.message,
371
- severity: 'error',
372
- })
373
- );
374
- }
375
- };
376
- reader.readAsDataURL(avatar as Blob);
377
- } else {
378
- console.error('[updateAvatar] Missing avatar or login token', {
379
- avatar,
380
- loginToken,
381
- });
382
- add(
383
- createAlertOptions({
384
- description: t('login.avatarUploadError'),
385
- severity: 'error',
386
- })
387
- );
388
- }
389
- };
390
-
391
- const isPopover = presentation === 'popover';
392
- const isLocationEnabled = Boolean(
393
- locationPlace &&
394
- locationPlace.trim().length > 0 &&
395
- locationPlace !== locationUnknownLabel
396
- );
397
- const visibleActions = actions.filter(action => {
398
- const normalizedKey = action.key.toLowerCase();
399
- const normalizedTitle = action.title.toLowerCase();
400
- const isKnownFactsAction = action.view === 'knownFacts';
401
- const isAudioAction =
402
- normalizedKey.includes('audio') ||
403
- normalizedTitle.includes('audio') ||
404
- normalizedTitle.includes('sound');
405
-
406
- return !isKnownFactsAction && !isAudioAction;
407
- });
408
-
409
- return (
410
- <div
411
- ref={dialogRef}
412
- className={`memori-mobile-session-panel--overlay ${
413
- isPopover ? 'memori-mobile-session-panel--overlay-popover' : ''
414
- }`}
415
- role="presentation"
416
- >
417
- {!isPopover && (
418
- <button
419
- type="button"
420
- className="memori-mobile-session-panel--backdrop"
421
- aria-label={String(t('close', { defaultValue: 'Close' }))}
422
- onClick={onClose}
423
- />
424
- )}
425
- <section
426
- ref={panelRef}
427
- tabIndex={-1}
428
- className={`memori-mobile-session-panel ${
429
- isPopover ? 'memori-mobile-session-panel--popover' : ''
430
- }`}
431
- role="dialog"
432
- aria-modal="true"
433
- aria-labelledby={panelTitleId}
434
- onClick={event => event.stopPropagation()}
435
- onTouchStart={
436
- isPopover
437
- ? undefined
438
- : event => {
439
- touchStartYRef.current = event.touches[0].clientY;
440
- setDragOffset(0);
441
- }
442
- }
443
- onTouchMove={
444
- isPopover
445
- ? undefined
446
- : event => {
447
- const delta = event.touches[0].clientY - touchStartYRef.current;
448
- if (delta > 0) setDragOffset(delta);
449
- }
450
- }
451
- onTouchEnd={
452
- isPopover
453
- ? undefined
454
- : () => {
455
- if (dragOffset > 90) {
456
- onClose();
457
- }
458
- setDragOffset(0);
459
- }
460
- }
461
- style={{
462
- transform: dragOffset ? `translateY(${dragOffset}px)` : undefined,
463
- }}
464
- >
465
- {!isPopover && <div className="memori-mobile-session-panel--handle" />}
466
- {activeView === 'session' ? (
467
- <>
468
- {isLoggedIn && (
469
- <div className="memori-mobile-session-panel--user">
470
- <div className="memori-dropdown--avatar-wrap">
471
- {avatarURL ? (
472
- <>
473
- <img
474
- src={avatarURL}
475
- alt={userName || userEmail}
476
- className="memori-dropdown--avatar"
477
- />
478
- <span
479
- className="memori-dropdown--avatar-overlay"
480
- aria-hidden
481
- >
482
- <Camera size={20} strokeWidth={2} />
483
- </span>
484
- <label
485
- htmlFor="mobile-session-avatar-upload"
486
- className="sr-only"
487
- >
488
- {t('login.changeAvatar', {
489
- defaultValue: 'Change profile picture',
490
- })}
491
- </label>
492
- <input
493
- type="file"
494
- name="avatar"
495
- id="mobile-session-avatar-upload"
496
- className="memori-dropdown--avatar-input"
497
- onChange={e =>
498
- updateAvatar(
499
- e.target.files?.[0] ?? (null as unknown as Blob)
500
- )
501
- }
502
- accept={imgMimeTypes.join(', ')}
503
- />
504
- </>
505
- ) : (
506
- <>
507
- <div className="memori-dropdown--avatar-placeholder">
508
- <span className="memori-dropdown--avatar-initial">
509
- {(userName || userEmail || 'U')
510
- .charAt(0)
511
- .toUpperCase()}
512
- </span>
513
- <span
514
- className="memori-dropdown--avatar-overlay"
515
- aria-hidden
516
- >
517
- <Camera size={20} strokeWidth={2} />
518
- </span>
519
- <label
520
- htmlFor="mobile-session-avatar-upload-placeholder"
521
- className="sr-only"
522
- >
523
- {t('login.changeAvatar', {
524
- defaultValue: 'Change profile picture',
525
- })}
526
- </label>
527
- <input
528
- type="file"
529
- name="avatar"
530
- id="mobile-session-avatar-upload-placeholder"
531
- className="memori-dropdown--avatar-input"
532
- onChange={e =>
533
- updateAvatar(
534
- e.target.files?.[0] ?? (null as unknown as Blob)
535
- )
536
- }
537
- accept={imgMimeTypes.join(', ')}
538
- />
539
- </div>
540
- </>
541
- )}
542
- </div>
543
- <div className="memori-dropdown--user-details">
544
- <h3 className="memori-dropdown--user-name">{userName}</h3>
545
- <p className="memori-dropdown--user-email">{userEmail}</p>
546
- <div className="memori-dropdown--user-badge">
547
- {birthDate
548
- ? new Date(birthDate).toLocaleDateString()
549
- : 'Not set'}
550
- </div>
551
- </div>
552
- </div>
553
- )}
554
- <h2
555
- id={panelTitleId}
556
- className="memori-mobile-session-panel--section-title"
557
- >
558
- {title}
559
- </h2>
560
- {showSessionInfo && (
561
- <ul className="memori-mobile-session-panel--actions memori-mobile-session-panel--session-info">
562
- {isLoggedIn && (
563
- <li>
564
- <Button
565
- variant="toolbar"
566
- size="sm"
567
- className="memori-mobile-session-panel--action"
568
- disabled={knownFactsDisabled}
569
- onClick={() => {
570
- if (knownFactsDisabled) return;
571
- onKnownFactsOpen?.();
572
- }}
573
- >
574
- <span className="memori-mobile-session-panel--action-icon">
575
- <Brain size={18} />
576
- </span>
577
- <span className="memori-mobile-session-panel--action-copy">
578
- <span className="memori-mobile-session-panel--action-title">
579
- {knownFactsPageTitle}
580
- </span>
581
- <span className="memori-mobile-session-panel--action-subtitle">
582
- {resolvedKnownFactsHint}
583
- </span>
584
- </span>
585
- <span className="memori-mobile-session-panel--action-trailing">
586
- <ChevronRight size={16} />
587
- </span>
588
- </Button>
589
- </li>
590
- )}
591
- <li>
592
- <Button
593
- variant="toolbar"
594
- size="sm"
595
- className="memori-mobile-session-panel--action"
596
- disabled={!hasChatConsumptionData}
597
- onClick={() => {
598
- if (!hasChatConsumptionData) return;
599
- setActiveView('aiUsage');
600
- }}
601
- >
602
- <span className="memori-mobile-session-panel--action-icon">
603
- <GasStation />
604
- </span>
605
- <span className="memori-mobile-session-panel--action-copy">
606
- <span className="memori-mobile-session-panel--action-title">
607
- {resolvedAiUsageTitle}
608
- </span>
609
- <span className="memori-mobile-session-panel--action-subtitle">
610
- {aiUsageSubtitle}
611
- </span>
612
- </span>
613
- <span className="memori-mobile-session-panel--action-trailing">
614
- <ChevronRight size={16} />
615
- </span>
616
- </Button>
617
- </li>
618
- </ul>
619
- )}
620
- <ul className="memori-mobile-session-panel--actions">
621
- {visibleActions.map(action => (
622
- <li key={action.key}>
623
- {(() => {
624
- const isKnownFactsAction = action.view === 'knownFacts';
625
- const isShareAction = action.view === 'share';
626
- const isActionDisabled =
627
- action.disabled || (isKnownFactsAction && !isLoggedIn);
628
-
629
- return (
630
- <Button
631
- variant="toolbar"
632
- size="sm"
633
- className="memori-mobile-session-panel--action"
634
- disabled={isActionDisabled}
635
- onClick={() => {
636
- if (isActionDisabled) return;
637
- if (action.view === 'knownFacts') {
638
- if (onKnownFactsOpen) {
639
- onKnownFactsOpen();
640
- return;
641
- }
642
- }
643
- if (action.view) {
644
- setActiveView(action.view);
645
- return;
646
- }
647
- action.onClick?.();
648
- }}
649
- >
650
- <span className="memori-mobile-session-panel--action-icon">
651
- {action.icon}
652
- </span>
653
- <span className="memori-mobile-session-panel--action-copy">
654
- <span className="memori-mobile-session-panel--action-title">
655
- {action.title}
656
- </span>
657
- {action.subtitle && (
658
- <span className="memori-mobile-session-panel--action-subtitle">
659
- {action.subtitle}
660
- </span>
661
- )}
662
- </span>
663
- {(isShareAction || action.view === 'location') && (
664
- <span className="memori-mobile-session-panel--action-trailing">
665
- <ChevronRight size={16} />
666
- </span>
667
- )}
668
- </Button>
669
- );
670
- })()}
671
- </li>
672
- ))}
673
- </ul>
674
- {isLoggedIn && (
675
- <Button
676
- variant="toolbar"
677
- size="sm"
678
- shape="default"
679
- className="memori-mobile-session-panel--logout"
680
- onClick={onLogout}
681
- >
682
- <span className="memori-mobile-session-panel--action-icon">
683
- <LogOut size={18} />
684
- </span>
685
- <span className="memori-mobile-session-panel--logout-label">
686
- {logoutLabel}
687
- </span>
688
- </Button>
689
- )}
690
- {!isLoggedIn && (
691
- <div className="memori-mobile-session-panel--login-cta-wrap">
692
- <Button
693
- variant="toolbar"
694
- size="sm"
695
- className="memori-mobile-session-panel--login-cta"
696
- onClick={onLogin}
697
- >
698
- <span className="memori-mobile-session-panel--action-icon">
699
- <LogIn size={18} />
700
- </span>
701
- {loginLabel}
702
- </Button>
703
- </div>
704
- )}
705
- </>
706
- ) : (
707
- <div className="memori-mobile-session-panel--page">
708
- <Button
709
- variant="toolbar"
710
- size="sm"
711
- className="memori-mobile-session-panel--back"
712
- onClick={() => setActiveView('session')}
713
- >
714
- <ChevronLeft size={16} />
715
- {backLabel}
716
- </Button>
717
- <h3 className="memori-mobile-session-panel--page-title">
718
- {activeView === 'location'
719
- ? locationPageTitle
720
- : activeView === 'share'
721
- ? sharePageTitle
722
- : activeView === 'aiUsage'
723
- ? resolvedAiUsageTitle
724
- : knownFactsPageTitle}
725
- </h3>
726
- {activeView === 'location' ? (
727
- <div className="memori-mobile-session-panel--page-content memori-mobile-session-panel--location-content">
728
- {setVenue ? (
729
- <PositionPopoverContent
730
- venue={venue}
731
- setVenue={setVenue}
732
- />
733
- ) : (
734
- <>
735
- <p className="memori-mobile-session-panel--meta-label">
736
- {locationStatusLabel}
737
- </p>
738
- <p className="memori-mobile-session-panel--meta-value">
739
- {locationPlace || locationUnknownLabel}
740
- </p>
741
- <div className="memori-mobile-session-panel--page-actions">
742
- <Button
743
- variant="toolbar"
744
- size="sm"
745
- className={`memori-mobile-session-panel--page-btn ${
746
- isLocationEnabled
747
- ? 'memori-mobile-session-panel--page-btn-active'
748
- : ''
749
- }`}
750
- onClick={onLocationEnable}
751
- >
752
- <span>{locationEnableLabel}</span>
753
- </Button>
754
- <Button
755
- variant="toolbar"
756
- size="sm"
757
- className="memori-mobile-session-panel--page-btn memori-mobile-session-panel--page-btn-secondary"
758
- onClick={onLocationDisable}
759
- >
760
- {locationDisableLabel}
761
- </Button>
762
- </div>
763
- </>
764
- )}
765
- </div>
766
- ) : activeView === 'share' ? (
767
- <div className="memori-mobile-session-panel--page-content memori-mobile-session-panel--share-content">
768
- {shareContent}
769
- </div>
770
- ) : activeView === 'aiUsage' ? (
771
- <div className="memori-mobile-session-panel--page-content memori-mobile-session-panel--ai-usage-content">
772
- <ChatConsumptionContent
773
- history={history}
774
- showTitle={false}
775
- className="memori-mobile-session-panel--ai-usage"
776
- />
777
- </div>
778
- ) : (
779
- <div className="memori-mobile-session-panel--page-content">
780
- {knownFactsDescription && (
781
- <p className="memori-mobile-session-panel--known-facts-description">
782
- {knownFactsDescription}
783
- </p>
784
- )}
785
- {knownFactsCountLabel && (
786
- <p className="memori-mobile-session-panel--known-facts-count">
787
- {knownFactsCountLabel}
788
- </p>
789
- )}
790
- <Button
791
- variant="toolbar"
792
- size="sm"
793
- className="memori-mobile-session-panel--page-btn"
794
- disabled={knownFactsDisabled}
795
- onClick={onKnownFactsOpen}
796
- >
797
- {knownFactsCtaLabel}
798
- </Button>
799
- </div>
800
- )}
801
- </div>
802
- )}
803
- </section>
804
- </div>
805
- );
806
- };
807
-
808
- export default MobileSessionPanel;