@memori.ai/memori-react 9.0.0-alpha.1 → 9.0.0-alpha.12

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 (956) hide show
  1. package/CHANGELOG.md +642 -0
  2. package/dist/components/AgeVerificationModal/AgeVerificationModal.js +8 -3
  3. package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  4. package/dist/components/Auth/Auth.js +3 -1
  5. package/dist/components/Auth/Auth.js.map +1 -1
  6. package/dist/components/Avatar/Avatar.js +5 -10
  7. package/dist/components/Avatar/Avatar.js.map +1 -1
  8. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +8 -1
  9. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  10. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js +1 -1
  11. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js.map +1 -1
  12. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +2 -0
  13. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js +14 -5
  14. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -1
  15. package/dist/components/Chat/Chat.css +108 -20
  16. package/dist/components/Chat/Chat.d.ts +3 -0
  17. package/dist/components/Chat/Chat.js +63 -55
  18. package/dist/components/Chat/Chat.js.map +1 -1
  19. package/dist/components/ChatBubble/ChatBubble.css +42 -14
  20. package/dist/components/ChatBubble/ChatBubble.js +35 -39
  21. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  22. package/dist/components/ChatHistoryDrawer/ChatHistory.css +4 -0
  23. package/dist/components/ChatHistoryDrawer/ChatHistory.js +27 -10
  24. package/dist/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
  25. package/dist/components/ChatInputs/ChatInputs.css +292 -108
  26. package/dist/components/ChatInputs/ChatInputs.d.ts +1 -0
  27. package/dist/components/ChatInputs/ChatInputs.js +2 -2
  28. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  29. package/dist/components/ChatTextArea/ChatTextArea.css +30 -6
  30. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js +6 -3
  31. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  32. package/dist/components/ContentPreviewModal/ContentPreviewModal.js +3 -1
  33. package/dist/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
  34. package/dist/components/DateSelector/DateSelector.d.ts +2 -1
  35. package/dist/components/DateSelector/DateSelector.js +17 -7
  36. package/dist/components/DateSelector/DateSelector.js.map +1 -1
  37. package/dist/components/ExpertsDrawer/ExpertsDrawer.js +3 -1
  38. package/dist/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
  39. package/dist/components/FilePreview/FilePreview.js +22 -5
  40. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  41. package/dist/components/Header/ChatConsumptionDropdown.d.ts +3 -1
  42. package/dist/components/Header/ChatConsumptionDropdown.js +4 -3
  43. package/dist/components/Header/ChatConsumptionDropdown.js.map +1 -1
  44. package/dist/components/Header/Header.css +16 -10
  45. package/dist/components/Header/Header.js +103 -22
  46. package/dist/components/Header/Header.js.map +1 -1
  47. package/dist/components/KnownFacts/KnownFacts.js +7 -5
  48. package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
  49. package/dist/components/LoginDrawer/LoginDrawer.css +1 -0
  50. package/dist/components/LoginDrawer/LoginDrawer.js +3 -1
  51. package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
  52. package/dist/components/MediaWidget/MediaItemWidget.js +14 -12
  53. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  54. package/dist/components/MediaWidget/MediaItemWidget.utils.d.ts +3 -2
  55. package/dist/components/MediaWidget/MediaItemWidget.utils.js +28 -6
  56. package/dist/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
  57. package/dist/components/MediaWidget/MediaPreviewModal.js +6 -7
  58. package/dist/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  59. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +5 -5
  60. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +119 -53
  61. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.d.ts +1 -0
  62. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +19 -11
  63. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  64. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +4 -0
  65. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +2 -2
  66. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  67. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +1 -1
  68. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  69. package/dist/components/MemoriWidget/MemoriWidget.css +5 -5
  70. package/dist/components/MemoriWidget/MemoriWidget.d.ts +1 -0
  71. package/dist/components/MemoriWidget/MemoriWidget.js +788 -430
  72. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  73. package/dist/components/MicrophoneButton/MicrophoneButton.css +50 -18
  74. package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +3 -1
  75. package/dist/components/MobileSessionPanel/MobileSessionPanel.js +5 -4
  76. package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  77. package/dist/components/PoweredBy/PoweredBy.css +4 -3
  78. package/dist/components/SettingsDrawer/SettingsDrawer.js +3 -1
  79. package/dist/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  80. package/dist/components/ShareButton/ShareButton.js +2 -4
  81. package/dist/components/ShareButton/ShareButton.js.map +1 -1
  82. package/dist/components/StartPanel/StartPanel.js +13 -6
  83. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  84. package/dist/components/UploadButton/UploadButton.js +21 -5
  85. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  86. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +126 -60
  87. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  88. package/dist/components/UploadButton/UploadImages/UploadImages.js +4 -2
  89. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  90. package/dist/components/WhyThisAnswer/WhyThisAnswer.js +3 -1
  91. package/dist/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
  92. package/dist/components/layouts/Chat.js +30 -30
  93. package/dist/components/layouts/Chat.js.map +1 -1
  94. package/dist/components/layouts/FullPage.js +36 -9
  95. package/dist/components/layouts/FullPage.js.map +1 -1
  96. package/dist/components/layouts/HiddenChat.js +12 -237
  97. package/dist/components/layouts/HiddenChat.js.map +1 -1
  98. package/dist/components/layouts/Totem.js +10 -1
  99. package/dist/components/layouts/Totem.js.map +1 -1
  100. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +29 -2
  101. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  102. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +160 -59
  103. package/dist/components/layouts/ZoomedFullBody.js +36 -9
  104. package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
  105. package/dist/components/layouts/chat.css +152 -63
  106. package/dist/components/layouts/fullpage.css +229 -84
  107. package/dist/components/layouts/hidden-chat.css +149 -34
  108. package/dist/components/layouts/totem.css +151 -50
  109. package/dist/components/layouts/zoomed-full-body.css +332 -33
  110. package/dist/context/widgetSurfaceContext.d.ts +3 -0
  111. package/dist/context/widgetSurfaceContext.js +11 -0
  112. package/dist/context/widgetSurfaceContext.js.map +1 -0
  113. package/dist/helpers/constants.d.ts +3 -0
  114. package/dist/helpers/constants.js +27 -1
  115. package/dist/helpers/constants.js.map +1 -1
  116. package/dist/helpers/credits.d.ts +5 -2
  117. package/dist/helpers/credits.js +5 -1
  118. package/dist/helpers/credits.js.map +1 -1
  119. package/dist/helpers/media.js +18 -3
  120. package/dist/helpers/media.js.map +1 -1
  121. package/dist/helpers/message.d.ts +1 -1
  122. package/dist/helpers/message.js +4 -4
  123. package/dist/helpers/message.js.map +1 -1
  124. package/dist/helpers/nats/getNatsConfig.d.ts +9 -0
  125. package/dist/helpers/nats/getNatsConfig.js +65 -0
  126. package/dist/helpers/nats/getNatsConfig.js.map +1 -0
  127. package/dist/helpers/nats/isSessionExpiredError.d.ts +3 -0
  128. package/dist/helpers/nats/isSessionExpiredError.js +36 -0
  129. package/dist/helpers/nats/isSessionExpiredError.js.map +1 -0
  130. package/dist/helpers/nats/useNats.d.ts +12 -0
  131. package/dist/helpers/nats/useNats.js +75 -0
  132. package/dist/helpers/nats/useNats.js.map +1 -0
  133. package/dist/helpers/nats/useNatsSession.d.ts +28 -0
  134. package/dist/helpers/nats/useNatsSession.js +212 -0
  135. package/dist/helpers/nats/useNatsSession.js.map +1 -0
  136. package/dist/helpers/positionPopover.d.ts +1 -0
  137. package/dist/helpers/positionPopover.js +7 -0
  138. package/dist/helpers/positionPopover.js.map +1 -0
  139. package/dist/helpers/usePressTooltip.d.ts +13 -0
  140. package/dist/helpers/usePressTooltip.js +23 -0
  141. package/dist/helpers/usePressTooltip.js.map +1 -0
  142. package/dist/helpers/utils.d.ts +21 -0
  143. package/dist/helpers/utils.js +75 -4
  144. package/dist/helpers/utils.js.map +1 -1
  145. package/dist/index.js +16 -16
  146. package/dist/index.js.map +1 -1
  147. package/dist/locales/de.json +11 -1
  148. package/dist/locales/en.json +12 -2
  149. package/dist/locales/es.json +11 -1
  150. package/dist/locales/fr.json +11 -1
  151. package/dist/locales/it.json +12 -2
  152. package/dist/styles.css +1 -163
  153. package/dist/types/integration.d.ts +3 -0
  154. package/dist/types/integration.js +16 -0
  155. package/dist/types/integration.js.map +1 -0
  156. package/dist/version.d.ts +1 -1
  157. package/dist/version.js +1 -1
  158. package/dist/version.js.map +1 -1
  159. package/esm/components/AgeVerificationModal/AgeVerificationModal.js +8 -3
  160. package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  161. package/esm/components/Auth/Auth.js +3 -1
  162. package/esm/components/Auth/Auth.js.map +1 -1
  163. package/esm/components/Avatar/Avatar.js +5 -10
  164. package/esm/components/Avatar/Avatar.js.map +1 -1
  165. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +9 -2
  166. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  167. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js +2 -2
  168. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js.map +1 -1
  169. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +2 -0
  170. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js +13 -4
  171. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -1
  172. package/esm/components/Chat/Chat.css +108 -20
  173. package/esm/components/Chat/Chat.d.ts +3 -0
  174. package/esm/components/Chat/Chat.js +63 -55
  175. package/esm/components/Chat/Chat.js.map +1 -1
  176. package/esm/components/ChatBubble/ChatBubble.css +42 -14
  177. package/esm/components/ChatBubble/ChatBubble.js +36 -40
  178. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  179. package/esm/components/ChatHistoryDrawer/ChatHistory.css +4 -0
  180. package/esm/components/ChatHistoryDrawer/ChatHistory.js +27 -10
  181. package/esm/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
  182. package/esm/components/ChatInputs/ChatInputs.css +292 -108
  183. package/esm/components/ChatInputs/ChatInputs.d.ts +1 -0
  184. package/esm/components/ChatInputs/ChatInputs.js +2 -2
  185. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  186. package/esm/components/ChatTextArea/ChatTextArea.css +30 -6
  187. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js +6 -3
  188. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  189. package/esm/components/ContentPreviewModal/ContentPreviewModal.js +3 -1
  190. package/esm/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
  191. package/esm/components/DateSelector/DateSelector.d.ts +2 -1
  192. package/esm/components/DateSelector/DateSelector.js +17 -7
  193. package/esm/components/DateSelector/DateSelector.js.map +1 -1
  194. package/esm/components/ExpertsDrawer/ExpertsDrawer.js +3 -1
  195. package/esm/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
  196. package/esm/components/FilePreview/FilePreview.js +24 -7
  197. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  198. package/esm/components/Header/ChatConsumptionDropdown.d.ts +3 -1
  199. package/esm/components/Header/ChatConsumptionDropdown.js +5 -4
  200. package/esm/components/Header/ChatConsumptionDropdown.js.map +1 -1
  201. package/esm/components/Header/Header.css +16 -10
  202. package/esm/components/Header/Header.js +104 -23
  203. package/esm/components/Header/Header.js.map +1 -1
  204. package/esm/components/KnownFacts/KnownFacts.js +7 -5
  205. package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
  206. package/esm/components/LoginDrawer/LoginDrawer.css +1 -0
  207. package/esm/components/LoginDrawer/LoginDrawer.js +3 -1
  208. package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
  209. package/esm/components/MediaWidget/MediaItemWidget.js +16 -14
  210. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  211. package/esm/components/MediaWidget/MediaItemWidget.utils.d.ts +3 -2
  212. package/esm/components/MediaWidget/MediaItemWidget.utils.js +27 -6
  213. package/esm/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
  214. package/esm/components/MediaWidget/MediaPreviewModal.js +6 -7
  215. package/esm/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  216. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +5 -5
  217. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +119 -53
  218. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.d.ts +1 -0
  219. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +19 -11
  220. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  221. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +4 -0
  222. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +2 -2
  223. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  224. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +2 -2
  225. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  226. package/esm/components/MemoriWidget/MemoriWidget.css +5 -5
  227. package/esm/components/MemoriWidget/MemoriWidget.d.ts +1 -0
  228. package/esm/components/MemoriWidget/MemoriWidget.js +789 -431
  229. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  230. package/esm/components/MicrophoneButton/MicrophoneButton.css +50 -18
  231. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +3 -1
  232. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +5 -4
  233. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  234. package/esm/components/PoweredBy/PoweredBy.css +4 -3
  235. package/esm/components/SettingsDrawer/SettingsDrawer.js +3 -1
  236. package/esm/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  237. package/esm/components/ShareButton/ShareButton.js +2 -4
  238. package/esm/components/ShareButton/ShareButton.js.map +1 -1
  239. package/esm/components/StartPanel/StartPanel.js +13 -6
  240. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  241. package/esm/components/UploadButton/UploadButton.js +21 -5
  242. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  243. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +126 -60
  244. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  245. package/esm/components/UploadButton/UploadImages/UploadImages.js +4 -2
  246. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  247. package/esm/components/WhyThisAnswer/WhyThisAnswer.js +3 -1
  248. package/esm/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
  249. package/esm/components/layouts/Chat.js +30 -30
  250. package/esm/components/layouts/Chat.js.map +1 -1
  251. package/esm/components/layouts/FullPage.js +36 -9
  252. package/esm/components/layouts/FullPage.js.map +1 -1
  253. package/esm/components/layouts/HiddenChat.js +14 -239
  254. package/esm/components/layouts/HiddenChat.js.map +1 -1
  255. package/esm/components/layouts/Totem.js +10 -1
  256. package/esm/components/layouts/Totem.js.map +1 -1
  257. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +29 -2
  258. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  259. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +160 -59
  260. package/esm/components/layouts/ZoomedFullBody.js +36 -9
  261. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  262. package/esm/components/layouts/chat.css +152 -63
  263. package/esm/components/layouts/fullpage.css +229 -84
  264. package/esm/components/layouts/hidden-chat.css +149 -34
  265. package/esm/components/layouts/totem.css +151 -50
  266. package/esm/components/layouts/zoomed-full-body.css +332 -33
  267. package/esm/context/widgetSurfaceContext.d.ts +3 -0
  268. package/esm/context/widgetSurfaceContext.js +7 -0
  269. package/esm/context/widgetSurfaceContext.js.map +1 -0
  270. package/esm/helpers/constants.d.ts +3 -0
  271. package/esm/helpers/constants.js +26 -0
  272. package/esm/helpers/constants.js.map +1 -1
  273. package/esm/helpers/credits.d.ts +5 -2
  274. package/esm/helpers/credits.js +5 -1
  275. package/esm/helpers/credits.js.map +1 -1
  276. package/esm/helpers/media.js +18 -3
  277. package/esm/helpers/media.js.map +1 -1
  278. package/esm/helpers/message.d.ts +1 -1
  279. package/esm/helpers/message.js +2 -2
  280. package/esm/helpers/message.js.map +1 -1
  281. package/esm/helpers/nats/getNatsConfig.d.ts +9 -0
  282. package/esm/helpers/nats/getNatsConfig.js +61 -0
  283. package/esm/helpers/nats/getNatsConfig.js.map +1 -0
  284. package/esm/helpers/nats/isSessionExpiredError.d.ts +3 -0
  285. package/esm/helpers/nats/isSessionExpiredError.js +32 -0
  286. package/esm/helpers/nats/isSessionExpiredError.js.map +1 -0
  287. package/esm/helpers/nats/useNats.d.ts +12 -0
  288. package/esm/helpers/nats/useNats.js +72 -0
  289. package/esm/helpers/nats/useNats.js.map +1 -0
  290. package/esm/helpers/nats/useNatsSession.d.ts +28 -0
  291. package/esm/helpers/nats/useNatsSession.js +208 -0
  292. package/esm/helpers/nats/useNatsSession.js.map +1 -0
  293. package/esm/helpers/positionPopover.d.ts +1 -0
  294. package/esm/helpers/positionPopover.js +4 -0
  295. package/esm/helpers/positionPopover.js.map +1 -0
  296. package/esm/helpers/usePressTooltip.d.ts +13 -0
  297. package/esm/helpers/usePressTooltip.js +20 -0
  298. package/esm/helpers/usePressTooltip.js.map +1 -0
  299. package/esm/helpers/utils.d.ts +21 -0
  300. package/esm/helpers/utils.js +68 -3
  301. package/esm/helpers/utils.js.map +1 -1
  302. package/esm/index.js +17 -17
  303. package/esm/index.js.map +1 -1
  304. package/esm/locales/de.json +11 -1
  305. package/esm/locales/en.json +12 -2
  306. package/esm/locales/es.json +11 -1
  307. package/esm/locales/fr.json +11 -1
  308. package/esm/locales/it.json +12 -2
  309. package/esm/styles.css +1 -163
  310. package/esm/types/integration.d.ts +3 -0
  311. package/esm/types/integration.js +11 -0
  312. package/esm/types/integration.js.map +1 -0
  313. package/esm/version.d.ts +1 -1
  314. package/esm/version.js +1 -1
  315. package/esm/version.js.map +1 -1
  316. package/package.json +13 -6
  317. package/src/__snapshots__/index.test.tsx.snap +0 -50
  318. package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +9 -1
  319. package/src/components/Auth/Auth.tsx +3 -0
  320. package/src/components/Avatar/Avatar.stories.tsx +45 -28
  321. package/src/components/Avatar/Avatar.test.tsx +54 -0
  322. package/src/components/Avatar/Avatar.tsx +8 -12
  323. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +12 -5
  324. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.ts +2 -1
  325. package/src/components/Avatar/AvatarView/AvatarComponent/constants.ts +16 -4
  326. package/src/components/Avatar/__snapshots__/Avatar.test.tsx.snap +164 -0
  327. package/src/components/BlockedMemoriBadge/__snapshots__/BlockedMemoriBadge.test.tsx.snap +10 -10
  328. package/src/components/Chat/Chat.css +108 -20
  329. package/src/components/Chat/Chat.tsx +28 -0
  330. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +7449 -7369
  331. package/src/components/ChatBubble/ChatBubble.css +42 -14
  332. package/src/components/ChatBubble/ChatBubble.test.tsx +25 -1
  333. package/src/components/ChatBubble/ChatBubble.tsx +64 -39
  334. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +90 -90
  335. package/src/components/ChatHistoryDrawer/ChatHistory.css +4 -0
  336. package/src/components/ChatHistoryDrawer/ChatHistory.test.tsx +77 -1
  337. package/src/components/ChatHistoryDrawer/ChatHistory.tsx +59 -27
  338. package/src/components/ChatInputs/ChatInputs.css +292 -108
  339. package/src/components/ChatInputs/ChatInputs.tsx +14 -4
  340. package/src/components/ChatTextArea/ChatTextArea.css +30 -6
  341. package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +8 -4
  342. package/src/components/CompletionProviderStatus/__snapshots__/CompletionProviderStatus.test.tsx.snap +6 -6
  343. package/src/components/ContentPreviewModal/ContentPreviewModal.tsx +3 -0
  344. package/src/components/DateSelector/DateSelector.stories.tsx +11 -2
  345. package/src/components/DateSelector/DateSelector.tsx +28 -9
  346. package/src/components/ExpertsDrawer/ExpertsDrawer.tsx +3 -0
  347. package/src/components/FeedbackButtons/__snapshots__/FeedbackButtons.test.tsx.snap +2 -2
  348. package/src/components/FilePreview/FilePreview.tsx +28 -7
  349. package/src/components/Header/ChatConsumptionDropdown.tsx +16 -5
  350. package/src/components/Header/Header.css +16 -10
  351. package/src/components/Header/Header.tsx +331 -53
  352. package/src/components/Header/__snapshots__/Header.test.tsx.snap +109 -83
  353. package/src/components/KnownFacts/KnownFacts.tsx +7 -0
  354. package/src/components/LoginDrawer/LoginDrawer.css +1 -0
  355. package/src/components/LoginDrawer/LoginDrawer.tsx +3 -0
  356. package/src/components/MediaWidget/MediaItemWidget.tsx +26 -13
  357. package/src/components/MediaWidget/MediaItemWidget.utils.test.ts +45 -2
  358. package/src/components/MediaWidget/MediaItemWidget.utils.ts +39 -6
  359. package/src/components/MediaWidget/MediaPreviewModal.tsx +9 -7
  360. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +218 -2252
  361. package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +5 -5
  362. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +119 -53
  363. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +35 -16
  364. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +4 -0
  365. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +4 -3
  366. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +2 -2
  367. package/src/components/MemoriWidget/MemoriWidget.css +5 -5
  368. package/src/components/MemoriWidget/MemoriWidget.tsx +1237 -729
  369. package/src/components/MicrophoneButton/MicrophoneButton.css +50 -18
  370. package/src/components/MobileSessionPanel/MobileSessionPanel.tsx +44 -30
  371. package/src/components/PoweredBy/PoweredBy.css +4 -3
  372. package/src/components/SettingsDrawer/SettingsDrawer.tsx +3 -0
  373. package/src/components/ShareButton/ShareButton.tsx +6 -3
  374. package/src/components/ShareButton/__snapshots__/ShareButton.test.tsx.snap +27 -18
  375. package/src/components/StartPanel/StartPanel.stories.tsx +22 -0
  376. package/src/components/StartPanel/StartPanel.test.tsx +64 -1
  377. package/src/components/StartPanel/StartPanel.tsx +30 -4
  378. package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +293 -32
  379. package/src/components/UploadButton/UploadButton.tsx +30 -11
  380. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +151 -61
  381. package/src/components/UploadButton/UploadImages/UploadImages.tsx +4 -1
  382. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +4 -4
  383. package/src/components/WhyThisAnswer/WhyThisAnswer.tsx +3 -0
  384. package/src/components/layouts/Chat.tsx +157 -145
  385. package/src/components/layouts/FullPage.tsx +92 -25
  386. package/src/components/layouts/HiddenChat.tsx +21 -413
  387. package/src/components/layouts/Totem.tsx +20 -3
  388. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.tsx +71 -15
  389. package/src/components/layouts/WebsiteAssistant/__snapshots__/WebsiteAssistant.test.tsx.snap +58 -44
  390. package/src/components/layouts/WebsiteAssistant/website-assistant.css +160 -59
  391. package/src/components/layouts/ZoomedFullBody.tsx +95 -27
  392. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +621 -582
  393. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +1252 -1162
  394. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +551 -437
  395. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +589 -602
  396. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +609 -564
  397. package/src/components/layouts/chat.css +152 -63
  398. package/src/components/layouts/fullpage.css +229 -84
  399. package/src/components/layouts/hidden-chat.css +149 -34
  400. package/src/components/layouts/layouts.stories.tsx +135 -15
  401. package/src/components/layouts/totem.css +151 -50
  402. package/src/components/layouts/zoomed-full-body.css +332 -33
  403. package/src/context/widgetSurfaceContext.tsx +14 -0
  404. package/src/helpers/constants.ts +32 -1
  405. package/src/helpers/credits.ts +16 -1
  406. package/src/helpers/media.test.ts +36 -0
  407. package/src/helpers/media.ts +39 -12
  408. package/src/helpers/message.test.ts +28 -1
  409. package/src/helpers/message.ts +4 -4
  410. package/src/helpers/nats/getNatsConfig.ts +145 -0
  411. package/src/helpers/nats/isSessionExpiredError.test.ts +38 -0
  412. package/src/helpers/nats/isSessionExpiredError.ts +51 -0
  413. package/src/helpers/nats/useNats.ts +124 -0
  414. package/src/helpers/nats/useNatsSession.ts +394 -0
  415. package/src/helpers/positionPopover.test.ts +33 -0
  416. package/src/helpers/positionPopover.ts +13 -0
  417. package/src/helpers/usePressTooltip.ts +29 -0
  418. package/src/helpers/utils.test.ts +162 -0
  419. package/src/helpers/utils.ts +108 -3
  420. package/src/index.stories.tsx +32 -0
  421. package/src/index.tsx +1 -5
  422. package/src/locales/de.json +11 -1
  423. package/src/locales/en.json +12 -2
  424. package/src/locales/es.json +11 -1
  425. package/src/locales/fr.json +11 -1
  426. package/src/locales/it.json +12 -2
  427. package/src/styles.css +112 -12
  428. package/src/types/integration.test.ts +32 -0
  429. package/src/types/integration.ts +31 -0
  430. package/src/version.ts +1 -1
  431. package/dist/components/PositionDrawer/PositionDrawer.d.ts +0 -12
  432. package/dist/components/PositionDrawer/PositionDrawer.js +0 -17
  433. package/dist/components/PositionDrawer/PositionDrawer.js.map +0 -1
  434. package/dist/components/icons/AI.d.ts +0 -6
  435. package/dist/components/icons/AI.js +0 -6
  436. package/dist/components/icons/AI.js.map +0 -1
  437. package/dist/components/icons/Alert.d.ts +0 -6
  438. package/dist/components/icons/Alert.js +0 -6
  439. package/dist/components/icons/Alert.js.map +0 -1
  440. package/dist/components/icons/ArrowUp.d.ts +0 -6
  441. package/dist/components/icons/ArrowUp.js +0 -6
  442. package/dist/components/icons/ArrowUp.js.map +0 -1
  443. package/dist/components/icons/Bug.d.ts +0 -6
  444. package/dist/components/icons/Bug.js +0 -6
  445. package/dist/components/icons/Bug.js.map +0 -1
  446. package/dist/components/icons/Chat.d.ts +0 -6
  447. package/dist/components/icons/Chat.js +0 -6
  448. package/dist/components/icons/Chat.js.map +0 -1
  449. package/dist/components/icons/ChevronDown.d.ts +0 -6
  450. package/dist/components/icons/ChevronDown.js +0 -6
  451. package/dist/components/icons/ChevronDown.js.map +0 -1
  452. package/dist/components/icons/ChevronLeft.d.ts +0 -6
  453. package/dist/components/icons/ChevronLeft.js +0 -6
  454. package/dist/components/icons/ChevronLeft.js.map +0 -1
  455. package/dist/components/icons/ChevronRight.d.ts +0 -6
  456. package/dist/components/icons/ChevronRight.js +0 -6
  457. package/dist/components/icons/ChevronRight.js.map +0 -1
  458. package/dist/components/icons/ChevronUp.d.ts +0 -6
  459. package/dist/components/icons/ChevronUp.js +0 -6
  460. package/dist/components/icons/ChevronUp.js.map +0 -1
  461. package/dist/components/icons/Clear.d.ts +0 -6
  462. package/dist/components/icons/Clear.js +0 -6
  463. package/dist/components/icons/Clear.js.map +0 -1
  464. package/dist/components/icons/Close.d.ts +0 -7
  465. package/dist/components/icons/Close.js +0 -6
  466. package/dist/components/icons/Close.js.map +0 -1
  467. package/dist/components/icons/Code.d.ts +0 -6
  468. package/dist/components/icons/Code.js +0 -6
  469. package/dist/components/icons/Code.js.map +0 -1
  470. package/dist/components/icons/Copy.d.ts +0 -6
  471. package/dist/components/icons/Copy.js +0 -6
  472. package/dist/components/icons/Copy.js.map +0 -1
  473. package/dist/components/icons/DeepThought.d.ts +0 -6
  474. package/dist/components/icons/DeepThought.js +0 -6
  475. package/dist/components/icons/DeepThought.js.map +0 -1
  476. package/dist/components/icons/Delete.d.ts +0 -6
  477. package/dist/components/icons/Delete.js +0 -6
  478. package/dist/components/icons/Delete.js.map +0 -1
  479. package/dist/components/icons/Document.d.ts +0 -5
  480. package/dist/components/icons/Document.js +0 -10
  481. package/dist/components/icons/Document.js.map +0 -1
  482. package/dist/components/icons/Download.d.ts +0 -6
  483. package/dist/components/icons/Download.js +0 -6
  484. package/dist/components/icons/Download.js.map +0 -1
  485. package/dist/components/icons/Edit.d.ts +0 -6
  486. package/dist/components/icons/Edit.js +0 -6
  487. package/dist/components/icons/Edit.js.map +0 -1
  488. package/dist/components/icons/Expand.d.ts +0 -6
  489. package/dist/components/icons/Expand.js +0 -6
  490. package/dist/components/icons/Expand.js.map +0 -1
  491. package/dist/components/icons/Eye.d.ts +0 -6
  492. package/dist/components/icons/Eye.js +0 -6
  493. package/dist/components/icons/Eye.js.map +0 -1
  494. package/dist/components/icons/EyeInvisible.d.ts +0 -6
  495. package/dist/components/icons/EyeInvisible.js +0 -6
  496. package/dist/components/icons/EyeInvisible.js.map +0 -1
  497. package/dist/components/icons/Facebook.d.ts +0 -6
  498. package/dist/components/icons/Facebook.js +0 -6
  499. package/dist/components/icons/Facebook.js.map +0 -1
  500. package/dist/components/icons/Feedback.d.ts +0 -6
  501. package/dist/components/icons/Feedback.js +0 -6
  502. package/dist/components/icons/Feedback.js.map +0 -1
  503. package/dist/components/icons/File.d.ts +0 -6
  504. package/dist/components/icons/File.js +0 -6
  505. package/dist/components/icons/File.js.map +0 -1
  506. package/dist/components/icons/FileExcel.d.ts +0 -6
  507. package/dist/components/icons/FileExcel.js +0 -6
  508. package/dist/components/icons/FileExcel.js.map +0 -1
  509. package/dist/components/icons/FilePdf.d.ts +0 -6
  510. package/dist/components/icons/FilePdf.js +0 -6
  511. package/dist/components/icons/FilePdf.js.map +0 -1
  512. package/dist/components/icons/FileWord.d.ts +0 -6
  513. package/dist/components/icons/FileWord.js +0 -6
  514. package/dist/components/icons/FileWord.js.map +0 -1
  515. package/dist/components/icons/Fullscreen.d.ts +0 -6
  516. package/dist/components/icons/Fullscreen.js +0 -6
  517. package/dist/components/icons/Fullscreen.js.map +0 -1
  518. package/dist/components/icons/FullscreenExit.d.ts +0 -6
  519. package/dist/components/icons/FullscreenExit.js +0 -6
  520. package/dist/components/icons/FullscreenExit.js.map +0 -1
  521. package/dist/components/icons/Group.d.ts +0 -6
  522. package/dist/components/icons/Group.js +0 -6
  523. package/dist/components/icons/Group.js.map +0 -1
  524. package/dist/components/icons/History.d.ts +0 -7
  525. package/dist/components/icons/History.js +0 -6
  526. package/dist/components/icons/History.js.map +0 -1
  527. package/dist/components/icons/Image.d.ts +0 -4
  528. package/dist/components/icons/Image.js +0 -9
  529. package/dist/components/icons/Image.js.map +0 -1
  530. package/dist/components/icons/Info.d.ts +0 -6
  531. package/dist/components/icons/Info.js +0 -6
  532. package/dist/components/icons/Info.js.map +0 -1
  533. package/dist/components/icons/Link.d.ts +0 -6
  534. package/dist/components/icons/Link.js +0 -6
  535. package/dist/components/icons/Link.js.map +0 -1
  536. package/dist/components/icons/Linkedin.d.ts +0 -6
  537. package/dist/components/icons/Linkedin.js +0 -6
  538. package/dist/components/icons/Linkedin.js.map +0 -1
  539. package/dist/components/icons/Loading.d.ts +0 -7
  540. package/dist/components/icons/Loading.js +0 -10
  541. package/dist/components/icons/Loading.js.map +0 -1
  542. package/dist/components/icons/Logout.d.ts +0 -6
  543. package/dist/components/icons/Logout.js +0 -6
  544. package/dist/components/icons/Logout.js.map +0 -1
  545. package/dist/components/icons/Mail.d.ts +0 -6
  546. package/dist/components/icons/Mail.js +0 -6
  547. package/dist/components/icons/Mail.js.map +0 -1
  548. package/dist/components/icons/MapMarker.d.ts +0 -6
  549. package/dist/components/icons/MapMarker.js +0 -6
  550. package/dist/components/icons/MapMarker.js.map +0 -1
  551. package/dist/components/icons/MenuHorizontal.d.ts +0 -7
  552. package/dist/components/icons/MenuHorizontal.js +0 -6
  553. package/dist/components/icons/MenuHorizontal.js.map +0 -1
  554. package/dist/components/icons/MenuVertical.d.ts +0 -7
  555. package/dist/components/icons/MenuVertical.js +0 -6
  556. package/dist/components/icons/MenuVertical.js.map +0 -1
  557. package/dist/components/icons/Message.d.ts +0 -6
  558. package/dist/components/icons/Message.js +0 -6
  559. package/dist/components/icons/Message.js.map +0 -1
  560. package/dist/components/icons/Microphone.d.ts +0 -6
  561. package/dist/components/icons/Microphone.js +0 -6
  562. package/dist/components/icons/Microphone.js.map +0 -1
  563. package/dist/components/icons/Minus.d.ts +0 -6
  564. package/dist/components/icons/Minus.js +0 -6
  565. package/dist/components/icons/Minus.js.map +0 -1
  566. package/dist/components/icons/MinusCircle.d.ts +0 -6
  567. package/dist/components/icons/MinusCircle.js +0 -6
  568. package/dist/components/icons/MinusCircle.js.map +0 -1
  569. package/dist/components/icons/PaperClip.d.ts +0 -6
  570. package/dist/components/icons/PaperClip.js +0 -6
  571. package/dist/components/icons/PaperClip.js.map +0 -1
  572. package/dist/components/icons/Picture.d.ts +0 -6
  573. package/dist/components/icons/Picture.js +0 -6
  574. package/dist/components/icons/Picture.js.map +0 -1
  575. package/dist/components/icons/Plus.d.ts +0 -6
  576. package/dist/components/icons/Plus.js +0 -6
  577. package/dist/components/icons/Plus.js.map +0 -1
  578. package/dist/components/icons/Preview.d.ts +0 -4
  579. package/dist/components/icons/Preview.js +0 -9
  580. package/dist/components/icons/Preview.js.map +0 -1
  581. package/dist/components/icons/Print.d.ts +0 -6
  582. package/dist/components/icons/Print.js +0 -6
  583. package/dist/components/icons/Print.js.map +0 -1
  584. package/dist/components/icons/QuestionHelp.d.ts +0 -6
  585. package/dist/components/icons/QuestionHelp.js +0 -6
  586. package/dist/components/icons/QuestionHelp.js.map +0 -1
  587. package/dist/components/icons/Refresh.d.ts +0 -6
  588. package/dist/components/icons/Refresh.js +0 -6
  589. package/dist/components/icons/Refresh.js.map +0 -1
  590. package/dist/components/icons/SelectIcon.d.ts +0 -6
  591. package/dist/components/icons/SelectIcon.js +0 -6
  592. package/dist/components/icons/SelectIcon.js.map +0 -1
  593. package/dist/components/icons/Send.d.ts +0 -6
  594. package/dist/components/icons/Send.js +0 -6
  595. package/dist/components/icons/Send.js.map +0 -1
  596. package/dist/components/icons/Setting.d.ts +0 -6
  597. package/dist/components/icons/Setting.js +0 -6
  598. package/dist/components/icons/Setting.js.map +0 -1
  599. package/dist/components/icons/Share.d.ts +0 -6
  600. package/dist/components/icons/Share.js +0 -6
  601. package/dist/components/icons/Share.js.map +0 -1
  602. package/dist/components/icons/Sound.d.ts +0 -6
  603. package/dist/components/icons/Sound.js +0 -6
  604. package/dist/components/icons/Sound.js.map +0 -1
  605. package/dist/components/icons/SoundDeactivated.d.ts +0 -6
  606. package/dist/components/icons/SoundDeactivated.js +0 -6
  607. package/dist/components/icons/SoundDeactivated.js.map +0 -1
  608. package/dist/components/icons/Telegram.d.ts +0 -6
  609. package/dist/components/icons/Telegram.js +0 -6
  610. package/dist/components/icons/Telegram.js.map +0 -1
  611. package/dist/components/icons/ThumbDown.d.ts +0 -6
  612. package/dist/components/icons/ThumbDown.js +0 -6
  613. package/dist/components/icons/ThumbDown.js.map +0 -1
  614. package/dist/components/icons/ThumbUp.d.ts +0 -6
  615. package/dist/components/icons/ThumbUp.js +0 -6
  616. package/dist/components/icons/ThumbUp.js.map +0 -1
  617. package/dist/components/icons/Translation.d.ts +0 -6
  618. package/dist/components/icons/Translation.js +0 -6
  619. package/dist/components/icons/Translation.js.map +0 -1
  620. package/dist/components/icons/Twitter.d.ts +0 -6
  621. package/dist/components/icons/Twitter.js +0 -6
  622. package/dist/components/icons/Twitter.js.map +0 -1
  623. package/dist/components/icons/Upload.d.ts +0 -4
  624. package/dist/components/icons/Upload.js +0 -9
  625. package/dist/components/icons/Upload.js.map +0 -1
  626. package/dist/components/icons/User.d.ts +0 -6
  627. package/dist/components/icons/User.js +0 -6
  628. package/dist/components/icons/User.js.map +0 -1
  629. package/dist/components/icons/Warning.d.ts +0 -6
  630. package/dist/components/icons/Warning.js +0 -6
  631. package/dist/components/icons/Warning.js.map +0 -1
  632. package/dist/components/icons/WhatsApp.d.ts +0 -6
  633. package/dist/components/icons/WhatsApp.js +0 -6
  634. package/dist/components/icons/WhatsApp.js.map +0 -1
  635. package/dist/components/icons/loading.css +0 -14
  636. package/dist/components/layouts/WebsiteAssistant.d.ts +0 -4
  637. package/dist/components/layouts/WebsiteAssistant.js +0 -38
  638. package/dist/components/layouts/WebsiteAssistant.js.map +0 -1
  639. package/dist/components/layouts/website-assistant.css +0 -676
  640. package/dist/components/ui/Alert.css +0 -93
  641. package/dist/components/ui/Alert.d.ts +0 -18
  642. package/dist/components/ui/Alert.js +0 -42
  643. package/dist/components/ui/Alert.js.map +0 -1
  644. package/dist/components/ui/Button.css +0 -167
  645. package/dist/components/ui/Button.d.ts +0 -27
  646. package/dist/components/ui/Button.js +0 -23
  647. package/dist/components/ui/Button.js.map +0 -1
  648. package/dist/components/ui/Card.css +0 -65
  649. package/dist/components/ui/Card.d.ts +0 -13
  650. package/dist/components/ui/Card.js +0 -14
  651. package/dist/components/ui/Card.js.map +0 -1
  652. package/dist/components/ui/Checkbox.css +0 -116
  653. package/dist/components/ui/Checkbox.d.ts +0 -11
  654. package/dist/components/ui/Checkbox.js +0 -20
  655. package/dist/components/ui/Checkbox.js.map +0 -1
  656. package/dist/components/ui/ConfirmDialog.css +0 -42
  657. package/dist/components/ui/ConfirmDialog.d.ts +0 -11
  658. package/dist/components/ui/ConfirmDialog.js +0 -12
  659. package/dist/components/ui/ConfirmDialog.js.map +0 -1
  660. package/dist/components/ui/Details.css +0 -66
  661. package/dist/components/ui/Drawer.css +0 -270
  662. package/dist/components/ui/Drawer.d.ts +0 -46
  663. package/dist/components/ui/Drawer.js +0 -60
  664. package/dist/components/ui/Drawer.js.map +0 -1
  665. package/dist/components/ui/Dropdown.css +0 -173
  666. package/dist/components/ui/Dropdown.d.ts +0 -11
  667. package/dist/components/ui/Dropdown.js +0 -33
  668. package/dist/components/ui/Dropdown.js.map +0 -1
  669. package/dist/components/ui/Expandable.css +0 -15
  670. package/dist/components/ui/Expandable.d.ts +0 -15
  671. package/dist/components/ui/Expandable.js +0 -59
  672. package/dist/components/ui/Expandable.js.map +0 -1
  673. package/dist/components/ui/Modal.css +0 -98
  674. package/dist/components/ui/Modal.d.ts +0 -16
  675. package/dist/components/ui/Modal.js +0 -24
  676. package/dist/components/ui/Modal.js.map +0 -1
  677. package/dist/components/ui/Select.css +0 -138
  678. package/dist/components/ui/Select.d.ts +0 -17
  679. package/dist/components/ui/Select.js +0 -17
  680. package/dist/components/ui/Select.js.map +0 -1
  681. package/dist/components/ui/Slider.css +0 -192
  682. package/dist/components/ui/Slider.d.ts +0 -12
  683. package/dist/components/ui/Slider.js +0 -78
  684. package/dist/components/ui/Slider.js.map +0 -1
  685. package/dist/components/ui/Spin.css +0 -31
  686. package/dist/components/ui/Spin.d.ts +0 -9
  687. package/dist/components/ui/Spin.js +0 -12
  688. package/dist/components/ui/Spin.js.map +0 -1
  689. package/dist/components/ui/Table.css +0 -132
  690. package/dist/components/ui/Tooltip.css +0 -171
  691. package/dist/components/ui/Tooltip.d.ts +0 -11
  692. package/dist/components/ui/Tooltip.js +0 -90
  693. package/dist/components/ui/Tooltip.js.map +0 -1
  694. package/esm/components/PositionDrawer/PositionDrawer.d.ts +0 -12
  695. package/esm/components/PositionDrawer/PositionDrawer.js +0 -14
  696. package/esm/components/PositionDrawer/PositionDrawer.js.map +0 -1
  697. package/esm/components/icons/AI.d.ts +0 -6
  698. package/esm/components/icons/AI.js +0 -4
  699. package/esm/components/icons/AI.js.map +0 -1
  700. package/esm/components/icons/Alert.d.ts +0 -6
  701. package/esm/components/icons/Alert.js +0 -4
  702. package/esm/components/icons/Alert.js.map +0 -1
  703. package/esm/components/icons/ArrowUp.d.ts +0 -6
  704. package/esm/components/icons/ArrowUp.js +0 -4
  705. package/esm/components/icons/ArrowUp.js.map +0 -1
  706. package/esm/components/icons/Bug.d.ts +0 -6
  707. package/esm/components/icons/Bug.js +0 -4
  708. package/esm/components/icons/Bug.js.map +0 -1
  709. package/esm/components/icons/Chat.d.ts +0 -6
  710. package/esm/components/icons/Chat.js +0 -4
  711. package/esm/components/icons/Chat.js.map +0 -1
  712. package/esm/components/icons/ChevronDown.d.ts +0 -6
  713. package/esm/components/icons/ChevronDown.js +0 -4
  714. package/esm/components/icons/ChevronDown.js.map +0 -1
  715. package/esm/components/icons/ChevronLeft.d.ts +0 -6
  716. package/esm/components/icons/ChevronLeft.js +0 -4
  717. package/esm/components/icons/ChevronLeft.js.map +0 -1
  718. package/esm/components/icons/ChevronRight.d.ts +0 -6
  719. package/esm/components/icons/ChevronRight.js +0 -4
  720. package/esm/components/icons/ChevronRight.js.map +0 -1
  721. package/esm/components/icons/ChevronUp.d.ts +0 -6
  722. package/esm/components/icons/ChevronUp.js +0 -4
  723. package/esm/components/icons/ChevronUp.js.map +0 -1
  724. package/esm/components/icons/Clear.d.ts +0 -6
  725. package/esm/components/icons/Clear.js +0 -4
  726. package/esm/components/icons/Clear.js.map +0 -1
  727. package/esm/components/icons/Close.d.ts +0 -7
  728. package/esm/components/icons/Close.js +0 -4
  729. package/esm/components/icons/Close.js.map +0 -1
  730. package/esm/components/icons/Code.d.ts +0 -6
  731. package/esm/components/icons/Code.js +0 -4
  732. package/esm/components/icons/Code.js.map +0 -1
  733. package/esm/components/icons/Copy.d.ts +0 -6
  734. package/esm/components/icons/Copy.js +0 -4
  735. package/esm/components/icons/Copy.js.map +0 -1
  736. package/esm/components/icons/DeepThought.d.ts +0 -6
  737. package/esm/components/icons/DeepThought.js +0 -4
  738. package/esm/components/icons/DeepThought.js.map +0 -1
  739. package/esm/components/icons/Delete.d.ts +0 -6
  740. package/esm/components/icons/Delete.js +0 -4
  741. package/esm/components/icons/Delete.js.map +0 -1
  742. package/esm/components/icons/Document.d.ts +0 -5
  743. package/esm/components/icons/Document.js +0 -6
  744. package/esm/components/icons/Document.js.map +0 -1
  745. package/esm/components/icons/Download.d.ts +0 -6
  746. package/esm/components/icons/Download.js +0 -4
  747. package/esm/components/icons/Download.js.map +0 -1
  748. package/esm/components/icons/Edit.d.ts +0 -6
  749. package/esm/components/icons/Edit.js +0 -4
  750. package/esm/components/icons/Edit.js.map +0 -1
  751. package/esm/components/icons/Expand.d.ts +0 -6
  752. package/esm/components/icons/Expand.js +0 -4
  753. package/esm/components/icons/Expand.js.map +0 -1
  754. package/esm/components/icons/Eye.d.ts +0 -6
  755. package/esm/components/icons/Eye.js +0 -4
  756. package/esm/components/icons/Eye.js.map +0 -1
  757. package/esm/components/icons/EyeInvisible.d.ts +0 -6
  758. package/esm/components/icons/EyeInvisible.js +0 -4
  759. package/esm/components/icons/EyeInvisible.js.map +0 -1
  760. package/esm/components/icons/Facebook.d.ts +0 -6
  761. package/esm/components/icons/Facebook.js +0 -4
  762. package/esm/components/icons/Facebook.js.map +0 -1
  763. package/esm/components/icons/Feedback.d.ts +0 -6
  764. package/esm/components/icons/Feedback.js +0 -4
  765. package/esm/components/icons/Feedback.js.map +0 -1
  766. package/esm/components/icons/File.d.ts +0 -6
  767. package/esm/components/icons/File.js +0 -4
  768. package/esm/components/icons/File.js.map +0 -1
  769. package/esm/components/icons/FileExcel.d.ts +0 -6
  770. package/esm/components/icons/FileExcel.js +0 -4
  771. package/esm/components/icons/FileExcel.js.map +0 -1
  772. package/esm/components/icons/FilePdf.d.ts +0 -6
  773. package/esm/components/icons/FilePdf.js +0 -4
  774. package/esm/components/icons/FilePdf.js.map +0 -1
  775. package/esm/components/icons/FileWord.d.ts +0 -6
  776. package/esm/components/icons/FileWord.js +0 -4
  777. package/esm/components/icons/FileWord.js.map +0 -1
  778. package/esm/components/icons/Fullscreen.d.ts +0 -6
  779. package/esm/components/icons/Fullscreen.js +0 -4
  780. package/esm/components/icons/Fullscreen.js.map +0 -1
  781. package/esm/components/icons/FullscreenExit.d.ts +0 -6
  782. package/esm/components/icons/FullscreenExit.js +0 -4
  783. package/esm/components/icons/FullscreenExit.js.map +0 -1
  784. package/esm/components/icons/Group.d.ts +0 -6
  785. package/esm/components/icons/Group.js +0 -4
  786. package/esm/components/icons/Group.js.map +0 -1
  787. package/esm/components/icons/History.d.ts +0 -7
  788. package/esm/components/icons/History.js +0 -4
  789. package/esm/components/icons/History.js.map +0 -1
  790. package/esm/components/icons/Image.d.ts +0 -4
  791. package/esm/components/icons/Image.js +0 -5
  792. package/esm/components/icons/Image.js.map +0 -1
  793. package/esm/components/icons/Info.d.ts +0 -6
  794. package/esm/components/icons/Info.js +0 -4
  795. package/esm/components/icons/Info.js.map +0 -1
  796. package/esm/components/icons/Link.d.ts +0 -6
  797. package/esm/components/icons/Link.js +0 -4
  798. package/esm/components/icons/Link.js.map +0 -1
  799. package/esm/components/icons/Linkedin.d.ts +0 -6
  800. package/esm/components/icons/Linkedin.js +0 -4
  801. package/esm/components/icons/Linkedin.js.map +0 -1
  802. package/esm/components/icons/Loading.d.ts +0 -7
  803. package/esm/components/icons/Loading.js +0 -7
  804. package/esm/components/icons/Loading.js.map +0 -1
  805. package/esm/components/icons/Logout.d.ts +0 -6
  806. package/esm/components/icons/Logout.js +0 -4
  807. package/esm/components/icons/Logout.js.map +0 -1
  808. package/esm/components/icons/Mail.d.ts +0 -6
  809. package/esm/components/icons/Mail.js +0 -4
  810. package/esm/components/icons/Mail.js.map +0 -1
  811. package/esm/components/icons/MapMarker.d.ts +0 -6
  812. package/esm/components/icons/MapMarker.js +0 -4
  813. package/esm/components/icons/MapMarker.js.map +0 -1
  814. package/esm/components/icons/MenuHorizontal.d.ts +0 -7
  815. package/esm/components/icons/MenuHorizontal.js +0 -4
  816. package/esm/components/icons/MenuHorizontal.js.map +0 -1
  817. package/esm/components/icons/MenuVertical.d.ts +0 -7
  818. package/esm/components/icons/MenuVertical.js +0 -4
  819. package/esm/components/icons/MenuVertical.js.map +0 -1
  820. package/esm/components/icons/Message.d.ts +0 -6
  821. package/esm/components/icons/Message.js +0 -4
  822. package/esm/components/icons/Message.js.map +0 -1
  823. package/esm/components/icons/Microphone.d.ts +0 -6
  824. package/esm/components/icons/Microphone.js +0 -4
  825. package/esm/components/icons/Microphone.js.map +0 -1
  826. package/esm/components/icons/Minus.d.ts +0 -6
  827. package/esm/components/icons/Minus.js +0 -4
  828. package/esm/components/icons/Minus.js.map +0 -1
  829. package/esm/components/icons/MinusCircle.d.ts +0 -6
  830. package/esm/components/icons/MinusCircle.js +0 -4
  831. package/esm/components/icons/MinusCircle.js.map +0 -1
  832. package/esm/components/icons/PaperClip.d.ts +0 -6
  833. package/esm/components/icons/PaperClip.js +0 -4
  834. package/esm/components/icons/PaperClip.js.map +0 -1
  835. package/esm/components/icons/Picture.d.ts +0 -6
  836. package/esm/components/icons/Picture.js +0 -4
  837. package/esm/components/icons/Picture.js.map +0 -1
  838. package/esm/components/icons/Plus.d.ts +0 -6
  839. package/esm/components/icons/Plus.js +0 -4
  840. package/esm/components/icons/Plus.js.map +0 -1
  841. package/esm/components/icons/Preview.d.ts +0 -4
  842. package/esm/components/icons/Preview.js +0 -5
  843. package/esm/components/icons/Preview.js.map +0 -1
  844. package/esm/components/icons/Print.d.ts +0 -6
  845. package/esm/components/icons/Print.js +0 -4
  846. package/esm/components/icons/Print.js.map +0 -1
  847. package/esm/components/icons/QuestionHelp.d.ts +0 -6
  848. package/esm/components/icons/QuestionHelp.js +0 -4
  849. package/esm/components/icons/QuestionHelp.js.map +0 -1
  850. package/esm/components/icons/Refresh.d.ts +0 -6
  851. package/esm/components/icons/Refresh.js +0 -4
  852. package/esm/components/icons/Refresh.js.map +0 -1
  853. package/esm/components/icons/SelectIcon.d.ts +0 -6
  854. package/esm/components/icons/SelectIcon.js +0 -4
  855. package/esm/components/icons/SelectIcon.js.map +0 -1
  856. package/esm/components/icons/Send.d.ts +0 -6
  857. package/esm/components/icons/Send.js +0 -4
  858. package/esm/components/icons/Send.js.map +0 -1
  859. package/esm/components/icons/Setting.d.ts +0 -6
  860. package/esm/components/icons/Setting.js +0 -4
  861. package/esm/components/icons/Setting.js.map +0 -1
  862. package/esm/components/icons/Share.d.ts +0 -6
  863. package/esm/components/icons/Share.js +0 -4
  864. package/esm/components/icons/Share.js.map +0 -1
  865. package/esm/components/icons/Sound.d.ts +0 -6
  866. package/esm/components/icons/Sound.js +0 -4
  867. package/esm/components/icons/Sound.js.map +0 -1
  868. package/esm/components/icons/SoundDeactivated.d.ts +0 -6
  869. package/esm/components/icons/SoundDeactivated.js +0 -4
  870. package/esm/components/icons/SoundDeactivated.js.map +0 -1
  871. package/esm/components/icons/Telegram.d.ts +0 -6
  872. package/esm/components/icons/Telegram.js +0 -4
  873. package/esm/components/icons/Telegram.js.map +0 -1
  874. package/esm/components/icons/ThumbDown.d.ts +0 -6
  875. package/esm/components/icons/ThumbDown.js +0 -4
  876. package/esm/components/icons/ThumbDown.js.map +0 -1
  877. package/esm/components/icons/ThumbUp.d.ts +0 -6
  878. package/esm/components/icons/ThumbUp.js +0 -4
  879. package/esm/components/icons/ThumbUp.js.map +0 -1
  880. package/esm/components/icons/Translation.d.ts +0 -6
  881. package/esm/components/icons/Translation.js +0 -4
  882. package/esm/components/icons/Translation.js.map +0 -1
  883. package/esm/components/icons/Twitter.d.ts +0 -6
  884. package/esm/components/icons/Twitter.js +0 -4
  885. package/esm/components/icons/Twitter.js.map +0 -1
  886. package/esm/components/icons/Upload.d.ts +0 -4
  887. package/esm/components/icons/Upload.js +0 -5
  888. package/esm/components/icons/Upload.js.map +0 -1
  889. package/esm/components/icons/User.d.ts +0 -6
  890. package/esm/components/icons/User.js +0 -4
  891. package/esm/components/icons/User.js.map +0 -1
  892. package/esm/components/icons/Warning.d.ts +0 -6
  893. package/esm/components/icons/Warning.js +0 -4
  894. package/esm/components/icons/Warning.js.map +0 -1
  895. package/esm/components/icons/WhatsApp.d.ts +0 -6
  896. package/esm/components/icons/WhatsApp.js +0 -4
  897. package/esm/components/icons/WhatsApp.js.map +0 -1
  898. package/esm/components/icons/loading.css +0 -14
  899. package/esm/components/layouts/WebsiteAssistant.d.ts +0 -4
  900. package/esm/components/layouts/WebsiteAssistant.js +0 -35
  901. package/esm/components/layouts/WebsiteAssistant.js.map +0 -1
  902. package/esm/components/layouts/website-assistant.css +0 -676
  903. package/esm/components/ui/Alert.css +0 -93
  904. package/esm/components/ui/Alert.d.ts +0 -18
  905. package/esm/components/ui/Alert.js +0 -39
  906. package/esm/components/ui/Alert.js.map +0 -1
  907. package/esm/components/ui/Button.css +0 -167
  908. package/esm/components/ui/Button.d.ts +0 -27
  909. package/esm/components/ui/Button.js +0 -20
  910. package/esm/components/ui/Button.js.map +0 -1
  911. package/esm/components/ui/Card.css +0 -65
  912. package/esm/components/ui/Card.d.ts +0 -13
  913. package/esm/components/ui/Card.js +0 -11
  914. package/esm/components/ui/Card.js.map +0 -1
  915. package/esm/components/ui/Checkbox.css +0 -116
  916. package/esm/components/ui/Checkbox.d.ts +0 -11
  917. package/esm/components/ui/Checkbox.js +0 -17
  918. package/esm/components/ui/Checkbox.js.map +0 -1
  919. package/esm/components/ui/ConfirmDialog.css +0 -42
  920. package/esm/components/ui/ConfirmDialog.d.ts +0 -11
  921. package/esm/components/ui/ConfirmDialog.js +0 -9
  922. package/esm/components/ui/ConfirmDialog.js.map +0 -1
  923. package/esm/components/ui/Details.css +0 -66
  924. package/esm/components/ui/Drawer.css +0 -270
  925. package/esm/components/ui/Drawer.d.ts +0 -46
  926. package/esm/components/ui/Drawer.js +0 -57
  927. package/esm/components/ui/Drawer.js.map +0 -1
  928. package/esm/components/ui/Dropdown.css +0 -173
  929. package/esm/components/ui/Dropdown.d.ts +0 -11
  930. package/esm/components/ui/Dropdown.js +0 -30
  931. package/esm/components/ui/Dropdown.js.map +0 -1
  932. package/esm/components/ui/Expandable.css +0 -15
  933. package/esm/components/ui/Expandable.d.ts +0 -15
  934. package/esm/components/ui/Expandable.js +0 -56
  935. package/esm/components/ui/Expandable.js.map +0 -1
  936. package/esm/components/ui/Modal.css +0 -98
  937. package/esm/components/ui/Modal.d.ts +0 -16
  938. package/esm/components/ui/Modal.js +0 -21
  939. package/esm/components/ui/Modal.js.map +0 -1
  940. package/esm/components/ui/Select.css +0 -138
  941. package/esm/components/ui/Select.d.ts +0 -17
  942. package/esm/components/ui/Select.js +0 -14
  943. package/esm/components/ui/Select.js.map +0 -1
  944. package/esm/components/ui/Slider.css +0 -192
  945. package/esm/components/ui/Slider.d.ts +0 -12
  946. package/esm/components/ui/Slider.js +0 -75
  947. package/esm/components/ui/Slider.js.map +0 -1
  948. package/esm/components/ui/Spin.css +0 -31
  949. package/esm/components/ui/Spin.d.ts +0 -9
  950. package/esm/components/ui/Spin.js +0 -9
  951. package/esm/components/ui/Spin.js.map +0 -1
  952. package/esm/components/ui/Table.css +0 -132
  953. package/esm/components/ui/Tooltip.css +0 -171
  954. package/esm/components/ui/Tooltip.d.ts +0 -11
  955. package/esm/components/ui/Tooltip.js +0 -87
  956. package/esm/components/ui/Tooltip.js.map +0 -1
