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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (875) hide show
  1. package/CHANGELOG.md +736 -37
  2. package/dist/components/AgeVerificationModal/AgeVerificationModal.css +8 -9
  3. package/dist/components/AgeVerificationModal/AgeVerificationModal.js +1 -3
  4. package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  5. package/dist/components/Auth/Auth.css +14 -7
  6. package/dist/components/Auth/Auth.d.ts +1 -1
  7. package/dist/components/Auth/Auth.js +46 -34
  8. package/dist/components/Auth/Auth.js.map +1 -1
  9. package/dist/components/Avatar/Avatar.js +1 -1
  10. package/dist/components/Avatar/Avatar.js.map +1 -1
  11. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +1 -1
  12. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  13. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +2 -2
  14. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js +6 -6
  15. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -1
  16. package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +3 -3
  17. package/dist/components/BlockedMemoriBadge/BlockedMemoriBadge.css +8 -7
  18. package/dist/components/ChangeMode/ChangeMode.css +1 -1
  19. package/dist/components/Chat/Chat.css +191 -49
  20. package/dist/components/Chat/Chat.d.ts +2 -0
  21. package/dist/components/Chat/Chat.js +123 -82
  22. package/dist/components/Chat/Chat.js.map +1 -1
  23. package/dist/components/ChatBubble/ChatBubble.css +387 -79
  24. package/dist/components/ChatBubble/ChatBubble.d.ts +2 -0
  25. package/dist/components/ChatBubble/ChatBubble.js +199 -97
  26. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  27. package/dist/components/ChatHistoryDrawer/ChatHistory.css +180 -706
  28. package/dist/components/ChatHistoryDrawer/ChatHistory.d.ts +3 -1
  29. package/dist/components/ChatHistoryDrawer/ChatHistory.js +229 -613
  30. package/dist/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
  31. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +9 -298
  32. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +5 -2
  33. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +7 -80
  34. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  35. package/dist/components/ChatInputs/ChatInputs.css +181 -166
  36. package/dist/components/ChatInputs/ChatInputs.d.ts +2 -0
  37. package/dist/components/ChatInputs/ChatInputs.js +15 -9
  38. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  39. package/dist/components/ChatTextArea/ChatTextArea.css +30 -19
  40. package/dist/components/ChatTextArea/ChatTextArea.js +0 -17
  41. package/dist/components/ChatTextArea/ChatTextArea.js.map +1 -1
  42. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.css +1 -1
  43. package/dist/components/ContentPreviewModal/ContentPreviewModal.css +380 -68
  44. package/dist/components/ContentPreviewModal/ContentPreviewModal.d.ts +4 -1
  45. package/dist/components/ContentPreviewModal/ContentPreviewModal.js +71 -6
  46. package/dist/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
  47. package/dist/components/ContentPreviewModal/DocumentMarkdown.d.ts +7 -0
  48. package/dist/components/ContentPreviewModal/DocumentMarkdown.js +31 -0
  49. package/dist/components/ContentPreviewModal/DocumentMarkdown.js.map +1 -0
  50. package/dist/components/ContentPreviewModal/index.d.ts +2 -0
  51. package/dist/components/ContentPreviewModal/index.js +5 -1
  52. package/dist/components/ContentPreviewModal/index.js.map +1 -1
  53. package/dist/components/DateSelector/DateSelector.css +93 -7
  54. package/dist/components/DateSelector/DateSelector.js +5 -1
  55. package/dist/components/DateSelector/DateSelector.js.map +1 -1
  56. package/dist/components/DrawerFooter/DrawerFooter.css +39 -39
  57. package/dist/components/ExpertsDrawer/ExpertsDrawer.css +1 -7
  58. package/dist/components/ExpertsDrawer/ExpertsDrawer.js +1 -3
  59. package/dist/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
  60. package/dist/components/ExportHistoryButton/ExportHistoryButton.css +1 -1
  61. package/dist/components/FeedbackButtons/FeedbackButtons.css +3 -3
  62. package/dist/components/FeedbackButtons/FeedbackButtons.js +2 -2
  63. package/dist/components/FeedbackButtons/FeedbackButtons.js.map +1 -1
  64. package/dist/components/FilePreview/FilePreview.css +123 -223
  65. package/dist/components/FilePreview/FilePreview.d.ts +2 -1
  66. package/dist/components/FilePreview/FilePreview.js +37 -86
  67. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  68. package/dist/components/Header/ChatConsumptionDropdown.d.ts +3 -1
  69. package/dist/components/Header/ChatConsumptionDropdown.js +31 -6
  70. package/dist/components/Header/ChatConsumptionDropdown.js.map +1 -1
  71. package/dist/components/Header/Header.css +216 -53
  72. package/dist/components/Header/Header.d.ts +1 -0
  73. package/dist/components/Header/Header.js +201 -105
  74. package/dist/components/Header/Header.js.map +1 -1
  75. package/dist/components/IconButton/IconButton.css +135 -0
  76. package/dist/components/IconButton/IconButton.d.ts +9 -0
  77. package/dist/components/IconButton/IconButton.js +36 -0
  78. package/dist/components/IconButton/IconButton.js.map +1 -0
  79. package/dist/components/KnownFacts/KnownFacts.css +132 -35
  80. package/dist/components/KnownFacts/KnownFacts.js +184 -182
  81. package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
  82. package/dist/components/LoginDrawer/LoginDrawer.css +114 -74
  83. package/dist/components/LoginDrawer/LoginDrawer.js +66 -16
  84. package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
  85. package/dist/components/MediaWidget/MediaItemWidget.css +141 -121
  86. package/dist/components/MediaWidget/MediaItemWidget.js +15 -14
  87. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  88. package/dist/components/MediaWidget/MediaItemWidget.utils.d.ts +14 -0
  89. package/dist/components/MediaWidget/MediaItemWidget.utils.js +68 -4
  90. package/dist/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
  91. package/dist/components/MediaWidget/MediaPreviewModal.js +12 -19
  92. package/dist/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  93. package/dist/components/MediaWidget/MediaWidget.css +2 -2
  94. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +9 -4
  95. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  96. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  97. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +14 -12
  98. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  99. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +43 -132
  100. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +393 -211
  101. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +48 -56
  102. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  103. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +48 -10
  104. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +20 -16
  105. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -1
  106. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +46 -25
  107. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +206 -62
  108. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  109. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +30 -21
  110. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +1 -1
  111. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  112. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +3 -1
  113. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js +65 -1
  114. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  115. package/dist/components/MemoriArtifactSystem/types/artifact.types.d.ts +11 -0
  116. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js +19 -14
  117. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
  118. package/dist/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  119. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js +117 -0
  120. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  121. package/dist/components/MemoriWidget/MemoriWidget.css +8 -3
  122. package/dist/components/MemoriWidget/MemoriWidget.d.ts +3 -1
  123. package/dist/components/MemoriWidget/MemoriWidget.js +140 -77
  124. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  125. package/dist/components/MicrophoneButton/MicrophoneButton.css +2 -161
  126. package/dist/components/MicrophoneButton/MicrophoneButton.js +3 -1
  127. package/dist/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
  128. package/dist/components/MobileSessionPanel/MobileSessionPanel.css +122 -19
  129. package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +3 -0
  130. package/dist/components/MobileSessionPanel/MobileSessionPanel.js +75 -113
  131. package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  132. package/dist/components/PositionPopover/PositionPopover.css +9 -10
  133. package/dist/components/PositionPopover/PositionPopover.d.ts +2 -0
  134. package/dist/components/PositionPopover/PositionPopover.js +57 -36
  135. package/dist/components/PositionPopover/PositionPopover.js.map +1 -1
  136. package/dist/components/PoweredBy/PoweredBy.css +1 -8
  137. package/dist/components/ReasoningBlock/ReasoningBlock.css +156 -0
  138. package/dist/components/ReasoningBlock/ReasoningBlock.d.ts +7 -0
  139. package/dist/components/ReasoningBlock/ReasoningBlock.js +61 -0
  140. package/dist/components/ReasoningBlock/ReasoningBlock.js.map +1 -0
  141. package/dist/components/SendOnEnterMenu/SendOnEnterMenu.css +1 -1
  142. package/dist/components/SettingsDrawer/SettingsDrawer.js +2 -4
  143. package/dist/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  144. package/dist/components/ShareButton/ShareButton.css +101 -57
  145. package/dist/components/ShareButton/ShareButton.js +10 -9
  146. package/dist/components/ShareButton/ShareButton.js.map +1 -1
  147. package/dist/components/SideDrawer/SideDrawer.css +112 -0
  148. package/dist/components/SideDrawer/SideDrawer.d.ts +22 -0
  149. package/dist/components/SideDrawer/SideDrawer.js +17 -0
  150. package/dist/components/SideDrawer/SideDrawer.js.map +1 -0
  151. package/dist/components/Snippet/Snippet.css +10 -40
  152. package/dist/components/Snippet/Snippet.js +3 -1
  153. package/dist/components/Snippet/Snippet.js.map +1 -1
  154. package/dist/components/StartPanel/StartPanel.css +297 -49
  155. package/dist/components/StartPanel/StartPanel.d.ts +1 -0
  156. package/dist/components/StartPanel/StartPanel.js +45 -30
  157. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  158. package/dist/components/Typing/Typing.js +1 -1
  159. package/dist/components/Typing/Typing.js.map +1 -1
  160. package/dist/components/UploadButton/UploadButton.css +44 -62
  161. package/dist/components/UploadButton/UploadButton.d.ts +1 -0
  162. package/dist/components/UploadButton/UploadButton.js +17 -21
  163. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  164. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +1 -6
  165. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +23 -144
  166. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  167. package/dist/components/UploadButton/UploadImages/UploadImages.js +2 -8
  168. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  169. package/dist/components/VenueWidget/VenueWidget.css +6 -6
  170. package/dist/components/WhyThisAnswer/WhyThisAnswer.css +181 -107
  171. package/dist/components/WhyThisAnswer/WhyThisAnswer.d.ts +4 -1
  172. package/dist/components/WhyThisAnswer/WhyThisAnswer.js +169 -20
  173. package/dist/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
  174. package/dist/components/layouts/Chat.js +66 -73
  175. package/dist/components/layouts/Chat.js.map +1 -1
  176. package/dist/components/layouts/FullPage.js +160 -39
  177. package/dist/components/layouts/FullPage.js.map +1 -1
  178. package/dist/components/layouts/HiddenChat.js +24 -7
  179. package/dist/components/layouts/HiddenChat.js.map +1 -1
  180. package/dist/components/layouts/Totem.js +10 -1
  181. package/dist/components/layouts/Totem.js.map +1 -1
  182. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +85 -6
  183. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  184. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +87 -37
  185. package/dist/components/layouts/ZoomedFullBody.js +158 -39
  186. package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
  187. package/dist/components/layouts/chat.css +231 -59
  188. package/dist/components/layouts/fullpage.css +282 -80
  189. package/dist/components/layouts/hidden-chat.css +115 -96
  190. package/dist/components/layouts/totem.css +194 -51
  191. package/dist/components/layouts/zoomed-full-body.css +275 -76
  192. package/dist/helpers/artifactPanel.d.ts +6 -0
  193. package/dist/helpers/artifactPanel.js +42 -0
  194. package/dist/helpers/artifactPanel.js.map +1 -0
  195. package/dist/helpers/chatScroll.d.ts +12 -0
  196. package/dist/helpers/chatScroll.js +14 -0
  197. package/dist/helpers/chatScroll.js.map +1 -0
  198. package/dist/helpers/constants.d.ts +3 -1
  199. package/dist/helpers/constants.js +25 -3
  200. package/dist/helpers/constants.js.map +1 -1
  201. package/dist/helpers/conversationHistory.d.ts +16 -0
  202. package/dist/helpers/conversationHistory.js +89 -0
  203. package/dist/helpers/conversationHistory.js.map +1 -0
  204. package/dist/helpers/conversationTitle.d.ts +8 -0
  205. package/dist/helpers/conversationTitle.js +27 -0
  206. package/dist/helpers/conversationTitle.js.map +1 -0
  207. package/dist/helpers/convertDocument.d.ts +1 -0
  208. package/dist/helpers/convertDocument.js +24 -0
  209. package/dist/helpers/convertDocument.js.map +1 -0
  210. package/dist/helpers/error.js +2 -1
  211. package/dist/helpers/error.js.map +1 -1
  212. package/dist/helpers/highlightMatches.d.ts +2 -0
  213. package/dist/helpers/highlightMatches.js +54 -0
  214. package/dist/helpers/highlightMatches.js.map +1 -0
  215. package/dist/helpers/media.js +18 -3
  216. package/dist/helpers/media.js.map +1 -1
  217. package/dist/helpers/message.js +4 -1
  218. package/dist/helpers/message.js.map +1 -1
  219. package/dist/helpers/nats/getNatsConfig.js.map +1 -1
  220. package/dist/helpers/nats/useNats.d.ts +2 -1
  221. package/dist/helpers/nats/useNats.js +87 -20
  222. package/dist/helpers/nats/useNats.js.map +1 -1
  223. package/dist/helpers/nats/useNatsSession.d.ts +6 -1
  224. package/dist/helpers/nats/useNatsSession.js +48 -7
  225. package/dist/helpers/nats/useNatsSession.js.map +1 -1
  226. package/dist/helpers/positionPopover.d.ts +3 -1
  227. package/dist/helpers/positionPopover.js +17 -2
  228. package/dist/helpers/positionPopover.js.map +1 -1
  229. package/dist/helpers/reasoning.d.ts +7 -0
  230. package/dist/helpers/reasoning.js +43 -0
  231. package/dist/helpers/reasoning.js.map +1 -0
  232. package/dist/helpers/relativeTime.d.ts +3 -0
  233. package/dist/helpers/relativeTime.js +56 -0
  234. package/dist/helpers/relativeTime.js.map +1 -0
  235. package/dist/helpers/sourcesCount.d.ts +2 -0
  236. package/dist/helpers/sourcesCount.js +22 -0
  237. package/dist/helpers/sourcesCount.js.map +1 -0
  238. package/dist/helpers/tts/muteSpeaker.d.ts +13 -0
  239. package/dist/helpers/tts/muteSpeaker.js +26 -0
  240. package/dist/helpers/tts/muteSpeaker.js.map +1 -0
  241. package/dist/helpers/tts/useTTS.js +18 -9
  242. package/dist/helpers/tts/useTTS.js.map +1 -1
  243. package/dist/helpers/usePressTooltip.d.ts +6 -1
  244. package/dist/helpers/usePressTooltip.js +16 -1
  245. package/dist/helpers/usePressTooltip.js.map +1 -1
  246. package/dist/helpers/utils.d.ts +3 -1
  247. package/dist/helpers/utils.js +20 -6
  248. package/dist/helpers/utils.js.map +1 -1
  249. package/dist/icons/MemoriIcon.js +1 -1
  250. package/dist/icons/MemoriIcon.js.map +1 -1
  251. package/dist/index.js +17 -17
  252. package/dist/index.js.map +1 -1
  253. package/dist/locales/de.json +81 -8
  254. package/dist/locales/en.json +79 -11
  255. package/dist/locales/es.json +78 -9
  256. package/dist/locales/fr.json +78 -9
  257. package/dist/locales/it.json +79 -11
  258. package/dist/styles/motion.css +25 -0
  259. package/dist/styles.css +1 -1
  260. package/dist/version.d.ts +1 -1
  261. package/dist/version.js +1 -1
  262. package/dist/version.js.map +1 -1
  263. package/esm/components/AgeVerificationModal/AgeVerificationModal.css +8 -9
  264. package/esm/components/AgeVerificationModal/AgeVerificationModal.js +1 -3
  265. package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  266. package/esm/components/Auth/Auth.css +14 -7
  267. package/esm/components/Auth/Auth.d.ts +1 -1
  268. package/esm/components/Auth/Auth.js +47 -35
  269. package/esm/components/Auth/Auth.js.map +1 -1
  270. package/esm/components/Avatar/Avatar.js +1 -1
  271. package/esm/components/Avatar/Avatar.js.map +1 -1
  272. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +2 -2
  273. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  274. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +2 -2
  275. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js +4 -5
  276. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -1
  277. package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +3 -3
  278. package/esm/components/BlockedMemoriBadge/BlockedMemoriBadge.css +8 -7
  279. package/esm/components/ChangeMode/ChangeMode.css +1 -1
  280. package/esm/components/Chat/Chat.css +191 -49
  281. package/esm/components/Chat/Chat.d.ts +2 -0
  282. package/esm/components/Chat/Chat.js +125 -84
  283. package/esm/components/Chat/Chat.js.map +1 -1
  284. package/esm/components/ChatBubble/ChatBubble.css +387 -79
  285. package/esm/components/ChatBubble/ChatBubble.d.ts +2 -0
  286. package/esm/components/ChatBubble/ChatBubble.js +200 -98
  287. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  288. package/esm/components/ChatHistoryDrawer/ChatHistory.css +180 -706
  289. package/esm/components/ChatHistoryDrawer/ChatHistory.d.ts +3 -1
  290. package/esm/components/ChatHistoryDrawer/ChatHistory.js +233 -617
  291. package/esm/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
  292. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +9 -298
  293. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +5 -2
  294. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +9 -82
  295. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  296. package/esm/components/ChatInputs/ChatInputs.css +181 -166
  297. package/esm/components/ChatInputs/ChatInputs.d.ts +2 -0
  298. package/esm/components/ChatInputs/ChatInputs.js +16 -10
  299. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  300. package/esm/components/ChatTextArea/ChatTextArea.css +30 -19
  301. package/esm/components/ChatTextArea/ChatTextArea.js +0 -17
  302. package/esm/components/ChatTextArea/ChatTextArea.js.map +1 -1
  303. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.css +1 -1
  304. package/esm/components/ContentPreviewModal/ContentPreviewModal.css +380 -68
  305. package/esm/components/ContentPreviewModal/ContentPreviewModal.d.ts +4 -1
  306. package/esm/components/ContentPreviewModal/ContentPreviewModal.js +72 -7
  307. package/esm/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
  308. package/esm/components/ContentPreviewModal/DocumentMarkdown.d.ts +7 -0
  309. package/esm/components/ContentPreviewModal/DocumentMarkdown.js +28 -0
  310. package/esm/components/ContentPreviewModal/DocumentMarkdown.js.map +1 -0
  311. package/esm/components/ContentPreviewModal/index.d.ts +2 -0
  312. package/esm/components/ContentPreviewModal/index.js +2 -0
  313. package/esm/components/ContentPreviewModal/index.js.map +1 -1
  314. package/esm/components/DateSelector/DateSelector.css +93 -7
  315. package/esm/components/DateSelector/DateSelector.js +5 -1
  316. package/esm/components/DateSelector/DateSelector.js.map +1 -1
  317. package/esm/components/DrawerFooter/DrawerFooter.css +39 -39
  318. package/esm/components/ExpertsDrawer/ExpertsDrawer.css +1 -7
  319. package/esm/components/ExpertsDrawer/ExpertsDrawer.js +1 -3
  320. package/esm/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
  321. package/esm/components/ExportHistoryButton/ExportHistoryButton.css +1 -1
  322. package/esm/components/FeedbackButtons/FeedbackButtons.css +3 -3
  323. package/esm/components/FeedbackButtons/FeedbackButtons.js +2 -2
  324. package/esm/components/FeedbackButtons/FeedbackButtons.js.map +1 -1
  325. package/esm/components/FilePreview/FilePreview.css +123 -223
  326. package/esm/components/FilePreview/FilePreview.d.ts +2 -1
  327. package/esm/components/FilePreview/FilePreview.js +39 -88
  328. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  329. package/esm/components/Header/ChatConsumptionDropdown.d.ts +3 -1
  330. package/esm/components/Header/ChatConsumptionDropdown.js +33 -8
  331. package/esm/components/Header/ChatConsumptionDropdown.js.map +1 -1
  332. package/esm/components/Header/Header.css +216 -53
  333. package/esm/components/Header/Header.d.ts +1 -0
  334. package/esm/components/Header/Header.js +202 -106
  335. package/esm/components/Header/Header.js.map +1 -1
  336. package/esm/components/IconButton/IconButton.css +135 -0
  337. package/esm/components/IconButton/IconButton.d.ts +9 -0
  338. package/esm/components/IconButton/IconButton.js +33 -0
  339. package/esm/components/IconButton/IconButton.js.map +1 -0
  340. package/esm/components/KnownFacts/KnownFacts.css +132 -35
  341. package/esm/components/KnownFacts/KnownFacts.js +185 -184
  342. package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
  343. package/esm/components/LoginDrawer/LoginDrawer.css +114 -74
  344. package/esm/components/LoginDrawer/LoginDrawer.js +67 -17
  345. package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
  346. package/esm/components/MediaWidget/MediaItemWidget.css +141 -121
  347. package/esm/components/MediaWidget/MediaItemWidget.js +16 -15
  348. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  349. package/esm/components/MediaWidget/MediaItemWidget.utils.d.ts +14 -0
  350. package/esm/components/MediaWidget/MediaItemWidget.utils.js +65 -4
  351. package/esm/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
  352. package/esm/components/MediaWidget/MediaPreviewModal.js +13 -20
  353. package/esm/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  354. package/esm/components/MediaWidget/MediaWidget.css +2 -2
  355. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +9 -4
  356. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  357. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  358. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +15 -13
  359. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  360. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +43 -132
  361. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +393 -211
  362. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +50 -58
  363. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  364. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +48 -10
  365. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +21 -18
  366. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -1
  367. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +46 -25
  368. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +208 -64
  369. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  370. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +30 -21
  371. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +2 -2
  372. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  373. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +3 -1
  374. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js +66 -2
  375. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  376. package/esm/components/MemoriArtifactSystem/types/artifact.types.d.ts +11 -0
  377. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js +19 -14
  378. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
  379. package/esm/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  380. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js +112 -0
  381. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  382. package/esm/components/MemoriWidget/MemoriWidget.css +8 -3
  383. package/esm/components/MemoriWidget/MemoriWidget.d.ts +3 -1
  384. package/esm/components/MemoriWidget/MemoriWidget.js +142 -80
  385. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  386. package/esm/components/MicrophoneButton/MicrophoneButton.css +2 -161
  387. package/esm/components/MicrophoneButton/MicrophoneButton.js +3 -2
  388. package/esm/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
  389. package/esm/components/MobileSessionPanel/MobileSessionPanel.css +122 -19
  390. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +3 -0
  391. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +76 -114
  392. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  393. package/esm/components/PositionPopover/PositionPopover.css +9 -10
  394. package/esm/components/PositionPopover/PositionPopover.d.ts +2 -0
  395. package/esm/components/PositionPopover/PositionPopover.js +58 -37
  396. package/esm/components/PositionPopover/PositionPopover.js.map +1 -1
  397. package/esm/components/PoweredBy/PoweredBy.css +1 -8
  398. package/esm/components/ReasoningBlock/ReasoningBlock.css +156 -0
  399. package/esm/components/ReasoningBlock/ReasoningBlock.d.ts +7 -0
  400. package/esm/components/ReasoningBlock/ReasoningBlock.js +58 -0
  401. package/esm/components/ReasoningBlock/ReasoningBlock.js.map +1 -0
  402. package/esm/components/SendOnEnterMenu/SendOnEnterMenu.css +1 -1
  403. package/esm/components/SettingsDrawer/SettingsDrawer.js +2 -4
  404. package/esm/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  405. package/esm/components/ShareButton/ShareButton.css +101 -57
  406. package/esm/components/ShareButton/ShareButton.js +11 -10
  407. package/esm/components/ShareButton/ShareButton.js.map +1 -1
  408. package/esm/components/SideDrawer/SideDrawer.css +112 -0
  409. package/esm/components/SideDrawer/SideDrawer.d.ts +22 -0
  410. package/esm/components/SideDrawer/SideDrawer.js +12 -0
  411. package/esm/components/SideDrawer/SideDrawer.js.map +1 -0
  412. package/esm/components/Snippet/Snippet.css +10 -40
  413. package/esm/components/Snippet/Snippet.js +4 -2
  414. package/esm/components/Snippet/Snippet.js.map +1 -1
  415. package/esm/components/StartPanel/StartPanel.css +297 -49
  416. package/esm/components/StartPanel/StartPanel.d.ts +1 -0
  417. package/esm/components/StartPanel/StartPanel.js +46 -31
  418. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  419. package/esm/components/Typing/Typing.js +1 -1
  420. package/esm/components/Typing/Typing.js.map +1 -1
  421. package/esm/components/UploadButton/UploadButton.css +44 -62
  422. package/esm/components/UploadButton/UploadButton.d.ts +1 -0
  423. package/esm/components/UploadButton/UploadButton.js +18 -22
  424. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  425. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +1 -6
  426. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +25 -146
  427. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  428. package/esm/components/UploadButton/UploadImages/UploadImages.js +2 -8
  429. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  430. package/esm/components/VenueWidget/VenueWidget.css +6 -6
  431. package/esm/components/WhyThisAnswer/WhyThisAnswer.css +181 -107
  432. package/esm/components/WhyThisAnswer/WhyThisAnswer.d.ts +4 -1
  433. package/esm/components/WhyThisAnswer/WhyThisAnswer.js +172 -23
  434. package/esm/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
  435. package/esm/components/layouts/Chat.js +69 -76
  436. package/esm/components/layouts/Chat.js.map +1 -1
  437. package/esm/components/layouts/FullPage.js +162 -41
  438. package/esm/components/layouts/FullPage.js.map +1 -1
  439. package/esm/components/layouts/HiddenChat.js +24 -7
  440. package/esm/components/layouts/HiddenChat.js.map +1 -1
  441. package/esm/components/layouts/Totem.js +10 -1
  442. package/esm/components/layouts/Totem.js.map +1 -1
  443. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +86 -7
  444. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  445. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +87 -37
  446. package/esm/components/layouts/ZoomedFullBody.js +160 -41
  447. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  448. package/esm/components/layouts/chat.css +231 -59
  449. package/esm/components/layouts/fullpage.css +282 -80
  450. package/esm/components/layouts/hidden-chat.css +115 -96
  451. package/esm/components/layouts/totem.css +194 -51
  452. package/esm/components/layouts/zoomed-full-body.css +275 -76
  453. package/esm/helpers/artifactPanel.d.ts +6 -0
  454. package/esm/helpers/artifactPanel.js +37 -0
  455. package/esm/helpers/artifactPanel.js.map +1 -0
  456. package/esm/helpers/chatScroll.d.ts +12 -0
  457. package/esm/helpers/chatScroll.js +9 -0
  458. package/esm/helpers/chatScroll.js.map +1 -0
  459. package/esm/helpers/constants.d.ts +3 -1
  460. package/esm/helpers/constants.js +24 -2
  461. package/esm/helpers/constants.js.map +1 -1
  462. package/esm/helpers/conversationHistory.d.ts +16 -0
  463. package/esm/helpers/conversationHistory.js +82 -0
  464. package/esm/helpers/conversationHistory.js.map +1 -0
  465. package/esm/helpers/conversationTitle.d.ts +8 -0
  466. package/esm/helpers/conversationTitle.js +23 -0
  467. package/esm/helpers/conversationTitle.js.map +1 -0
  468. package/esm/helpers/convertDocument.d.ts +1 -0
  469. package/esm/helpers/convertDocument.js +20 -0
  470. package/esm/helpers/convertDocument.js.map +1 -0
  471. package/esm/helpers/error.js +2 -1
  472. package/esm/helpers/error.js.map +1 -1
  473. package/esm/helpers/highlightMatches.d.ts +2 -0
  474. package/esm/helpers/highlightMatches.js +49 -0
  475. package/esm/helpers/highlightMatches.js.map +1 -0
  476. package/esm/helpers/media.js +18 -3
  477. package/esm/helpers/media.js.map +1 -1
  478. package/esm/helpers/message.js +5 -2
  479. package/esm/helpers/message.js.map +1 -1
  480. package/esm/helpers/nats/getNatsConfig.js.map +1 -1
  481. package/esm/helpers/nats/useNats.d.ts +2 -1
  482. package/esm/helpers/nats/useNats.js +87 -20
  483. package/esm/helpers/nats/useNats.js.map +1 -1
  484. package/esm/helpers/nats/useNatsSession.d.ts +6 -1
  485. package/esm/helpers/nats/useNatsSession.js +48 -8
  486. package/esm/helpers/nats/useNatsSession.js.map +1 -1
  487. package/esm/helpers/positionPopover.d.ts +3 -1
  488. package/esm/helpers/positionPopover.js +15 -2
  489. package/esm/helpers/positionPopover.js.map +1 -1
  490. package/esm/helpers/reasoning.d.ts +7 -0
  491. package/esm/helpers/reasoning.js +39 -0
  492. package/esm/helpers/reasoning.js.map +1 -0
  493. package/esm/helpers/relativeTime.d.ts +3 -0
  494. package/esm/helpers/relativeTime.js +50 -0
  495. package/esm/helpers/relativeTime.js.map +1 -0
  496. package/esm/helpers/sourcesCount.d.ts +2 -0
  497. package/esm/helpers/sourcesCount.js +18 -0
  498. package/esm/helpers/sourcesCount.js.map +1 -0
  499. package/esm/helpers/tts/muteSpeaker.d.ts +13 -0
  500. package/esm/helpers/tts/muteSpeaker.js +21 -0
  501. package/esm/helpers/tts/muteSpeaker.js.map +1 -0
  502. package/esm/helpers/tts/useTTS.js +18 -9
  503. package/esm/helpers/tts/useTTS.js.map +1 -1
  504. package/esm/helpers/usePressTooltip.d.ts +6 -1
  505. package/esm/helpers/usePressTooltip.js +17 -2
  506. package/esm/helpers/usePressTooltip.js.map +1 -1
  507. package/esm/helpers/utils.d.ts +3 -1
  508. package/esm/helpers/utils.js +18 -6
  509. package/esm/helpers/utils.js.map +1 -1
  510. package/esm/icons/MemoriIcon.js +1 -1
  511. package/esm/icons/MemoriIcon.js.map +1 -1
  512. package/esm/index.js +18 -18
  513. package/esm/index.js.map +1 -1
  514. package/esm/locales/de.json +81 -8
  515. package/esm/locales/en.json +79 -11
  516. package/esm/locales/es.json +78 -9
  517. package/esm/locales/fr.json +78 -9
  518. package/esm/locales/it.json +79 -11
  519. package/esm/styles/motion.css +25 -0
  520. package/esm/styles.css +1 -1
  521. package/esm/version.d.ts +1 -1
  522. package/esm/version.js +1 -1
  523. package/esm/version.js.map +1 -1
  524. package/package.json +15 -55
  525. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.d.ts +0 -3
  526. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js +0 -64
  527. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js.map +0 -1
  528. package/dist/context/widgetSurfaceContext.d.ts +0 -3
  529. package/dist/context/widgetSurfaceContext.js +0 -11
  530. package/dist/context/widgetSurfaceContext.js.map +0 -1
  531. package/dist/testUtils.d.ts +0 -5
  532. package/dist/testUtils.js +0 -18
  533. package/dist/testUtils.js.map +0 -1
  534. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.d.ts +0 -3
  535. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js +0 -62
  536. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js.map +0 -1
  537. package/esm/context/widgetSurfaceContext.d.ts +0 -3
  538. package/esm/context/widgetSurfaceContext.js +0 -7
  539. package/esm/context/widgetSurfaceContext.js.map +0 -1
  540. package/esm/testUtils.d.ts +0 -5
  541. package/esm/testUtils.js +0 -15
  542. package/esm/testUtils.js.map +0 -1
  543. package/src/I18nWrapper.tsx +0 -13
  544. package/src/Showcase.stories.tsx +0 -641
  545. package/src/__snapshots__/index.test.tsx.snap +0 -126
  546. package/src/components/AgeVerificationModal/AgeVerificationModal.css +0 -118
  547. package/src/components/AgeVerificationModal/AgeVerificationModal.stories.tsx +0 -49
  548. package/src/components/AgeVerificationModal/AgeVerificationModal.test.tsx +0 -34
  549. package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +0 -125
  550. package/src/components/AgeVerificationModal/__snapshots__/AgeVerificationModal.test.tsx.snap +0 -43
  551. package/src/components/Auth/Auth.css +0 -61
  552. package/src/components/Auth/Auth.stories.tsx +0 -90
  553. package/src/components/Auth/Auth.test.tsx +0 -63
  554. package/src/components/Auth/Auth.tsx +0 -216
  555. package/src/components/Auth/__snapshots__/Auth.test.tsx.snap +0 -199
  556. package/src/components/Avatar/Avatar.css +0 -151
  557. package/src/components/Avatar/Avatar.stories.tsx +0 -160
  558. package/src/components/Avatar/Avatar.test.tsx +0 -158
  559. package/src/components/Avatar/Avatar.tsx +0 -248
  560. package/src/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.tsx +0 -103
  561. package/src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx +0 -105
  562. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +0 -338
  563. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.ts +0 -44
  564. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.ts +0 -1091
  565. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.ts +0 -83
  566. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.ts +0 -301
  567. package/src/components/Avatar/AvatarView/AvatarComponent/components/controls.tsx +0 -100
  568. package/src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx +0 -152
  569. package/src/components/Avatar/AvatarView/AvatarComponent/components/loader.tsx +0 -31
  570. package/src/components/Avatar/AvatarView/AvatarComponent/constants.ts +0 -141
  571. package/src/components/Avatar/AvatarView/AvatarComponent/lights/Lights.tsx +0 -145
  572. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +0 -111
  573. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.tsx +0 -199
  574. package/src/components/Avatar/AvatarView/AvatarView.stories.tsx +0 -254
  575. package/src/components/Avatar/AvatarView/index.tsx +0 -194
  576. package/src/components/Avatar/AvatarView/utils/hideHands.ts +0 -11
  577. package/src/components/Avatar/AvatarView/utils/useEyeBlink.ts +0 -100
  578. package/src/components/Avatar/AvatarView/utils/useHeadMovement.ts +0 -72
  579. package/src/components/Avatar/AvatarView/utils/useLoadingMorphAnim.ts +0 -38
  580. package/src/components/Avatar/AvatarView/utils/useMouthAnimation.ts +0 -93
  581. package/src/components/Avatar/AvatarView/utils/useSmile.ts +0 -39
  582. package/src/components/Avatar/AvatarView/utils/utils.ts +0 -55
  583. package/src/components/Avatar/__snapshots__/Avatar.test.tsx.snap +0 -284
  584. package/src/components/Blob/Blob.css +0 -288
  585. package/src/components/Blob/Blob.stories.tsx +0 -53
  586. package/src/components/Blob/Blob.test.tsx +0 -18
  587. package/src/components/Blob/Blob.tsx +0 -26
  588. package/src/components/Blob/__snapshots__/Blob.test.tsx.snap +0 -80
  589. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.css +0 -40
  590. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.stories.tsx +0 -58
  591. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.test.tsx +0 -53
  592. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.tsx +0 -74
  593. package/src/components/BlockedMemoriBadge/__snapshots__/BlockedMemoriBadge.test.tsx.snap +0 -226
  594. package/src/components/ChangeMode/ChangeMode.css +0 -24
  595. package/src/components/ChangeMode/ChangeMode.stories.tsx +0 -50
  596. package/src/components/ChangeMode/ChangeMode.test.tsx +0 -24
  597. package/src/components/ChangeMode/ChangeMode.tsx +0 -52
  598. package/src/components/ChangeMode/__snapshots__/ChangeMode.test.tsx.snap +0 -77
  599. package/src/components/Chat/Chat.css +0 -402
  600. package/src/components/Chat/Chat.stories.tsx +0 -1687
  601. package/src/components/Chat/Chat.test.tsx +0 -381
  602. package/src/components/Chat/Chat.tsx +0 -779
  603. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +0 -10134
  604. package/src/components/ChatBubble/ChatBubble.css +0 -570
  605. package/src/components/ChatBubble/ChatBubble.stories.tsx +0 -1185
  606. package/src/components/ChatBubble/ChatBubble.test.tsx +0 -486
  607. package/src/components/ChatBubble/ChatBubble.tsx +0 -887
  608. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +0 -9849
  609. package/src/components/ChatHistoryDrawer/ChatHistory.css +0 -848
  610. package/src/components/ChatHistoryDrawer/ChatHistory.stories.tsx +0 -449
  611. package/src/components/ChatHistoryDrawer/ChatHistory.test.tsx +0 -116
  612. package/src/components/ChatHistoryDrawer/ChatHistory.tsx +0 -1295
  613. package/src/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -367
  614. package/src/components/ChatHistoryDrawer/ChatResumeDrawer.tsx +0 -295
  615. package/src/components/ChatHistoryDrawer/__snapshots__/ChatHistory.test.tsx.snap +0 -24
  616. package/src/components/ChatInputs/ChatInputs.css +0 -490
  617. package/src/components/ChatInputs/ChatInputs.stories.tsx +0 -254
  618. package/src/components/ChatInputs/ChatInputs.tsx +0 -510
  619. package/src/components/ChatTextArea/ChatTextArea.css +0 -233
  620. package/src/components/ChatTextArea/ChatTextArea.stories.tsx +0 -55
  621. package/src/components/ChatTextArea/ChatTextArea.test.tsx +0 -28
  622. package/src/components/ChatTextArea/ChatTextArea.tsx +0 -175
  623. package/src/components/ChatTextArea/__snapshots__/ChatTextArea.test.tsx.snap +0 -74
  624. package/src/components/CompletionProviderStatus/CompletionProviderStatus.css +0 -36
  625. package/src/components/CompletionProviderStatus/CompletionProviderStatus.stories.tsx +0 -296
  626. package/src/components/CompletionProviderStatus/CompletionProviderStatus.test.tsx +0 -31
  627. package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +0 -230
  628. package/src/components/CompletionProviderStatus/__snapshots__/CompletionProviderStatus.test.tsx.snap +0 -111
  629. package/src/components/ContentPreviewModal/ContentPreviewModal.css +0 -173
  630. package/src/components/ContentPreviewModal/ContentPreviewModal.tsx +0 -71
  631. package/src/components/ContentPreviewModal/index.ts +0 -2
  632. package/src/components/CustomGLBModelViewer/ModelViewer.css +0 -11
  633. package/src/components/CustomGLBModelViewer/ModelViewer.stories.tsx +0 -58
  634. package/src/components/CustomGLBModelViewer/ModelViewer.test.tsx +0 -13
  635. package/src/components/CustomGLBModelViewer/ModelViewer.tsx +0 -37
  636. package/src/components/CustomGLBModelViewer/__snapshots__/ModelViewer.test.tsx.snap +0 -20
  637. package/src/components/DateSelector/DateSelector.css +0 -156
  638. package/src/components/DateSelector/DateSelector.stories.tsx +0 -47
  639. package/src/components/DateSelector/DateSelector.test.tsx +0 -149
  640. package/src/components/DateSelector/DateSelector.tsx +0 -258
  641. package/src/components/DateSelector/__snapshots__/DateSelector.test.tsx.snap +0 -1954
  642. package/src/components/DrawerFooter/DrawerFooter.css +0 -62
  643. package/src/components/DrawerFooter/DrawerFooter.tsx +0 -58
  644. package/src/components/ErrorBoundary/ErrorBoundary.tsx +0 -54
  645. package/src/components/ExpertsDrawer/ExpertsDrawer.css +0 -64
  646. package/src/components/ExpertsDrawer/ExpertsDrawer.stories.tsx +0 -54
  647. package/src/components/ExpertsDrawer/ExpertsDrawer.test.tsx +0 -53
  648. package/src/components/ExpertsDrawer/ExpertsDrawer.tsx +0 -72
  649. package/src/components/ExpertsDrawer/__snapshots__/ExpertsDrawer.test.tsx.snap +0 -10
  650. package/src/components/ExportHistoryButton/ExportHistoryButton.css +0 -22
  651. package/src/components/FeedbackButtons/FeedbackButtons.css +0 -109
  652. package/src/components/FeedbackButtons/FeedbackButtons.stories.tsx +0 -55
  653. package/src/components/FeedbackButtons/FeedbackButtons.test.tsx +0 -11
  654. package/src/components/FeedbackButtons/FeedbackButtons.tsx +0 -179
  655. package/src/components/FeedbackButtons/__snapshots__/FeedbackButtons.test.tsx.snap +0 -55
  656. package/src/components/FilePreview/FilePreview.css +0 -374
  657. package/src/components/FilePreview/FilePreview.stories.tsx +0 -66
  658. package/src/components/FilePreview/FilePreview.test.tsx +0 -26
  659. package/src/components/FilePreview/FilePreview.tsx +0 -286
  660. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +0 -254
  661. package/src/components/Header/ChatConsumptionDropdown.test.tsx +0 -154
  662. package/src/components/Header/ChatConsumptionDropdown.tsx +0 -353
  663. package/src/components/Header/Header.css +0 -746
  664. package/src/components/Header/Header.stories.tsx +0 -404
  665. package/src/components/Header/Header.test.tsx +0 -399
  666. package/src/components/Header/Header.tsx +0 -1235
  667. package/src/components/Header/__snapshots__/Header.test.tsx.snap +0 -2016
  668. package/src/components/KnownFacts/KnownFacts.css +0 -58
  669. package/src/components/KnownFacts/KnownFacts.stories.tsx +0 -83
  670. package/src/components/KnownFacts/KnownFacts.test.tsx +0 -57
  671. package/src/components/KnownFacts/KnownFacts.tsx +0 -394
  672. package/src/components/KnownFacts/__snapshots__/KnownFacts.test.tsx.snap +0 -43
  673. package/src/components/LoginDrawer/LoginDrawer.css +0 -1741
  674. package/src/components/LoginDrawer/LoginDrawer.stories.tsx +0 -105
  675. package/src/components/LoginDrawer/LoginDrawer.test.tsx +0 -199
  676. package/src/components/LoginDrawer/LoginDrawer.tsx +0 -781
  677. package/src/components/LoginDrawer/__snapshots__/LoginDrawer.test.tsx.snap +0 -169
  678. package/src/components/MediaWidget/DocumentCard.test.tsx +0 -45
  679. package/src/components/MediaWidget/DocumentCard.tsx +0 -19
  680. package/src/components/MediaWidget/MediaItemWidget.css +0 -1444
  681. package/src/components/MediaWidget/MediaItemWidget.stories.tsx +0 -423
  682. package/src/components/MediaWidget/MediaItemWidget.test.tsx +0 -248
  683. package/src/components/MediaWidget/MediaItemWidget.tsx +0 -983
  684. package/src/components/MediaWidget/MediaItemWidget.types.ts +0 -65
  685. package/src/components/MediaWidget/MediaItemWidget.utils.test.ts +0 -367
  686. package/src/components/MediaWidget/MediaItemWidget.utils.ts +0 -227
  687. package/src/components/MediaWidget/MediaPreviewModal.test.tsx +0 -271
  688. package/src/components/MediaWidget/MediaPreviewModal.tsx +0 -425
  689. package/src/components/MediaWidget/MediaWidget.css +0 -131
  690. package/src/components/MediaWidget/MediaWidget.stories.tsx +0 -319
  691. package/src/components/MediaWidget/MediaWidget.test.tsx +0 -41
  692. package/src/components/MediaWidget/MediaWidget.tsx +0 -97
  693. package/src/components/MediaWidget/__snapshots__/DocumentCard.test.tsx.snap +0 -24
  694. package/src/components/MediaWidget/__snapshots__/MediaItemWidget.test.tsx.snap +0 -608
  695. package/src/components/MediaWidget/__snapshots__/MediaWidget.test.tsx.snap +0 -140
  696. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +0 -265
  697. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +0 -159
  698. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +0 -240
  699. package/src/components/MemoriArtifactSystem/components/ArtifactActions/CopyButton.stories.tsx +0 -30
  700. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +0 -464
  701. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +0 -91
  702. package/src/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.ts +0 -620
  703. package/src/components/MemoriArtifactSystem/components/ArtifactActions/index.ts +0 -9
  704. package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +0 -500
  705. package/src/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.tsx +0 -90
  706. package/src/components/MemoriArtifactSystem/components/ArtifactActions/types.ts +0 -73
  707. package/src/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.ts +0 -454
  708. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +0 -1100
  709. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +0 -440
  710. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +0 -20
  711. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.tsx +0 -63
  712. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +0 -283
  713. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +0 -397
  714. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +0 -354
  715. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +0 -159
  716. package/src/components/MemoriArtifactSystem/context/ArtifactContext.tsx +0 -80
  717. package/src/components/MemoriArtifactSystem/types/artifact.types.ts +0 -18
  718. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.test.tsx +0 -308
  719. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx +0 -384
  720. package/src/components/MemoriWidget/MemoriWidget.css +0 -165
  721. package/src/components/MemoriWidget/MemoriWidget.stories.tsx +0 -295
  722. package/src/components/MemoriWidget/MemoriWidget.tsx +0 -4059
  723. package/src/components/MicrophoneButton/MicrophoneButton.css +0 -194
  724. package/src/components/MicrophoneButton/MicrophoneButton.stories.tsx +0 -52
  725. package/src/components/MicrophoneButton/MicrophoneButton.tsx +0 -135
  726. package/src/components/MobileSessionPanel/MobileSessionPanel.css +0 -437
  727. package/src/components/MobileSessionPanel/MobileSessionPanel.tsx +0 -808
  728. package/src/components/PositionPopover/PositionPopover.css +0 -219
  729. package/src/components/PositionPopover/PositionPopover.stories.tsx +0 -37
  730. package/src/components/PositionPopover/PositionPopover.tsx +0 -367
  731. package/src/components/PoweredBy/PoweredBy.css +0 -57
  732. package/src/components/PoweredBy/PoweredBy.stories.tsx +0 -75
  733. package/src/components/PoweredBy/PoweredBy.test.tsx +0 -15
  734. package/src/components/PoweredBy/PoweredBy.tsx +0 -36
  735. package/src/components/PoweredBy/__snapshots__/PoweredBy.test.tsx.snap +0 -287
  736. package/src/components/SendOnEnterMenu/SendOnEnterMenu.css +0 -47
  737. package/src/components/SendOnEnterMenu/SendOnEnterMenu.stories.tsx +0 -58
  738. package/src/components/SendOnEnterMenu/SendOnEnterMenu.test.tsx +0 -17
  739. package/src/components/SendOnEnterMenu/SendOnEnterMenu.tsx +0 -48
  740. package/src/components/SendOnEnterMenu/__snapshots__/SendOnEnterMenu.test.tsx.snap +0 -105
  741. package/src/components/SettingsDrawer/SettingsDrawer.css +0 -24
  742. package/src/components/SettingsDrawer/SettingsDrawer.stories.tsx +0 -94
  743. package/src/components/SettingsDrawer/SettingsDrawer.test.tsx +0 -202
  744. package/src/components/SettingsDrawer/SettingsDrawer.tsx +0 -247
  745. package/src/components/SettingsDrawer/__snapshots__/SettingsDrawer.test.tsx.snap +0 -52
  746. package/src/components/ShareButton/ShareButton.css +0 -319
  747. package/src/components/ShareButton/ShareButton.stories.tsx +0 -103
  748. package/src/components/ShareButton/ShareButton.test.tsx +0 -53
  749. package/src/components/ShareButton/ShareButton.tsx +0 -749
  750. package/src/components/ShareButton/__snapshots__/ShareButton.test.tsx.snap +0 -739
  751. package/src/components/Snippet/Snippet.css +0 -178
  752. package/src/components/Snippet/Snippet.stories.tsx +0 -286
  753. package/src/components/Snippet/Snippet.test.tsx +0 -176
  754. package/src/components/Snippet/Snippet.tsx +0 -148
  755. package/src/components/Snippet/__snapshots__/Snippet.test.tsx.snap +0 -619
  756. package/src/components/StartPanel/StartPanel.css +0 -896
  757. package/src/components/StartPanel/StartPanel.stories.tsx +0 -394
  758. package/src/components/StartPanel/StartPanel.test.tsx +0 -371
  759. package/src/components/StartPanel/StartPanel.tsx +0 -745
  760. package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +0 -3347
  761. package/src/components/Typing/Typing.stories.tsx +0 -130
  762. package/src/components/Typing/Typing.test.tsx +0 -62
  763. package/src/components/Typing/Typing.tsx +0 -232
  764. package/src/components/Typing/__snapshots__/Typing.test.tsx.snap +0 -173
  765. package/src/components/UploadButton/UploadButton.css +0 -573
  766. package/src/components/UploadButton/UploadButton.stories.tsx +0 -510
  767. package/src/components/UploadButton/UploadButton.test.tsx +0 -14
  768. package/src/components/UploadButton/UploadButton.tsx +0 -705
  769. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +0 -585
  770. package/src/components/UploadButton/UploadImages/UploadImages.tsx +0 -554
  771. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +0 -160
  772. package/src/components/VenueWidget/VenueWidget.css +0 -223
  773. package/src/components/VenueWidget/VenueWidget.stories.tsx +0 -69
  774. package/src/components/VenueWidget/VenueWidget.test.tsx +0 -49
  775. package/src/components/VenueWidget/VenueWidget.tsx +0 -578
  776. package/src/components/VenueWidget/__snapshots__/VenueWidget.test.tsx.snap +0 -776
  777. package/src/components/WhyThisAnswer/WhyThisAnswer.css +0 -171
  778. package/src/components/WhyThisAnswer/WhyThisAnswer.stories.tsx +0 -288
  779. package/src/components/WhyThisAnswer/WhyThisAnswer.test.tsx +0 -245
  780. package/src/components/WhyThisAnswer/WhyThisAnswer.tsx +0 -245
  781. package/src/components/WhyThisAnswer/__snapshots__/WhyThisAnswer.test.tsx.snap +0 -57
  782. package/src/components/icons/GasStation.tsx +0 -36
  783. package/src/components/layouts/Chat.test.tsx +0 -41
  784. package/src/components/layouts/Chat.tsx +0 -428
  785. package/src/components/layouts/FullBody/FullBody.stories.tsx +0 -110
  786. package/src/components/layouts/FullPage.test.tsx +0 -66
  787. package/src/components/layouts/FullPage.tsx +0 -382
  788. package/src/components/layouts/HiddenChat.test.tsx +0 -41
  789. package/src/components/layouts/HiddenChat.tsx +0 -366
  790. package/src/components/layouts/Totem/Totem.stories.tsx +0 -131
  791. package/src/components/layouts/Totem.test.tsx +0 -41
  792. package/src/components/layouts/Totem.tsx +0 -53
  793. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.stories.tsx +0 -115
  794. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.test.tsx +0 -43
  795. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.tsx +0 -194
  796. package/src/components/layouts/WebsiteAssistant/__snapshots__/WebsiteAssistant.test.tsx.snap +0 -80
  797. package/src/components/layouts/WebsiteAssistant/website-assistant.css +0 -793
  798. package/src/components/layouts/ZoomedFullBody/ZoomedFullBody.stories.tsx +0 -131
  799. package/src/components/layouts/ZoomedFullBody.test.tsx +0 -41
  800. package/src/components/layouts/ZoomedFullBody.tsx +0 -381
  801. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +0 -753
  802. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +0 -1487
  803. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +0 -700
  804. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +0 -797
  805. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +0 -744
  806. package/src/components/layouts/chat.css +0 -658
  807. package/src/components/layouts/fullpage.css +0 -426
  808. package/src/components/layouts/hidden-chat.css +0 -636
  809. package/src/components/layouts/layouts.stories.tsx +0 -232
  810. package/src/components/layouts/totem.css +0 -230
  811. package/src/components/layouts/zoomed-full-body.css +0 -374
  812. package/src/context/visemeContext.tsx +0 -384
  813. package/src/context/widgetSurfaceContext.tsx +0 -14
  814. package/src/helpers/chatPdfExport.ts +0 -547
  815. package/src/helpers/configuration.ts +0 -42
  816. package/src/helpers/constants.ts +0 -244
  817. package/src/helpers/credits.ts +0 -54
  818. package/src/helpers/error.test.ts +0 -29
  819. package/src/helpers/error.ts +0 -278
  820. package/src/helpers/imageCompression.ts +0 -230
  821. package/src/helpers/llmUsage.ts +0 -328
  822. package/src/helpers/markedExtendedTables.js +0 -217
  823. package/src/helpers/media.test.ts +0 -133
  824. package/src/helpers/media.ts +0 -54
  825. package/src/helpers/message.test.ts +0 -126
  826. package/src/helpers/message.ts +0 -204
  827. package/src/helpers/nats/getNatsConfig.ts +0 -145
  828. package/src/helpers/nats/isSessionExpiredError.test.ts +0 -38
  829. package/src/helpers/nats/isSessionExpiredError.ts +0 -51
  830. package/src/helpers/nats/useNats.ts +0 -124
  831. package/src/helpers/nats/useNatsSession.ts +0 -394
  832. package/src/helpers/piiDetection.test.ts +0 -186
  833. package/src/helpers/piiDetection.ts +0 -91
  834. package/src/helpers/positionPopover.test.ts +0 -33
  835. package/src/helpers/positionPopover.ts +0 -13
  836. package/src/helpers/sanitizer.ts +0 -17
  837. package/src/helpers/statistics.ts +0 -58
  838. package/src/helpers/stt/useSTT.ts +0 -515
  839. package/src/helpers/translations.ts +0 -39
  840. package/src/helpers/tts/ttsVoiceUtility.ts +0 -275
  841. package/src/helpers/tts/useTTS.ts +0 -621
  842. package/src/helpers/usePressTooltip.ts +0 -29
  843. package/src/helpers/utils.test.ts +0 -321
  844. package/src/helpers/utils.ts +0 -588
  845. package/src/helpers/venue.ts +0 -36
  846. package/src/i18n.ts +0 -41
  847. package/src/icons/FacebookIcon.tsx +0 -23
  848. package/src/icons/LinkedinIcon.tsx +0 -23
  849. package/src/icons/MemoriIcon.tsx +0 -80
  850. package/src/icons/TelegramIcon.tsx +0 -19
  851. package/src/icons/TwitterIcon.tsx +0 -8
  852. package/src/icons/WhatsappIcon.tsx +0 -23
  853. package/src/icons/artifacts/DocumentIcon.tsx +0 -19
  854. package/src/icons/artifacts/HtmlIcon.tsx +0 -38
  855. package/src/icons/artifacts/JavascriptIcon.tsx +0 -19
  856. package/src/icons/artifacts/MarkdownIcon.tsx +0 -19
  857. package/src/icons/artifacts/PythonIcon.tsx +0 -17
  858. package/src/icons/artifacts/SvgIcon.tsx +0 -34
  859. package/src/icons/artifacts/XmlIcon.tsx +0 -34
  860. package/src/icons/artifacts/cssIcon.tsx +0 -34
  861. package/src/index.stories.tsx +0 -226
  862. package/src/index.test.tsx +0 -156
  863. package/src/index.tsx +0 -595
  864. package/src/locales/de.json +0 -738
  865. package/src/locales/en.json +0 -812
  866. package/src/locales/es.json +0 -739
  867. package/src/locales/fr.json +0 -740
  868. package/src/locales/it.json +0 -808
  869. package/src/mocks/data.ts +0 -790
  870. package/src/styles.css +0 -244
  871. package/src/testUtils.tsx +0 -42
  872. package/src/types/integration.test.ts +0 -32
  873. package/src/types/integration.ts +0 -31
  874. package/src/types/layout.ts +0 -50
  875. package/src/version.ts +0 -2