@@ -73,20 +73,18 @@
73
73
  flex-direction: column;
74
74
  align-items: flex-start;
75
75
  padding: 12px 14px;
76
- /* border: 0.5px solid var(--color-border-tertiary, var(--memori-border-color, #e5e7eb)); */
77
- border-radius: 4px 14px 14px 14px;
76
+ border: none;
77
+ border-radius: 13px;
78
78
  /* margin-top: 1.5rem; */
79
79
  background: var(--memori-main-background);
80
- color: var(--color-text-primary, var(--memori-text-color));
80
+ border-top-left-radius: 4px;
81
+ box-shadow: none;
82
+ color: var(--memori-text-color);
81
83
  font-size: 14px;
82
84
  line-height: 1.4;
83
85
  white-space: pre-wrap;
84
86
  }
85
87
 
86
- [data-theme='dark'] .memori-chat--bubble:not(.memori-chat--user-bubble) {
87
- border-color: #fff;
88
- }
89
-
90
88
  .memori-chat--bubble-timestamp-container {
91
89
  display: flex;
92
90
  align-items: center;
@@ -118,6 +116,13 @@
118
116
  min-width: fit-content;
119
117
  }
120
118
 
119
+ /* fit-content outranks the bubble max-width, so a wide markdown code block or table
120
+ would stretch the bubble past the messages viewport and make the whole chat scroll
121
+ sideways. Those blocks are kept scrollable on their own instead. */
122
+ .memori-chat--bubble-container.memori-chat--with-addon .memori-chat--bubble:has(pre, table) {
123
+ min-width: 0;
124
+ }
125
+
121
126
  .memori-chat--bubble-avatar svg {
122
127
  fill: #000;
123
128
  font-size: var(--memori-text-size-heading-large);
@@ -187,6 +192,16 @@
187
192
  display: none;
188
193
  }