@@ -1,749 +0,0 @@
1
- import React, { useEffect, useMemo, useRef, useState } from 'react';
2
- import { useTranslation } from 'react-i18next';
3
- import {
4
- Share2,
5
- Mail,
6
- Link as LinkIcon,
7
- Check,
8
- Download,
9
- FileText,
10
- } from 'lucide-react';
11
- import { QRCodeCanvas } from 'qrcode.react';
12
- import {
13
- Button,
14
- Dropdown,
15
- useAlertManager,
16
- createAlertOptions,
17
- Tooltip,
18
- } from '@memori.ai/ui';
19
- import cx from 'classnames';
20
- import {
21
- Tenant,
22
- Memori,
23
- Message,
24
- } from '@memori.ai/memori-api-client/dist/types';
25
- import { pdfExporter } from '../MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter';
26
- import {
27
- formatChatHistoryForPDF,
28
- createChatPDFDocument,
29
- ChatPDFOptions,
30
- } from '../../helpers/chatPdfExport';
31
- import FacebookIcon from '../../icons/FacebookIcon';
32
- import TwitterIcon from '../../icons/TwitterIcon';
33
- import LinkedinIcon from '../../icons/LinkedinIcon';
34
- import TelegramIcon from '../../icons/TelegramIcon';
35
- import WhatsappIcon from '../../icons/WhatsappIcon';
36
-
37
- export interface Props {
38
- tenant?: Tenant;
39
- memori?: Memori;
40
- sessionID?: string;
41
- url?: string;
42
- title?: string;
43
- primary?: boolean;
44
- /** Variant for the icon (or menu-item) trigger button. */
45
- triggerVariant?: React.ComponentProps<typeof Button>['variant'];
46
- className?: string;
47
- baseUrl?: string;
48
- showQrCode?: boolean;
49
- align?: 'left' | 'right';
50
- history?: Message[];
51
- triggerMode?: 'icon' | 'menu-item';
52
- triggerLabel?: string;
53
- renderMode?: 'dropdown' | 'inline';
54
- }
55
-
56
- /** Copy success/error label reset */
57
- const COPY_FEEDBACK_MS = 2500;
58
- /** Brief primary tint on other menu actions (matches copy success tone) */
59
- const MENU_ACTION_FLASH_MS = 900;
60
-
61
- const ShareButton: React.FC<Props> = ({
62
- tenant,
63
- memori,
64
- sessionID,
65
- url,
66
- title = '',
67
- baseUrl,
68
- showQrCode = true,
69
- align = 'right',
70
- history = [],
71
- className,
72
- triggerMode = 'icon',
73
- triggerLabel,
74
- triggerVariant = 'ghost',
75
- renderMode = 'dropdown',
76
- }: Props) => {
77
- const { t, i18n } = useTranslation();
78
- const { add } = useAlertManager();
79
- const [targetUrl, setTargetUrl] = useState(url);
80
- const [isExportingPDF, setIsExportingPDF] = useState(false);
81
- const [isShareMenuOpen, setIsShareMenuOpen] = useState(false);
82
- const [copyStatus, setCopyStatus] = useState<'idle' | 'success' | 'error'>(
83
- 'idle'
84
- );
85
- const [menuFlashKey, setMenuFlashKey] = useState<string | null>(null);
86
- const copyResetTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(
87
- null
88
- );
89
- const menuFlashTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(
90
- null
91
- );
92
- const shareMenuContainerRef = useRef<HTMLDivElement | null>(null);
93
-
94
- const clearCopyReset = () => {
95
- if (copyResetTimeoutRef.current !== null) {
96
- clearTimeout(copyResetTimeoutRef.current);
97
- copyResetTimeoutRef.current = null;
98
- }
99
- };
100
-
101
- const clearMenuFlash = () => {
102
- if (menuFlashTimeoutRef.current !== null) {
103
- clearTimeout(menuFlashTimeoutRef.current);
104
- menuFlashTimeoutRef.current = null;
105
- }
106
- setMenuFlashKey(null);
107
- };
108
-
109
- const flashMenuItem = (key: string) => {
110
- clearMenuFlash();
111
- setMenuFlashKey(key);
112
- menuFlashTimeoutRef.current = setTimeout(() => {
113
- setMenuFlashKey(null);
114
- menuFlashTimeoutRef.current = null;
115
- }, MENU_ACTION_FLASH_MS);
116
- };
117
-
118
- const scheduleCopyReset = () => {
119
- clearCopyReset();
120
- copyResetTimeoutRef.current = setTimeout(() => {
121
- setCopyStatus('idle');
122
- copyResetTimeoutRef.current = null;
123
- }, COPY_FEEDBACK_MS);
124
- };
125
-
126
- const handleShareMenuOpenChange = (open: boolean) => {
127
- setIsShareMenuOpen(open);
128
- if (!open) {
129
- clearCopyReset();
130
- clearMenuFlash();
131
- setCopyStatus('idle');
132
- }
133
- };
134
-
135
- const clearMenuItemFocus = () => {
136
- const activeElement = document.activeElement;
137
- if (
138
- activeElement instanceof HTMLElement &&
139
- shareMenuContainerRef.current?.contains(activeElement)
140
- ) {
141
- activeElement.blur();
142
- }
143
- };
144
-
145
- useEffect(
146
- () => () => {
147
- clearCopyReset();
148
- clearMenuFlash();
149
- },
150
- []
151
- );
152
-
153
- const handleCopyLink = async () => {
154
- if (!targetUrl) return;
155
- try {
156
- await navigator.clipboard.writeText(targetUrl);
157
- setCopyStatus('success');
158
- scheduleCopyReset();
159
- } catch {
160
- setCopyStatus('error');
161
- scheduleCopyReset();
162
- }
163
- };
164
-
165
- const qrImageURL = useMemo(
166
- () =>
167
- tenant?.theme
168
- ? `${baseUrl ?? 'https://aisuru.com'}/images/${
169
- tenant.theme
170
- }/square_logo.png`
171
- : `${baseUrl ?? 'https://aisuru.com'}/images/memori_logo.png`,
172
- [tenant, baseUrl]
173
- );
174
-
175
- useEffect(() => {
176
- if (!url) setTargetUrl(window.location.href);
177
- }, [url]);
178
-
179
- const socialShare = [
180
- {
181
- id: 'facebook',
182
- title: 'Facebook',
183
- url: `https://www.facebook.com/sharer/sharer.php?u=${targetUrl}`,
184
- icon: FacebookIcon,
185
- },
186
- {
187
- id: 'twitter',
188
- title: 'Twitter',
189
- url: `https://twitter.com/intent/tweet?url=${targetUrl}`,
190
- icon: TwitterIcon,
191
- },
192
- {
193
- id: 'linkedin',
194
- title: 'LinkedIn',
195
- url: `https://www.linkedin.com/shareArticle?mini=true&title=${title}&url=${targetUrl}`,
196
- icon: LinkedinIcon,
197
- },
198
- {
199
- id: 'whatsapp',
200
- title: 'Whatsapp',
201
- url: `https://api.whatsapp.com/send?phone=&text=${targetUrl}`,
202
- icon: WhatsappIcon,
203
- },
204
- {
205
- id: 'telegram',
206
- title: 'Telegram',
207
- url: `https://t.me/share/url?text=${title}&url=${targetUrl}`,
208
- icon: TelegramIcon,
209
- },
210
- {
211
- id: 'email',
212
- title: 'Email',
213
- url: `mailto:?subject=${
214
- title?.length > 0 ? title : url
215
- }&body=${targetUrl}`,
216
- icon: Mail,
217
- },
218
- ];
219
-
220
- const downloadQRCode = () => {
221
- const canvas: HTMLCanvasElement | null = document.getElementById(
222
- 'qr-canvas'
223
- ) as HTMLCanvasElement | null;
224
- if (!canvas) return;
225
- const link = document.createElement('a');
226
- link.href = canvas.toDataURL();
227
- link.download = `memori-${title}-share.png`;
228
- document.body.appendChild(link);
229
- link.click();
230
- document.body.removeChild(link);
231
- };
232
-
233
- const handleDownloadQR = () => {
234
- downloadQRCode();
235
- flashMenuItem('qr-download');
236
- };
237
-
238
- const openShareTarget = (item: { id: string; url: string }) => {
239
- if (item.id === 'email') {
240
- const opened = window.open(item.url, '_self');
241
- if (!opened) {
242
- window.location.href = item.url;
243
- }
244
- return;
245
- }
246
- window.open(item.url, '_blank', 'noopener,noreferrer');
247
- };
248
-
249
- /**
250
- * Export chat history as PDF
251
- */
252
- const handleExportPDF = async () => {
253
- if (!history || history.length === 0) {
254
- add(
255
- createAlertOptions({
256
- description:
257
- t('exportChatHistory.empty') || 'No chat history to export',
258
- severity: 'error',
259
- })
260
- );
261
- return;
262
- }
263
-
264
- if (!pdfExporter.isSupported()) {
265
- add(
266
- createAlertOptions({
267
- description:
268
- t('exportChatHistory.pdfNotSupported') ||
269
- 'PDF export is not supported in this browser',
270
- severity: 'error',
271
- })
272
- );
273
- return;
274
- }
275
-
276
- setIsExportingPDF(true);
277
-
278
- try {
279
- const memoriName = memori?.name || 'Chat';
280
- const pdfTitle = `${memoriName} - Chat Export`;
281
-
282
- // Format chat history as HTML using modular utility
283
- if (!memori) {
284
- throw new Error('Memori is required for PDF export');
285
- }
286
-
287
- const htmlContent = formatChatHistoryForPDF({
288
- messages: history,
289
- memori: memori,
290
- conversationStartedLabel:
291
- t('write_and_speak.conversationStartedLabel') ||
292
- 'Conversation started',
293
- language: navigator.language,
294
- });
295
-
296
- // Get the primary color RGB value from CSS variable
297
- let primaryColorRgb: string | undefined;
298
- try {
299
- const rootElement =
300
- document.querySelector('.memori-widget') ||
301
- document.querySelector('memori-client') ||
302
- document.documentElement;
303
- const computedStyle = getComputedStyle(rootElement);
304
- primaryColorRgb = computedStyle
305
- .getPropertyValue('--memori-primary-rgb')
306
- .trim();
307
- // If empty, try to get it from :root
308
- if (!primaryColorRgb) {
309
- primaryColorRgb = getComputedStyle(document.documentElement)
310
- .getPropertyValue('--memori-primary-rgb')
311
- .trim();
312
- }
313
- } catch (error) {
314
- console.warn(
315
- 'Could not read --memori-primary-rgb CSS variable:',
316
- error
317
- );
318
- }
319
-
320
- const pdfOptions: ChatPDFOptions = {
321
- fontSize: '12pt',
322
- fontFamily: 'system-ui, -apple-system, sans-serif',
323
- lineHeight: '1.6',
324
- color: 'var(--memori-text-color)',
325
- backgroundColor: '#fff',
326
- primaryColorRgb: primaryColorRgb || undefined,
327
- };
328
-
329
- // Create the full HTML document with structure like artifacts
330
- const htmlDocument = createChatPDFDocument(
331
- htmlContent,
332
- pdfTitle,
333
- pdfOptions
334
- );
335
-
336
- // Create print window and export PDF directly (not through pdfExporter which expects markdown)
337
- const printWindow = window.open(
338
- '',
339
- '_blank',
340
- 'width=800,height=600,scrollbars=yes,resizable=yes'
341
- );
342
- if (!printWindow) {
343
- throw new Error('Popup blocked! Please enable popups to export PDF.');
344
- }
345
-
346
- printWindow.document.write(htmlDocument);
347
- printWindow.document.close();
348
- printWindow.document.title = pdfTitle;
349
-
350
- // Wait for content to load, then trigger print
351
- setTimeout(() => {
352
- if (printWindow && !printWindow.closed) {
353
- printWindow.focus();
354
- printWindow.print();
355
-
356
- // Close window after print dialog closes
357
- setTimeout(() => {
358
- if (printWindow && !printWindow.closed) {
359
- printWindow.close();
360
- }
361
- }, 1000);
362
- }
363
- }, 500);
364
-
365
- add(
366
- createAlertOptions({
367
- description:
368
- t('exportChatHistory.success') ||
369
- 'Chat exported to PDF successfully',
370
- severity: 'success',
371
- })
372
- );
373
- flashMenuItem('export-pdf');
374
- } catch (error) {
375
- console.error('PDF export error:', error);
376
- add(
377
- createAlertOptions({
378
- description:
379
- t('exportChatHistory.error') ||
380
- 'Failed to export chat to PDF. Please try again.',
381
- severity: 'error',
382
- })
383
- );
384
- } finally {
385
- setIsExportingPDF(false);
386
- }
387
- };
388
-
389
- const sharedUrl = useMemo(() => {
390
- if (!memori || !sessionID) return undefined;
391
-
392
- if (memori.ownerUserID) {
393
- return `${baseUrl ?? 'https://www.aisuru.com'}/${
394
- i18n.language === 'it' ? 'it' : 'en'
395
- }/shared/${memori.ownerUserID}/${memori.memoriID}/${sessionID}`;
396
- }
397
-
398
- if (memori.exposed) {
399
- return `${baseUrl ?? 'https://www.aisuru.com'}/${
400
- i18n.language === 'it' ? 'it' : 'en'
401
- }/shared/${memori.ownerUserName}/${memori.name}/${sessionID}`;
402
- }
403
- ``;
404
-
405
- return undefined;
406
- }, [memori, sessionID, baseUrl, i18n.language]);
407
-
408
- const shareMenu = (
409
- <>
410
- <div className="memori-share-button--dropdown-section">
411
- {memori && sessionID && sharedUrl && (
412
- <button
413
- type="button"
414
- className={cx('memori-share-button--inline-item', {
415
- 'memori-share-button--menu-item--flash':
416
- menuFlashKey === 'share-chat',
417
- })}
418
- onClick={() => {
419
- window.open(sharedUrl, '_blank');
420
- flashMenuItem('share-chat');
421
- }}
422
- >
423
- <Share2 />
424
- <span>{t('widget.shareChat') || 'Share chat'}</span>
425
- </button>
426
- )}
427
- {history && history.length > 0 && (
428
- <button
429
- type="button"
430
- className={cx('memori-share-button--inline-item', {
431
- 'memori-share-button--menu-item--flash':
432
- menuFlashKey === 'export-pdf',
433
- })}
434
- onClick={handleExportPDF}
435
- disabled={isExportingPDF}
436
- >
437
- <FileText />
438
- <span>
439
- {isExportingPDF
440
- ? t('exportChatHistory.exporting') || 'Exporting...'
441
- : t('exportChatHistory.exportPDF') || 'Export chat as PDF'}
442
- </span>
443
- </button>
444
- )}
445
- <button
446
- type="button"
447
- className={cx('memori-share-button--inline-item', {
448
- 'memori-share-button--copy-item--success': copyStatus === 'success',
449
- 'memori-share-button--copy-item--error': copyStatus === 'error',
450
- })}
451
- onClick={handleCopyLink}
452
- >
453
- {copyStatus === 'success' ? (
454
- <Check strokeWidth={2.5} />
455
- ) : (
456
- <LinkIcon />
457
- )}
458
- <span>
459
- {copyStatus === 'success'
460
- ? t('copied')
461
- : copyStatus === 'error'
462
- ? t('copyFailed', { defaultValue: 'Could not copy' })
463
- : t('copyToClipboard') || undefined}
464
- </span>
465
- </button>
466
- </div>
467
- <div className="memori-share-button--dropdown-divider" />
468
- <div className="memori-share-button--dropdown-section">
469
- {socialShare.map(item => {
470
- const IconComponent = item.icon;
471
- return (
472
- <button
473
- type="button"
474
- key={item.id}
475
- className={cx('memori-share-button--inline-item', {
476
- 'memori-share-button--menu-item--flash':
477
- menuFlashKey === item.id,
478
- })}
479
- onClick={() => {
480
- openShareTarget(item);
481
- flashMenuItem(item.id);
482
- }}
483
- >
484
- <IconComponent aria-hidden />
485
- <span>{item.title}</span>
486
- </button>
487
- );
488
- })}
489
- </div>
490
- {showQrCode && (
491
- <>
492
- <div className="memori-share-button--dropdown-divider" />
493
- <div className="memori-share-button--qr-content">
494
- <QRCodeCanvas
495
- id="qr-canvas"
496
- value={targetUrl ?? ''}
497
- size={128}
498
- bgColor={'#ffffff'}
499
- fgColor={'#000000'}
500
- level={'H'}
501
- includeMargin={false}
502
- imageSettings={{
503
- src: qrImageURL,
504
- x: undefined,
505
- y: undefined,
506
- height: 32,
507
- width: 32,
508
- excavate: true,
509
- }}
510
- />
511
- <button
512
- type="button"
513
- className="memori-share-button--qr-download"
514
- onClick={handleDownloadQR}
515
- >
516
- <Download aria-hidden />
517
- <span>
518
- {t('widget.downloadQrCode') ||
519
- t('download', { defaultValue: 'Download' })}
520
- </span>
521
- </button>
522
- </div>
523
- </>
524
- )}
525
- </>
526
- );
527
-
528
- if (renderMode === 'inline') {
529
- return (
530
- <div className={cx('memori-share-button--inline-list', className)}>
531
- {shareMenu}
532
- </div>
533
- );
534
- }
535
-
536
- return (
537
- <Dropdown
538
- onOpenChange={handleShareMenuOpenChange}
539
- className={cx(
540
- 'memori-share-button',
541
- {
542
- 'memori-share-button--align-left': align === 'left',
543
- },
544
- className
545
- )}
546
- >
547
- <Tooltip content={t('widget.share') || undefined} placement="bottom">
548
- <Dropdown.Trigger
549
- showChevron={false}
550
- className="memori-share-button--trigger"
551
- render={(props: React.ButtonHTMLAttributes<HTMLButtonElement>) => (
552
- <Button
553
- {...props}
554
- variant={triggerVariant}
555
- aria-label={String(
556
- triggerLabel || t('widget.share') || 'Share'
557
- )}
558
- icon={<Share2 aria-hidden />}
559
- className={cx(
560
- {
561
- 'memori-share-button--trigger-menu-item':
562
- triggerMode === 'menu-item',
563
- },
564
- isShareMenuOpen && 'memori-button--active'
565
- )}
566
- >
567
- {triggerMode === 'menu-item'
568
- ? triggerLabel || t('widget.share')
569
- : undefined}
570
- </Button>
571
- )}
572
- />
573
- </Tooltip>
574
- <Dropdown.Menu className="memori-share-button--dropdown-menu">
575
- <div
576
- ref={shareMenuContainerRef}
577
- className="memori-share-button--dropdown-content"
578
- onMouseLeave={clearMenuItemFocus}
579
- >
580
- <div className="memori-share-button--dropdown-section">
581
- {memori && sessionID && sharedUrl && (
582
- <Dropdown.Item
583
- key="shared"
584
- closeOnClick={false}
585
- className={cx('memori-share-button--menu-item', {
586
- 'memori-share-button--menu-item--flash':
587
- menuFlashKey === 'share-chat',
588
- })}
589
- onClick={() => {
590
- window.open(sharedUrl, '_blank');
591
- flashMenuItem('share-chat');
592
- }}
593
- {...({ icon: <Share2 /> } as React.ComponentProps<
594
- typeof Dropdown.Item
595
- >)}
596
- >
597
- <span className="memori-share-button--dropdown-item-content">
598
- {t('widget.shareChat') || 'Share chat'}
599
- </span>
600
- </Dropdown.Item>
601
- )}
602
- {history && history.length > 0 && (
603
- <Dropdown.Item
604
- key="export-pdf"
605
- closeOnClick={false}
606
- className={cx('memori-share-button--menu-item', {
607
- 'memori-share-button--menu-item--flash':
608
- menuFlashKey === 'export-pdf',
609
- })}
610
- onClick={handleExportPDF}
611
- disabled={isExportingPDF}
612
- {...({ icon: <FileText /> } as React.ComponentProps<
613
- typeof Dropdown.Item
614
- >)}
615
- >
616
- <span className="memori-share-button--dropdown-item-content">
617
- {isExportingPDF
618
- ? t('exportChatHistory.exporting') || 'Exporting...'
619
- : t('exportChatHistory.exportPDF') || 'Export chat as PDF'}
620
- </span>
621
- </Dropdown.Item>
622
- )}
623
- <Dropdown.Item
624
- closeOnClick={false}
625
- className={cx(
626
- 'memori-share-button--menu-item',
627
- 'memori-share-button--copy-item',
628
- {
629
- 'memori-share-button--copy-item--success':
630
- copyStatus === 'success',
631
- 'memori-share-button--copy-item--error': copyStatus === 'error',
632
- }
633
- )}
634
- onClick={handleCopyLink}
635
- {...({
636
- icon:
637
- copyStatus === 'success' ? (
638
- <Check
639
- className="memori-share-button--copy-icon"
640
- aria-hidden
641
- strokeWidth={2.5}
642
- />
643
- ) : (
644
- <LinkIcon
645
- className="memori-share-button--copy-icon"
646
- aria-hidden
647
- />
648
- ),
649
- } as React.ComponentProps<typeof Dropdown.Item>)}
650
- >
651
- <span
652
- className="memori-share-button--dropdown-item-content memori-share-button--copy-label"
653
- aria-live="polite"
654
- >
655
- {copyStatus === 'success'
656
- ? t('copied')
657
- : copyStatus === 'error'
658
- ? t('copyFailed', { defaultValue: 'Could not copy' })
659
- : t('copyToClipboard') || undefined}
660
- </span>
661
- </Dropdown.Item>
662
- </div>
663
- <div className="memori-share-button--dropdown-divider" />
664
- <div className="memori-share-button--dropdown-section">
665
- {socialShare.map(item => {
666
- const IconComponent = item.icon;
667
- return (
668
- <Dropdown.Item
669
- key={item.id}
670
- closeOnClick={false}
671
- className={cx('memori-share-button--menu-item', {
672
- 'memori-share-button--menu-item--flash':
673
- menuFlashKey === item.id,
674
- })}
675
- onClick={() => {
676
- openShareTarget(item);
677
- flashMenuItem(item.id);
678
- }}
679
- {...({ icon: <IconComponent /> } as React.ComponentProps<
680
- typeof Dropdown.Item
681
- >)}
682
- >
683
- <span className="memori-share-button--dropdown-item-content">
684
- {item.title}
685
- </span>
686
- </Dropdown.Item>
687
- );
688
- })}
689
- </div>
690
- {showQrCode && (
691
- <>
692
- <div className="memori-share-button--dropdown-divider" />
693
- <Dropdown.Item
694
- closeOnClick={false}
695
- className={cx(
696
- 'memori-share-button--menu-item',
697
- 'memori-share-button--qr-item',
698
- {
699
- 'memori-share-button--menu-item--flash':
700
- menuFlashKey === 'qr-download',
701
- }
702
- )}
703
- onClick={handleDownloadQR}
704
- >
705
- <div className="memori-share-button--qr-content">
706
- <QRCodeCanvas
707
- id="qr-canvas"
708
- value={targetUrl ?? ''}
709
- size={128}
710
- bgColor={'#ffffff'}
711
- fgColor={'#000000'}
712
- level={'H'}
713
- includeMargin={false}
714
- imageSettings={{
715
- src: qrImageURL,
716
- x: undefined,
717
- y: undefined,
718
- height: 32,
719
- width: 32,
720
- excavate: true,
721
- }}
722
- />
723
- <button
724
- type="button"
725
- className="memori-share-button--qr-download"
726
- onClick={event => {
727
- event.stopPropagation();
728
- handleDownloadQR();
729
- }}
730
- >
731
- <Download aria-hidden />
732
- <span>
733
- {String(
734
- t('widget.downloadQrCode') ||
735
- t('download', { defaultValue: 'Download' })
736
- )}
737
- </span>
738
- </button>
739
- </div>
740
- </Dropdown.Item>
741
- </>
742
- )}
743
- </div>
744
- </Dropdown.Menu>
745
- </Dropdown>
746
- );
747
- };
748
-
749
- export default ShareButton;