189
194
 
195
+ .memori-chat--bubble pre,
196
+ .memori-chat--bubble .memori--responsive-table-wrapper {
197
+ max-width: 100%;
198
+ overflow-x: auto;
199
+ }
200
+
201
+ .memori-chat--bubble table {
202
+ max-width: 100%;
203
+ }
204
+
190
205
  .memori-chat--bubble a {
191
206
  color: var(--memori-primary, #000);
192
207
  overflow-wrap: break-word;
@@ -230,17 +245,21 @@
230
245
 
231
246
  .memori-chat--bubble.memori-chat--user-bubble {
232
247
  max-width: 100%;
233
- border-radius: 14px 4px 14px 14px;
234
- background: var(--memori-primary) !important;
235
- color: #fff;
248
+ border: none;
249
+ border-radius: var(--memori-radius-box);
250
+ /* Prefer --memori-primary-color: dark theme remaps --memori-primary to
251
+ --memori-primary-hover, which circularly resolves and drops the fill. */
252
+ background: var(--memori-primary-color, var(--memori-primary)) !important;
253
+ border-top-right-radius: 4px;
254
+ box-shadow: none;
255
+ color: var(--memori-primary-content);
236
256
  font-size: 14px;
237
257
  font-weight: 400;
238
258
  }
239
259
 
240
- [data-theme='dark'] {
241
- .memori-chat--bubble.memori-chat--user-bubble {
242
- background: var(--memori-primary-hover);
243
- }
260
+ [data-theme='dark'] .memori-chat--bubble.memori-chat--user-bubble,
261
+ .memori-widget[data-theme='dark'] .memori-chat--bubble.memori-chat--user-bubble {
262
+ background: var(--memori-primary-color, var(--memori-primary)) !important;
244
263
  }
245
264
 
246
265
  .memori-chat--bubble-avatar {
@@ -270,12 +289,21 @@
270
289
  object-fit: cover;
271
290
  }
272
291
 
292
+ /* The addon row sits outside the bubble, directly over the chat background, which
293
+ can be a dark image or colour: it carries its own surface so the icons and the
294
+ timestamp keep contrast whatever is painted behind them. */
273
295
  .memori-chat--bubble-addon {
274
296
  display: flex;
275
297
  flex-wrap: wrap;
276
298
  align-items: center;
277
299
  align-self: flex-start;
278
300
  justify-content: flex-start;
301
+ padding: calc(var(--memori-spacing-xs) * 0.5) var(--memori-spacing-xs);
302
+ border-radius: 999px;
303
+ -webkit-backdrop-filter: blur(6px);
304
+ backdrop-filter: blur(6px);
305
+ background: color-mix(in srgb, var(--memori-main-background) 92%, transparent);
306
+ color: var(--memori-text-color);
279
307
  gap: calc(var(--memori-spacing-xs) * 0.5);
280
308
  opacity: 0;
281
309
  pointer-events: none;
@@ -483,4 +483,28 @@ it('renders ChatBubble with reasoning and output and markdown unchanged', () =>
483
483
  />
484
484
  );
485
485
  expect(container).toMatchSnapshot();
486
- });
486
+ });
487
+
488
+ it('uses the adjacent attachment link for document media', () => {
489
+ const attachmentUrl = 'https://assets.example.com/report.docx';
490
+ const { container } = render(
491
+ <ChatBubble
492
+ memori={memori}
493
+ tenant={tenant}
494
+ sessionID={sessionID}
495
+ message={{
496
+ fromUser: false,
497
+ initial: false,
498
+ text: [
499
+ '<document_attachment filename="report.docx" type="application/vnd.openxmlformats-officedocument.wordprocessingml.document">',
500
+ '</document_attachment>',
501
+ `<attachment_link>${attachmentUrl}</attachment_link>`,
502
+ ].join('\n'),
503
+ }}
504
+ />
505
+ );
506
+
507
+ expect(
508
+ container.querySelector(`a[href="${attachmentUrl}"]`)
509
+ ).toBeInTheDocument();
510
+ });
@@ -25,7 +25,11 @@ import FeedbackButtons from '../FeedbackButtons/FeedbackButtons';
25
25
  import { useTranslation } from 'react-i18next';
26
26
  import { Button } from '@memori.ai/ui';
27
27
  import WhyThisAnswer from '../WhyThisAnswer/WhyThisAnswer';
28
- import { stripHTML, stripOutputTags } from '../../helpers/utils';
28
+ import {
29
+ parseDocumentAttachmentsFromMessage,
30
+ stripHTML,
31
+ stripOutputTags,
32
+ } from '../../helpers/utils';
29
33
  import {
30
34
  renderMsg,
31
35
  sanitizeMsg,
@@ -35,6 +39,8 @@ import {
35
39
  } from '../../helpers/message';
36
40
  import { Expandable, Modal } from '@memori.ai/ui';
37
41
  import memoriApiClient from '@memori.ai/memori-api-client';
42
+ import { usePressTooltip } from '../../helpers/usePressTooltip';
43
+ import { useWidgetSurfaceEl } from '../../context/widgetSurfaceContext';
38
44
  const ASSET_URL_PATTERN = /https?:\/\/\S*\/api\/v\d+\/asset\/\S+/gi;
39
45
 
40
46
  const sanitizeRawCopyText = (text: string) =>
@@ -121,19 +127,24 @@ const ChatBubble: React.FC<Props> = ({
121
127
  customMediaRenderer,
122
128
  }) => {
123
129
  const { t, i18n } = useTranslation();
130
+ const surfaceEl = useWidgetSurfaceEl();
124
131
  const lang = i18n.language || 'en';
132
+ const generatedByAiTooltip = usePressTooltip();
125
133
  const [showingWhyThisAnswer, setShowingWhyThisAnswer] = useState(false);
126
134
  const [openFunctionCache, setOpenFunctionCache] = useState(false);
127
135
  const [copyStatus, setCopyStatus] = useState<{
128
136
  plain: 'idle' | 'success' | 'error';
129
137
  raw: 'idle' | 'success' | 'error';
130
- }>({ plain: 'idle', raw: 'idle' });
138
+ functionCache: 'idle' | 'success' | 'error';
139
+ }>({ plain: 'idle', raw: 'idle', functionCache: 'idle' });
131
140
  const copyResetTimers = useRef<{
132
141
  plain: ReturnType<typeof setTimeout> | null;
133
142
  raw: ReturnType<typeof setTimeout> | null;
143
+ functionCache: ReturnType<typeof setTimeout> | null;
134
144
  }>({
135
145
  plain: null,
136
146
  raw: null,
147
+ functionCache: null,
137
148
  });
138
149
  // Initialize MathJax on component mount
139
150
  useEffect(() => {
@@ -242,26 +253,33 @@ const ChatBubble: React.FC<Props> = ({
242
253
 
243
254
  useEffect(() => {
244
255
  return () => {
245
- (Object.keys(copyResetTimers.current) as Array<'plain' | 'raw'>).forEach(
246
- key => {
247
- const timer = copyResetTimers.current[key];
248
- if (timer) {
249
- clearTimeout(timer);
250
- copyResetTimers.current[key] = null;
251
- }
256
+ (
257
+ Object.keys(copyResetTimers.current) as Array<
258
+ 'plain' | 'raw' | 'functionCache'
259
+ >
260
+ ).forEach(key => {
261
+ const timer = copyResetTimers.current[key];
262
+ if (timer) {
263
+ clearTimeout(timer);
264
+ copyResetTimers.current[key] = null;
252
265
  }
253
- );
266
+ });
254
267
  };
255
268
  }, []);
256
269
 
257
- const clearCopyReset = (type: 'plain' | 'raw') => {
270
+ const functionCacheCopyText =
271
+ functionCacheData
272
+ ?.map(f => `${f.title}\n\n${f.content}`)
273
+ .join('\n\n---\n\n') ?? '';
274
+
275
+ const clearCopyReset = (type: 'plain' | 'raw' | 'functionCache') => {
258
276
  if (copyResetTimers.current[type]) {
259
277
  clearTimeout(copyResetTimers.current[type]!);
260
278
  copyResetTimers.current[type] = null;
261
279
  }
262
280
  };
263
281
 
264
- const scheduleCopyReset = (type: 'plain' | 'raw') => {
282
+ const scheduleCopyReset = (type: 'plain' | 'raw' | 'functionCache') => {
265
283
  clearCopyReset(type);
266
284
  copyResetTimers.current[type] = setTimeout(() => {
267
285
  setCopyStatus(prev => ({ ...prev, [type]: 'idle' }));
@@ -269,7 +287,10 @@ const ChatBubble: React.FC<Props> = ({
269
287
  }, COPY_FEEDBACK_MS);
270
288
  };
271
289
 
272
- const handleCopyClick = async (type: 'plain' | 'raw', text: string) => {
290
+ const handleCopyClick = async (
291
+ type: 'plain' | 'raw' | 'functionCache',
292
+ text: string
293
+ ) => {
273
294
  if (!text?.length) return;
274
295
  try {
275
296
  if (typeof navigator !== 'undefined' && navigator.clipboard?.writeText) {
@@ -437,32 +458,21 @@ const ChatBubble: React.FC<Props> = ({
437
458
  (m.mimeType === 'text/html' && !!m.url)
438
459
  )
439
460
  ) || []),
440
- ...(() => {
441
- const text = message.translatedText || message.text;
442
- const documentAttachmentRegex =
443
- /<document_attachment filename="([^"]+)" type="([^"]+)">([\s\S]*?)<\/document_attachment>/g;
444
- const attachments: (Medium & { type?: string })[] = [];
445
- let match;
446
- let attachmentIndex = 0;
447
-
448
- while ((match = documentAttachmentRegex.exec(text)) !== null) {
449
- const [, filename, type, content] = match;
450
- attachments.push({
451
- mediumID: `doc_${Date.now()}_${attachmentIndex}_${Math.random()
452
- .toString(36)
453
- .substr(2, 9)}`,
454
- url: '',
455
- mimeType: type,
456
- title: filename,
457
- content: content.trim(),
458
- properties: { isDocumentAttachment: true },
459
- type: 'document',
460
- });
461
- attachmentIndex++;
462
- }
463
-
464
- return attachments;
465
- })(),
461
+ ...parseDocumentAttachmentsFromMessage(
462
+ message.translatedText || message.text
463
+ ).map(
464
+ (attachment, attachmentIndex): Medium & { type?: string } => ({
465
+ mediumID: `doc_${Date.now()}_${attachmentIndex}_${Math.random()
466
+ .toString(36)
467
+ .substr(2, 9)}`,
468
+ url: attachment.url,
469
+ mimeType: attachment.type,
470
+ title: attachment.filename,
471
+ content: attachment.content,
472
+ properties: { isDocumentAttachment: true },
473
+ type: 'document',
474
+ })
475
+ ),
466
476
  ];
467
477
 
468
478
  const codeMediaWidgetMedia =
@@ -736,6 +746,7 @@ const ChatBubble: React.FC<Props> = ({
736
746
  placement="bottom"
737
747
  content={t('generatedByAI')}
738
748
  className="memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai"
749
+ {...generatedByAiTooltip.tooltipProps}
739
750
  >
740
751
  <span className="memori-chat--bubble-addon-tooltip-trigger">
741
752
  <Button
@@ -745,6 +756,7 @@ const ChatBubble: React.FC<Props> = ({
745
756
  className="memori-chat--bubble-action-button"
746
757
  aria-label={String(t('generatedByAI'))}
747
758
  icon={<Bot aria-hidden />}
759
+ {...generatedByAiTooltip.pressTriggerProps}
748
760
  />
749
761
  </span>
750
762
  </Tooltip>
@@ -817,12 +829,25 @@ const ChatBubble: React.FC<Props> = ({
817
829
  )}
818
830
 
819
831
  <Modal
832
+ container={surfaceEl ?? undefined}
820
833
  open={openFunctionCache}
821
834
  className="memori-chat--function-cache-modal"
822
835
  title={t('functionCache') || 'Function Cache'}
823
836
  closable={true}
824
837
  onOpenChange={setOpenFunctionCache}
825
838
  >
839
+ <div style={{ marginBottom: '1rem' }}>
840
+ <Button
841
+ icon={<Copy aria-hidden />}
842
+ onClick={() =>
843
+ handleCopyClick('functionCache', functionCacheCopyText)
844
+ }
845
+ >
846
+ {copyStatus.functionCache === 'success'
847
+ ? copiedLabel
848
+ : t('copy') || 'Copy'}
849
+ </Button>
850
+ </div>
826
851
  {functionCacheData?.map((f, i) => (
827
852
  <div
828
853
  key={f.mediumID}