@memori.ai/memori-react 8.38.4 → 9.0.0-alpha.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 (921) hide show
  1. package/CHANGELOG.md +1836 -0
  2. package/dist/components/AgeVerificationModal/AgeVerificationModal.css +35 -12
  3. package/dist/components/AgeVerificationModal/AgeVerificationModal.d.ts +0 -1
  4. package/dist/components/AgeVerificationModal/AgeVerificationModal.js +22 -10
  5. package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  6. package/dist/components/Auth/Auth.css +13 -9
  7. package/dist/components/Auth/Auth.d.ts +0 -1
  8. package/dist/components/Auth/Auth.js +14 -10
  9. package/dist/components/Auth/Auth.js.map +1 -1
  10. package/dist/components/Avatar/Avatar.css +2 -2
  11. package/dist/components/Avatar/Avatar.js +7 -7
  12. package/dist/components/Avatar/Avatar.js.map +1 -1
  13. package/dist/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.d.ts +0 -1
  14. package/dist/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js +1 -1
  15. package/dist/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js.map +1 -1
  16. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.d.ts +0 -1
  17. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
  18. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.d.ts +0 -1
  19. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +1 -2
  20. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  21. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.js +1 -1
  22. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.js.map +1 -1
  23. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js.map +1 -1
  24. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.js.map +1 -1
  25. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js.map +1 -1
  26. package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.d.ts +0 -1
  27. package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js +1 -1
  28. package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js.map +1 -1
  29. package/dist/components/Avatar/AvatarView/AvatarComponent/components/loader.d.ts +0 -1
  30. package/dist/components/Avatar/AvatarView/AvatarComponent/components/loader.js +2 -3
  31. package/dist/components/Avatar/AvatarView/AvatarComponent/components/loader.js.map +1 -1
  32. package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +21 -21
  33. package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.d.ts +0 -1
  34. package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js +8 -10
  35. package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js.map +1 -1
  36. package/dist/components/Avatar/AvatarView/index.js +1 -1
  37. package/dist/components/Avatar/AvatarView/index.js.map +1 -1
  38. package/dist/components/Avatar/AvatarView/utils/hideHands.js.map +1 -1
  39. package/dist/components/Avatar/AvatarView/utils/useEyeBlink.js +1 -2
  40. package/dist/components/Avatar/AvatarView/utils/useEyeBlink.js.map +1 -1
  41. package/dist/components/Avatar/AvatarView/utils/useHeadMovement.js +1 -1
  42. package/dist/components/Avatar/AvatarView/utils/useHeadMovement.js.map +1 -1
  43. package/dist/components/Avatar/AvatarView/utils/useLoadingMorphAnim.js +1 -1
  44. package/dist/components/Avatar/AvatarView/utils/useLoadingMorphAnim.js.map +1 -1
  45. package/dist/components/Avatar/AvatarView/utils/useMouthAnimation.js +1 -2
  46. package/dist/components/Avatar/AvatarView/utils/useMouthAnimation.js.map +1 -1
  47. package/dist/components/Avatar/AvatarView/utils/useSmile.js +1 -1
  48. package/dist/components/Avatar/AvatarView/utils/useSmile.js.map +1 -1
  49. package/dist/components/Avatar/AvatarView/utils/utils.js.map +1 -1
  50. package/dist/components/Blob/Blob.css +14 -12
  51. package/dist/components/Blob/Blob.d.ts +0 -1
  52. package/dist/components/BlockedMemoriBadge/BlockedMemoriBadge.css +4 -4
  53. package/dist/components/BlockedMemoriBadge/BlockedMemoriBadge.d.ts +0 -1
  54. package/dist/components/BlockedMemoriBadge/BlockedMemoriBadge.js +4 -5
  55. package/dist/components/BlockedMemoriBadge/BlockedMemoriBadge.js.map +1 -1
  56. package/dist/components/ChangeMode/ChangeMode.css +4 -2
  57. package/dist/components/ChangeMode/ChangeMode.js +8 -3
  58. package/dist/components/ChangeMode/ChangeMode.js.map +1 -1
  59. package/dist/components/Chat/Chat.css +114 -38
  60. package/dist/components/Chat/Chat.js +39 -53
  61. package/dist/components/Chat/Chat.js.map +1 -1
  62. package/dist/components/ChatBubble/ChatBubble.css +206 -68
  63. package/dist/components/ChatBubble/ChatBubble.d.ts +5 -0
  64. package/dist/components/ChatBubble/ChatBubble.js +223 -164
  65. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  66. package/dist/components/ChatHistoryDrawer/ChatHistory.css +417 -156
  67. package/dist/components/ChatHistoryDrawer/ChatHistory.d.ts +0 -1
  68. package/dist/components/ChatHistoryDrawer/ChatHistory.js +252 -151
  69. package/dist/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
  70. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +12 -3
  71. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +18 -7
  72. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  73. package/dist/components/ChatInputs/ChatInputs.css +68 -51
  74. package/dist/components/ChatInputs/ChatInputs.d.ts +1 -0
  75. package/dist/components/ChatInputs/ChatInputs.js +51 -28
  76. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  77. package/dist/components/ChatTextArea/ChatTextArea.css +38 -12
  78. package/dist/components/ChatTextArea/ChatTextArea.js +1 -1
  79. package/dist/components/ChatTextArea/ChatTextArea.js.map +1 -1
  80. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.css +5 -5
  81. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.d.ts +0 -1
  82. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js +8 -11
  83. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  84. package/dist/components/ContentPreviewModal/ContentPreviewModal.css +129 -84
  85. package/dist/components/ContentPreviewModal/ContentPreviewModal.js +5 -4
  86. package/dist/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
  87. package/dist/components/ContentPreviewModal/index.js +2 -4
  88. package/dist/components/ContentPreviewModal/index.js.map +1 -1
  89. package/dist/components/CustomGLBModelViewer/ModelViewer.d.ts +0 -1
  90. package/dist/components/DateSelector/DateSelector.css +22 -24
  91. package/dist/components/DateSelector/DateSelector.d.ts +0 -1
  92. package/dist/components/DateSelector/DateSelector.js +2 -2
  93. package/dist/components/DateSelector/DateSelector.js.map +1 -1
  94. package/dist/components/DrawerFooter/DrawerFooter.js +1 -1
  95. package/dist/components/DrawerFooter/DrawerFooter.js.map +1 -1
  96. package/dist/components/ErrorBoundary/ErrorBoundary.js +3 -4
  97. package/dist/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  98. package/dist/components/ExpertsDrawer/ExpertsDrawer.css +6 -9
  99. package/dist/components/ExpertsDrawer/ExpertsDrawer.d.ts +0 -1
  100. package/dist/components/ExpertsDrawer/ExpertsDrawer.js +2 -3
  101. package/dist/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
  102. package/dist/components/ExportHistoryButton/ExportHistoryButton.css +3 -3
  103. package/dist/components/FeedbackButtons/FeedbackButtons.css +17 -15
  104. package/dist/components/FeedbackButtons/FeedbackButtons.d.ts +0 -1
  105. package/dist/components/FeedbackButtons/FeedbackButtons.js +32 -12
  106. package/dist/components/FeedbackButtons/FeedbackButtons.js.map +1 -1
  107. package/dist/components/FilePreview/FilePreview.css +56 -40
  108. package/dist/components/FilePreview/FilePreview.d.ts +0 -1
  109. package/dist/components/FilePreview/FilePreview.js +11 -12
  110. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  111. package/dist/components/Header/ChatConsumptionDropdown.d.ts +10 -2
  112. package/dist/components/Header/ChatConsumptionDropdown.js +36 -10
  113. package/dist/components/Header/ChatConsumptionDropdown.js.map +1 -1
  114. package/dist/components/Header/Header.css +525 -62
  115. package/dist/components/Header/Header.d.ts +7 -1
  116. package/dist/components/Header/Header.js +357 -69
  117. package/dist/components/Header/Header.js.map +1 -1
  118. package/dist/components/KnownFacts/KnownFacts.css +52 -13
  119. package/dist/components/KnownFacts/KnownFacts.d.ts +2 -2
  120. package/dist/components/KnownFacts/KnownFacts.js +183 -128
  121. package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
  122. package/dist/components/LoginDrawer/LoginDrawer.css +377 -252
  123. package/dist/components/LoginDrawer/LoginDrawer.d.ts +1 -2
  124. package/dist/components/LoginDrawer/LoginDrawer.js +140 -32
  125. package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
  126. package/dist/components/MediaWidget/DocumentCard.js +1 -2
  127. package/dist/components/MediaWidget/DocumentCard.js.map +1 -1
  128. package/dist/components/MediaWidget/MediaItemWidget.css +222 -176
  129. package/dist/components/MediaWidget/MediaItemWidget.js +23 -26
  130. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  131. package/dist/components/MediaWidget/MediaItemWidget.types.d.ts +0 -1
  132. package/dist/components/MediaWidget/MediaItemWidget.utils.js +11 -11
  133. package/dist/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
  134. package/dist/components/MediaWidget/MediaPreviewModal.d.ts +1 -1
  135. package/dist/components/MediaWidget/MediaPreviewModal.js +2 -3
  136. package/dist/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  137. package/dist/components/MediaWidget/MediaWidget.css +5 -5
  138. package/dist/components/MediaWidget/MediaWidget.js +3 -4
  139. package/dist/components/MediaWidget/MediaWidget.js.map +1 -1
  140. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +83 -87
  141. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +4 -9
  142. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  143. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +25 -28
  144. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  145. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +5 -8
  146. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
  147. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js +8 -7
  148. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js.map +1 -1
  149. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +287 -277
  150. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.js +5 -5
  151. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.js.map +1 -1
  152. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +117 -142
  153. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +47 -45
  154. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  155. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +4 -134
  156. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +10 -16
  157. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -1
  158. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +196 -166
  159. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +41 -29
  160. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  161. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +204 -205
  162. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  163. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +4 -1
  164. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js +5 -1
  165. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  166. package/dist/components/MemoriArtifactSystem/types/artifact.types.d.ts +1 -0
  167. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js +15 -4
  168. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
  169. package/dist/components/MemoriWidget/MemoriWidget.css +16 -71
  170. package/dist/components/MemoriWidget/MemoriWidget.d.ts +16 -10
  171. package/dist/components/MemoriWidget/MemoriWidget.js +198 -105
  172. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  173. package/dist/components/MicrophoneButton/MicrophoneButton.css +25 -5
  174. package/dist/components/MicrophoneButton/MicrophoneButton.d.ts +2 -2
  175. package/dist/components/MicrophoneButton/MicrophoneButton.js +16 -13
  176. package/dist/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
  177. package/dist/components/MobileSessionPanel/MobileSessionPanel.css +48 -4
  178. package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +5 -1
  179. package/dist/components/MobileSessionPanel/MobileSessionPanel.js +177 -57
  180. package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  181. package/dist/components/PositionPopover/PositionPopover.js +2 -1
  182. package/dist/components/PositionPopover/PositionPopover.js.map +1 -1
  183. package/dist/components/PoweredBy/PoweredBy.css +29 -27
  184. package/dist/components/PoweredBy/PoweredBy.d.ts +1 -2
  185. package/dist/components/PoweredBy/PoweredBy.js +5 -7
  186. package/dist/components/PoweredBy/PoweredBy.js.map +1 -1
  187. package/dist/components/SendOnEnterMenu/SendOnEnterMenu.css +3 -3
  188. package/dist/components/SendOnEnterMenu/SendOnEnterMenu.js +3 -9
  189. package/dist/components/SendOnEnterMenu/SendOnEnterMenu.js.map +1 -1
  190. package/dist/components/SettingsDrawer/SettingsDrawer.css +2 -2
  191. package/dist/components/SettingsDrawer/SettingsDrawer.d.ts +0 -1
  192. package/dist/components/SettingsDrawer/SettingsDrawer.js +19 -17
  193. package/dist/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  194. package/dist/components/ShareButton/ShareButton.css +254 -8
  195. package/dist/components/ShareButton/ShareButton.d.ts +6 -1
  196. package/dist/components/ShareButton/ShareButton.js +199 -41
  197. package/dist/components/ShareButton/ShareButton.js.map +1 -1
  198. package/dist/components/Snippet/Snippet.css +53 -17
  199. package/dist/components/Snippet/Snippet.d.ts +0 -1
  200. package/dist/components/Snippet/Snippet.js +3 -3
  201. package/dist/components/Snippet/Snippet.js.map +1 -1
  202. package/dist/components/StartPanel/StartPanel.css +733 -110
  203. package/dist/components/StartPanel/StartPanel.d.ts +5 -1
  204. package/dist/components/StartPanel/StartPanel.js +152 -64
  205. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  206. package/dist/components/Typing/Typing.d.ts +8 -2
  207. package/dist/components/Typing/Typing.js +41 -2
  208. package/dist/components/Typing/Typing.js.map +1 -1
  209. package/dist/components/UploadButton/UploadButton.css +357 -326
  210. package/dist/components/UploadButton/UploadButton.d.ts +1 -0
  211. package/dist/components/UploadButton/UploadButton.js +60 -27
  212. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  213. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +0 -2
  214. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +13 -27
  215. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  216. package/dist/components/UploadButton/UploadImages/UploadImages.js +22 -16
  217. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  218. package/dist/components/VenueWidget/VenueWidget.css +101 -41
  219. package/dist/components/VenueWidget/VenueWidget.d.ts +19 -1
  220. package/dist/components/VenueWidget/VenueWidget.js +140 -59
  221. package/dist/components/VenueWidget/VenueWidget.js.map +1 -1
  222. package/dist/components/WhyThisAnswer/WhyThisAnswer.css +20 -20
  223. package/dist/components/WhyThisAnswer/WhyThisAnswer.d.ts +0 -1
  224. package/dist/components/WhyThisAnswer/WhyThisAnswer.js +11 -8
  225. package/dist/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
  226. package/dist/components/icons/GasStation.d.ts +2 -3
  227. package/dist/components/layouts/Chat.js +194 -4
  228. package/dist/components/layouts/Chat.js.map +1 -1
  229. package/dist/components/layouts/FullPage.js +186 -4
  230. package/dist/components/layouts/FullPage.js.map +1 -1
  231. package/dist/components/layouts/HiddenChat.js +289 -12
  232. package/dist/components/layouts/HiddenChat.js.map +1 -1
  233. package/dist/components/layouts/Totem.js +2 -3
  234. package/dist/components/layouts/Totem.js.map +1 -1
  235. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +1 -1
  236. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  237. package/dist/components/layouts/ZoomedFullBody.js +185 -3
  238. package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
  239. package/dist/components/layouts/chat.css +273 -71
  240. package/dist/components/layouts/fullpage.css +25 -8
  241. package/dist/components/layouts/hidden-chat.css +329 -84
  242. package/dist/components/layouts/totem.css +23 -15
  243. package/dist/components/layouts/zoomed-full-body.css +144 -6
  244. package/dist/components/ui/Tooltip.js +3 -3
  245. package/dist/components/ui/Tooltip.js.map +1 -1
  246. package/dist/context/visemeContext.js.map +1 -1
  247. package/dist/helpers/chatPdfExport.js +15 -12
  248. package/dist/helpers/chatPdfExport.js.map +1 -1
  249. package/dist/helpers/configuration.js.map +1 -1
  250. package/dist/helpers/constants.js +25 -25
  251. package/dist/helpers/constants.js.map +1 -1
  252. package/dist/helpers/credits.d.ts +3 -3
  253. package/dist/helpers/credits.js.map +1 -1
  254. package/dist/helpers/error.js.map +1 -1
  255. package/dist/helpers/imageCompression.js.map +1 -1
  256. package/dist/helpers/llmUsage.js.map +1 -1
  257. package/dist/helpers/markedExtendedTables.js +1 -1
  258. package/dist/helpers/markedExtendedTables.js.map +1 -1
  259. package/dist/helpers/media.js.map +1 -1
  260. package/dist/helpers/message.js.map +1 -1
  261. package/dist/helpers/piiDetection.js +1 -2
  262. package/dist/helpers/piiDetection.js.map +1 -1
  263. package/dist/helpers/sanitizer.js +1 -2
  264. package/dist/helpers/sanitizer.js.map +1 -1
  265. package/dist/helpers/statistics.js.map +1 -1
  266. package/dist/helpers/stt/useSTT.d.ts +0 -1
  267. package/dist/helpers/stt/useSTT.js +1 -2
  268. package/dist/helpers/stt/useSTT.js.map +1 -1
  269. package/dist/helpers/tts/ttsVoiceUtility.js +8 -8
  270. package/dist/helpers/tts/ttsVoiceUtility.js.map +1 -1
  271. package/dist/helpers/tts/useTTS.d.ts +0 -1
  272. package/dist/helpers/tts/useTTS.js +1 -2
  273. package/dist/helpers/tts/useTTS.js.map +1 -1
  274. package/dist/helpers/utils.d.ts +2 -1
  275. package/dist/helpers/utils.js +8 -7
  276. package/dist/helpers/utils.js.map +1 -1
  277. package/dist/i18n.js +2 -0
  278. package/dist/i18n.js.map +1 -1
  279. package/dist/index.js +17 -17
  280. package/dist/index.js.map +1 -1
  281. package/dist/locales/de.json +67 -6
  282. package/dist/locales/en.json +67 -6
  283. package/dist/locales/es.json +67 -7
  284. package/dist/locales/fr.json +68 -7
  285. package/dist/locales/it.json +68 -7
  286. package/dist/styles.css +87 -52
  287. package/dist/version.d.ts +1 -1
  288. package/dist/version.js +1 -1
  289. package/dist/version.js.map +1 -1
  290. package/esm/components/AgeVerificationModal/AgeVerificationModal.css +35 -12
  291. package/esm/components/AgeVerificationModal/AgeVerificationModal.d.ts +0 -1
  292. package/esm/components/AgeVerificationModal/AgeVerificationModal.js +22 -10
  293. package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  294. package/esm/components/Auth/Auth.css +13 -9
  295. package/esm/components/Auth/Auth.d.ts +0 -1
  296. package/esm/components/Auth/Auth.js +14 -9
  297. package/esm/components/Auth/Auth.js.map +1 -1
  298. package/esm/components/Avatar/Avatar.css +2 -2
  299. package/esm/components/Avatar/Avatar.js +7 -7
  300. package/esm/components/Avatar/Avatar.js.map +1 -1
  301. package/esm/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.d.ts +0 -1
  302. package/esm/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js +1 -1
  303. package/esm/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js.map +1 -1
  304. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.d.ts +0 -1
  305. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
  306. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.d.ts +0 -1
  307. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  308. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js.map +1 -1
  309. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.js.map +1 -1
  310. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js.map +1 -1
  311. package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.d.ts +0 -1
  312. package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js.map +1 -1
  313. package/esm/components/Avatar/AvatarView/AvatarComponent/components/loader.d.ts +0 -1
  314. package/esm/components/Avatar/AvatarView/AvatarComponent/components/loader.js +1 -1
  315. package/esm/components/Avatar/AvatarView/AvatarComponent/components/loader.js.map +1 -1
  316. package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +21 -21
  317. package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.d.ts +0 -1
  318. package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js +8 -9
  319. package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js.map +1 -1
  320. package/esm/components/Avatar/AvatarView/index.js.map +1 -1
  321. package/esm/components/Avatar/AvatarView/utils/hideHands.js.map +1 -1
  322. package/esm/components/Avatar/AvatarView/utils/useEyeBlink.js.map +1 -1
  323. package/esm/components/Avatar/AvatarView/utils/useHeadMovement.js.map +1 -1
  324. package/esm/components/Avatar/AvatarView/utils/useLoadingMorphAnim.js.map +1 -1
  325. package/esm/components/Avatar/AvatarView/utils/useMouthAnimation.js.map +1 -1
  326. package/esm/components/Avatar/AvatarView/utils/useSmile.js.map +1 -1
  327. package/esm/components/Avatar/AvatarView/utils/utils.js.map +1 -1
  328. package/esm/components/Blob/Blob.css +14 -12
  329. package/esm/components/Blob/Blob.d.ts +0 -1
  330. package/esm/components/BlockedMemoriBadge/BlockedMemoriBadge.css +4 -4
  331. package/esm/components/BlockedMemoriBadge/BlockedMemoriBadge.d.ts +0 -1
  332. package/esm/components/BlockedMemoriBadge/BlockedMemoriBadge.js +3 -3
  333. package/esm/components/BlockedMemoriBadge/BlockedMemoriBadge.js.map +1 -1
  334. package/esm/components/ChangeMode/ChangeMode.css +4 -2
  335. package/esm/components/ChangeMode/ChangeMode.js +8 -3
  336. package/esm/components/ChangeMode/ChangeMode.js.map +1 -1
  337. package/esm/components/Chat/Chat.css +114 -38
  338. package/esm/components/Chat/Chat.js +35 -49
  339. package/esm/components/Chat/Chat.js.map +1 -1
  340. package/esm/components/ChatBubble/ChatBubble.css +206 -68
  341. package/esm/components/ChatBubble/ChatBubble.d.ts +5 -0
  342. package/esm/components/ChatBubble/ChatBubble.js +223 -164
  343. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  344. package/esm/components/ChatHistoryDrawer/ChatHistory.css +417 -156
  345. package/esm/components/ChatHistoryDrawer/ChatHistory.d.ts +0 -1
  346. package/esm/components/ChatHistoryDrawer/ChatHistory.js +252 -151
  347. package/esm/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
  348. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +12 -3
  349. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +18 -7
  350. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  351. package/esm/components/ChatInputs/ChatInputs.css +68 -51
  352. package/esm/components/ChatInputs/ChatInputs.d.ts +1 -0
  353. package/esm/components/ChatInputs/ChatInputs.js +51 -28
  354. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  355. package/esm/components/ChatTextArea/ChatTextArea.css +38 -12
  356. package/esm/components/ChatTextArea/ChatTextArea.js +1 -1
  357. package/esm/components/ChatTextArea/ChatTextArea.js.map +1 -1
  358. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.css +5 -5
  359. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.d.ts +0 -1
  360. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js +5 -7
  361. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  362. package/esm/components/ContentPreviewModal/ContentPreviewModal.css +129 -84
  363. package/esm/components/ContentPreviewModal/ContentPreviewModal.js +5 -4
  364. package/esm/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
  365. package/esm/components/CustomGLBModelViewer/ModelViewer.d.ts +0 -1
  366. package/esm/components/DateSelector/DateSelector.css +22 -24
  367. package/esm/components/DateSelector/DateSelector.d.ts +0 -1
  368. package/esm/components/DateSelector/DateSelector.js +2 -2
  369. package/esm/components/DateSelector/DateSelector.js.map +1 -1
  370. package/esm/components/DrawerFooter/DrawerFooter.js +1 -1
  371. package/esm/components/DrawerFooter/DrawerFooter.js.map +1 -1
  372. package/esm/components/ErrorBoundary/ErrorBoundary.js +3 -3
  373. package/esm/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  374. package/esm/components/ExpertsDrawer/ExpertsDrawer.css +6 -9
  375. package/esm/components/ExpertsDrawer/ExpertsDrawer.d.ts +0 -1
  376. package/esm/components/ExpertsDrawer/ExpertsDrawer.js +1 -1
  377. package/esm/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
  378. package/esm/components/ExportHistoryButton/ExportHistoryButton.css +3 -3
  379. package/esm/components/FeedbackButtons/FeedbackButtons.css +17 -15
  380. package/esm/components/FeedbackButtons/FeedbackButtons.d.ts +0 -1
  381. package/esm/components/FeedbackButtons/FeedbackButtons.js +32 -11
  382. package/esm/components/FeedbackButtons/FeedbackButtons.js.map +1 -1
  383. package/esm/components/FilePreview/FilePreview.css +56 -40
  384. package/esm/components/FilePreview/FilePreview.d.ts +0 -1
  385. package/esm/components/FilePreview/FilePreview.js +11 -12
  386. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  387. package/esm/components/Header/ChatConsumptionDropdown.d.ts +10 -2
  388. package/esm/components/Header/ChatConsumptionDropdown.js +34 -10
  389. package/esm/components/Header/ChatConsumptionDropdown.js.map +1 -1
  390. package/esm/components/Header/Header.css +525 -62
  391. package/esm/components/Header/Header.d.ts +7 -1
  392. package/esm/components/Header/Header.js +359 -71
  393. package/esm/components/Header/Header.js.map +1 -1
  394. package/esm/components/KnownFacts/KnownFacts.css +52 -13
  395. package/esm/components/KnownFacts/KnownFacts.d.ts +2 -2
  396. package/esm/components/KnownFacts/KnownFacts.js +185 -129
  397. package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
  398. package/esm/components/LoginDrawer/LoginDrawer.css +377 -252
  399. package/esm/components/LoginDrawer/LoginDrawer.d.ts +1 -2
  400. package/esm/components/LoginDrawer/LoginDrawer.js +140 -32
  401. package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
  402. package/esm/components/MediaWidget/MediaItemWidget.css +222 -176
  403. package/esm/components/MediaWidget/MediaItemWidget.js +14 -17
  404. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  405. package/esm/components/MediaWidget/MediaItemWidget.types.d.ts +0 -1
  406. package/esm/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
  407. package/esm/components/MediaWidget/MediaPreviewModal.d.ts +1 -1
  408. package/esm/components/MediaWidget/MediaPreviewModal.js +1 -1
  409. package/esm/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  410. package/esm/components/MediaWidget/MediaWidget.css +5 -5
  411. package/esm/components/MediaWidget/MediaWidget.js +2 -3
  412. package/esm/components/MediaWidget/MediaWidget.js.map +1 -1
  413. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +83 -87
  414. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +4 -8
  415. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  416. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +23 -26
  417. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  418. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -6
  419. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
  420. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js +8 -7
  421. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js.map +1 -1
  422. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +287 -277
  423. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.js +5 -5
  424. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.js.map +1 -1
  425. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +117 -142
  426. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +47 -45
  427. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  428. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +4 -134
  429. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +9 -14
  430. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -1
  431. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +196 -166
  432. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +41 -29
  433. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  434. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +204 -205
  435. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  436. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +4 -1
  437. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js +5 -1
  438. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  439. package/esm/components/MemoriArtifactSystem/types/artifact.types.d.ts +1 -0
  440. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js +15 -4
  441. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
  442. package/esm/components/MemoriWidget/MemoriWidget.css +16 -71
  443. package/esm/components/MemoriWidget/MemoriWidget.d.ts +16 -10
  444. package/esm/components/MemoriWidget/MemoriWidget.js +197 -105
  445. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  446. package/esm/components/MicrophoneButton/MicrophoneButton.css +25 -5
  447. package/esm/components/MicrophoneButton/MicrophoneButton.d.ts +2 -2
  448. package/esm/components/MicrophoneButton/MicrophoneButton.js +16 -12
  449. package/esm/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
  450. package/esm/components/MobileSessionPanel/MobileSessionPanel.css +48 -4
  451. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +5 -1
  452. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +178 -59
  453. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  454. package/esm/components/PositionPopover/PositionPopover.js +2 -1
  455. package/esm/components/PositionPopover/PositionPopover.js.map +1 -1
  456. package/esm/components/PoweredBy/PoweredBy.css +29 -27
  457. package/esm/components/PoweredBy/PoweredBy.d.ts +1 -2
  458. package/esm/components/PoweredBy/PoweredBy.js +4 -7
  459. package/esm/components/PoweredBy/PoweredBy.js.map +1 -1
  460. package/esm/components/SendOnEnterMenu/SendOnEnterMenu.css +3 -3
  461. package/esm/components/SendOnEnterMenu/SendOnEnterMenu.js +3 -8
  462. package/esm/components/SendOnEnterMenu/SendOnEnterMenu.js.map +1 -1
  463. package/esm/components/SettingsDrawer/SettingsDrawer.css +2 -2
  464. package/esm/components/SettingsDrawer/SettingsDrawer.d.ts +0 -1
  465. package/esm/components/SettingsDrawer/SettingsDrawer.js +19 -16
  466. package/esm/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  467. package/esm/components/ShareButton/ShareButton.css +254 -8
  468. package/esm/components/ShareButton/ShareButton.d.ts +6 -1
  469. package/esm/components/ShareButton/ShareButton.js +200 -42
  470. package/esm/components/ShareButton/ShareButton.js.map +1 -1
  471. package/esm/components/Snippet/Snippet.css +53 -17
  472. package/esm/components/Snippet/Snippet.d.ts +0 -1
  473. package/esm/components/Snippet/Snippet.js +3 -3
  474. package/esm/components/Snippet/Snippet.js.map +1 -1
  475. package/esm/components/StartPanel/StartPanel.css +733 -110
  476. package/esm/components/StartPanel/StartPanel.d.ts +5 -1
  477. package/esm/components/StartPanel/StartPanel.js +154 -66
  478. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  479. package/esm/components/Typing/Typing.d.ts +8 -2
  480. package/esm/components/Typing/Typing.js +41 -2
  481. package/esm/components/Typing/Typing.js.map +1 -1
  482. package/esm/components/UploadButton/UploadButton.css +357 -326
  483. package/esm/components/UploadButton/UploadButton.d.ts +1 -0
  484. package/esm/components/UploadButton/UploadButton.js +61 -28
  485. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  486. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +0 -2
  487. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +13 -27
  488. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  489. package/esm/components/UploadButton/UploadImages/UploadImages.js +22 -16
  490. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  491. package/esm/components/VenueWidget/VenueWidget.css +101 -41
  492. package/esm/components/VenueWidget/VenueWidget.d.ts +19 -1
  493. package/esm/components/VenueWidget/VenueWidget.js +138 -61
  494. package/esm/components/VenueWidget/VenueWidget.js.map +1 -1
  495. package/esm/components/WhyThisAnswer/WhyThisAnswer.css +20 -20
  496. package/esm/components/WhyThisAnswer/WhyThisAnswer.d.ts +0 -1
  497. package/esm/components/WhyThisAnswer/WhyThisAnswer.js +10 -7
  498. package/esm/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
  499. package/esm/components/icons/GasStation.d.ts +2 -3
  500. package/esm/components/layouts/Chat.js +194 -4
  501. package/esm/components/layouts/Chat.js.map +1 -1
  502. package/esm/components/layouts/FullPage.js +186 -4
  503. package/esm/components/layouts/FullPage.js.map +1 -1
  504. package/esm/components/layouts/HiddenChat.js +290 -13
  505. package/esm/components/layouts/HiddenChat.js.map +1 -1
  506. package/esm/components/layouts/Totem.js +2 -2
  507. package/esm/components/layouts/Totem.js.map +1 -1
  508. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +1 -1
  509. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  510. package/esm/components/layouts/ZoomedFullBody.js +185 -3
  511. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  512. package/esm/components/layouts/chat.css +273 -71
  513. package/esm/components/layouts/fullpage.css +25 -8
  514. package/esm/components/layouts/hidden-chat.css +329 -84
  515. package/esm/components/layouts/totem.css +23 -15
  516. package/esm/components/layouts/zoomed-full-body.css +144 -6
  517. package/esm/components/ui/Tooltip.js +3 -3
  518. package/esm/components/ui/Tooltip.js.map +1 -1
  519. package/esm/context/visemeContext.js.map +1 -1
  520. package/esm/helpers/chatPdfExport.js +15 -12
  521. package/esm/helpers/chatPdfExport.js.map +1 -1
  522. package/esm/helpers/configuration.js.map +1 -1
  523. package/esm/helpers/constants.js +25 -25
  524. package/esm/helpers/constants.js.map +1 -1
  525. package/esm/helpers/credits.d.ts +3 -3
  526. package/esm/helpers/credits.js.map +1 -1
  527. package/esm/helpers/error.js.map +1 -1
  528. package/esm/helpers/imageCompression.js.map +1 -1
  529. package/esm/helpers/llmUsage.js.map +1 -1
  530. package/esm/helpers/markedExtendedTables.js.map +1 -1
  531. package/esm/helpers/media.js.map +1 -1
  532. package/esm/helpers/message.js.map +1 -1
  533. package/esm/helpers/piiDetection.js.map +1 -1
  534. package/esm/helpers/statistics.js.map +1 -1
  535. package/esm/helpers/stt/useSTT.d.ts +0 -1
  536. package/esm/helpers/stt/useSTT.js.map +1 -1
  537. package/esm/helpers/tts/ttsVoiceUtility.js.map +1 -1
  538. package/esm/helpers/tts/useTTS.d.ts +0 -1
  539. package/esm/helpers/tts/useTTS.js.map +1 -1
  540. package/esm/helpers/utils.d.ts +2 -1
  541. package/esm/helpers/utils.js +1 -0
  542. package/esm/helpers/utils.js.map +1 -1
  543. package/esm/i18n.js +2 -0
  544. package/esm/i18n.js.map +1 -1
  545. package/esm/index.js +17 -17
  546. package/esm/index.js.map +1 -1
  547. package/esm/locales/de.json +67 -6
  548. package/esm/locales/en.json +67 -6
  549. package/esm/locales/es.json +67 -7
  550. package/esm/locales/fr.json +68 -7
  551. package/esm/locales/it.json +68 -7
  552. package/esm/styles.css +87 -52
  553. package/esm/version.d.ts +1 -1
  554. package/esm/version.js +1 -1
  555. package/esm/version.js.map +1 -1
  556. package/package.json +15 -11
  557. package/src/Showcase.stories.tsx +641 -0
  558. package/src/__snapshots__/index.test.tsx.snap +40 -10
  559. package/src/components/AgeVerificationModal/AgeVerificationModal.css +35 -12
  560. package/src/components/AgeVerificationModal/AgeVerificationModal.stories.tsx +4 -1
  561. package/src/components/AgeVerificationModal/AgeVerificationModal.test.tsx +2 -1
  562. package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +59 -39
  563. package/src/components/AgeVerificationModal/__snapshots__/AgeVerificationModal.test.tsx.snap +27 -3
  564. package/src/components/Auth/Auth.css +13 -9
  565. package/src/components/Auth/Auth.tsx +30 -18
  566. package/src/components/Auth/__snapshots__/Auth.test.tsx.snap +91 -35
  567. package/src/components/Avatar/Avatar.css +2 -2
  568. package/src/components/Avatar/Avatar.tsx +11 -8
  569. package/src/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.tsx +1 -1
  570. package/src/components/Avatar/AvatarView/AvatarComponent/components/loader.tsx +1 -1
  571. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +21 -21
  572. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.tsx +12 -14
  573. package/src/components/Blob/Blob.css +14 -12
  574. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.css +4 -4
  575. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.tsx +3 -3
  576. package/src/components/BlockedMemoriBadge/__snapshots__/BlockedMemoriBadge.test.tsx.snap +115 -70
  577. package/src/components/ChangeMode/ChangeMode.css +4 -2
  578. package/src/components/ChangeMode/ChangeMode.tsx +29 -28
  579. package/src/components/ChangeMode/__snapshots__/ChangeMode.test.tsx.snap +50 -80
  580. package/src/components/Chat/Chat.css +114 -38
  581. package/src/components/Chat/Chat.stories.tsx +15 -12
  582. package/src/components/Chat/Chat.test.tsx +11 -2
  583. package/src/components/Chat/Chat.tsx +136 -173
  584. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +8260 -4942
  585. package/src/components/ChatBubble/ChatBubble.css +206 -68
  586. package/src/components/ChatBubble/ChatBubble.stories.tsx +13 -20
  587. package/src/components/ChatBubble/ChatBubble.test.tsx +5 -0
  588. package/src/components/ChatBubble/ChatBubble.tsx +505 -401
  589. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +7753 -6638
  590. package/src/components/ChatHistoryDrawer/ChatHistory.css +417 -156
  591. package/src/components/ChatHistoryDrawer/ChatHistory.stories.tsx +121 -82
  592. package/src/components/ChatHistoryDrawer/ChatHistory.test.tsx +65 -56
  593. package/src/components/ChatHistoryDrawer/ChatHistory.tsx +507 -513
  594. package/src/components/ChatHistoryDrawer/ChatResumeDrawer.css +367 -0
  595. package/src/components/ChatHistoryDrawer/ChatResumeDrawer.tsx +296 -0
  596. package/src/components/ChatHistoryDrawer/__snapshots__/ChatHistory.test.tsx.snap +12 -15
  597. package/src/components/ChatInputs/ChatInputs.css +68 -51
  598. package/src/components/ChatInputs/ChatInputs.stories.tsx +13 -10
  599. package/src/components/ChatInputs/ChatInputs.tsx +80 -54
  600. package/src/components/ChatTextArea/ChatTextArea.css +38 -12
  601. package/src/components/ChatTextArea/ChatTextArea.tsx +7 -3
  602. package/src/components/ChatTextArea/__snapshots__/ChatTextArea.test.tsx.snap +6 -0
  603. package/src/components/CompletionProviderStatus/CompletionProviderStatus.css +5 -5
  604. package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +5 -7
  605. package/src/components/CompletionProviderStatus/__snapshots__/CompletionProviderStatus.test.tsx.snap +63 -48
  606. package/src/components/ContentPreviewModal/ContentPreviewModal.css +129 -84
  607. package/src/components/ContentPreviewModal/ContentPreviewModal.tsx +4 -3
  608. package/src/components/DateSelector/DateSelector.css +22 -24
  609. package/src/components/DateSelector/DateSelector.tsx +11 -4
  610. package/src/components/DrawerFooter/DrawerFooter.css +62 -0
  611. package/src/components/DrawerFooter/DrawerFooter.tsx +58 -0
  612. package/src/components/ErrorBoundary/ErrorBoundary.tsx +3 -3
  613. package/src/components/ExpertsDrawer/ExpertsDrawer.css +6 -9
  614. package/src/components/ExpertsDrawer/ExpertsDrawer.tsx +1 -1
  615. package/src/components/ExpertsDrawer/__snapshots__/ExpertsDrawer.test.tsx.snap +4 -5
  616. package/src/components/ExportHistoryButton/ExportHistoryButton.css +3 -3
  617. package/src/components/FeedbackButtons/FeedbackButtons.css +17 -15
  618. package/src/components/FeedbackButtons/FeedbackButtons.stories.tsx +4 -1
  619. package/src/components/FeedbackButtons/FeedbackButtons.test.tsx +1 -1
  620. package/src/components/FeedbackButtons/FeedbackButtons.tsx +104 -77
  621. package/src/components/FeedbackButtons/__snapshots__/FeedbackButtons.test.tsx.snap +30 -17
  622. package/src/components/FilePreview/FilePreview.css +56 -40
  623. package/src/components/FilePreview/FilePreview.tsx +36 -27
  624. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +165 -96
  625. package/src/components/Header/ChatConsumptionDropdown.test.tsx +41 -4
  626. package/src/components/Header/ChatConsumptionDropdown.tsx +190 -123
  627. package/src/components/Header/Header.css +525 -62
  628. package/src/components/Header/Header.stories.tsx +123 -57
  629. package/src/components/Header/Header.test.tsx +43 -15
  630. package/src/components/Header/Header.tsx +1037 -250
  631. package/src/components/Header/__snapshots__/Header.test.tsx.snap +1752 -700
  632. package/src/components/KnownFacts/KnownFacts.css +52 -13
  633. package/src/components/KnownFacts/KnownFacts.stories.tsx +11 -8
  634. package/src/components/KnownFacts/KnownFacts.test.tsx +1 -1
  635. package/src/components/KnownFacts/KnownFacts.tsx +327 -316
  636. package/src/components/KnownFacts/__snapshots__/KnownFacts.test.tsx.snap +27 -3
  637. package/src/components/LoginDrawer/LoginDrawer.css +377 -252
  638. package/src/components/LoginDrawer/LoginDrawer.stories.tsx +3 -0
  639. package/src/components/LoginDrawer/LoginDrawer.test.tsx +1 -1
  640. package/src/components/LoginDrawer/LoginDrawer.tsx +301 -123
  641. package/src/components/LoginDrawer/__snapshots__/LoginDrawer.test.tsx.snap +90 -12
  642. package/src/components/MediaWidget/DocumentCard.test.tsx +1 -1
  643. package/src/components/MediaWidget/MediaItemWidget.css +222 -176
  644. package/src/components/MediaWidget/MediaItemWidget.tsx +17 -31
  645. package/src/components/MediaWidget/MediaPreviewModal.test.tsx +1 -1
  646. package/src/components/MediaWidget/MediaPreviewModal.tsx +1 -1
  647. package/src/components/MediaWidget/MediaWidget.css +5 -5
  648. package/src/components/MediaWidget/MediaWidget.tsx +6 -16
  649. package/src/components/MediaWidget/__snapshots__/MediaItemWidget.test.tsx.snap +280 -463
  650. package/src/components/MediaWidget/__snapshots__/MediaWidget.test.tsx.snap +31 -45
  651. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +17 -17
  652. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +83 -87
  653. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +32 -42
  654. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +81 -84
  655. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +8 -6
  656. package/src/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.ts +8 -7
  657. package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +287 -277
  658. package/src/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.ts +5 -5
  659. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +117 -142
  660. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +144 -155
  661. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +4 -134
  662. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.tsx +29 -45
  663. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +196 -166
  664. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +53 -27
  665. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +204 -205
  666. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +2 -3
  667. package/src/components/MemoriArtifactSystem/context/ArtifactContext.tsx +21 -10
  668. package/src/components/MemoriArtifactSystem/types/artifact.types.ts +2 -0
  669. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.test.tsx +2 -1
  670. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx +15 -4
  671. package/src/components/MemoriWidget/MemoriWidget.css +16 -71
  672. package/src/components/MemoriWidget/MemoriWidget.stories.tsx +29 -8
  673. package/src/components/MemoriWidget/MemoriWidget.tsx +247 -131
  674. package/src/components/MicrophoneButton/MicrophoneButton.css +25 -5
  675. package/src/components/MicrophoneButton/MicrophoneButton.tsx +31 -24
  676. package/src/components/MobileSessionPanel/MobileSessionPanel.css +437 -0
  677. package/src/components/MobileSessionPanel/MobileSessionPanel.tsx +795 -0
  678. package/src/components/PositionPopover/PositionPopover.css +219 -0
  679. package/src/components/PositionPopover/PositionPopover.stories.tsx +37 -0
  680. package/src/components/PositionPopover/PositionPopover.tsx +367 -0
  681. package/src/components/PoweredBy/PoweredBy.css +29 -27
  682. package/src/components/PoweredBy/PoweredBy.tsx +11 -19
  683. package/src/components/PoweredBy/__snapshots__/PoweredBy.test.tsx.snap +248 -16
  684. package/src/components/SendOnEnterMenu/SendOnEnterMenu.css +3 -3
  685. package/src/components/SendOnEnterMenu/SendOnEnterMenu.tsx +30 -64
  686. package/src/components/SendOnEnterMenu/__snapshots__/SendOnEnterMenu.test.tsx.snap +74 -26
  687. package/src/components/SettingsDrawer/SettingsDrawer.css +2 -2
  688. package/src/components/SettingsDrawer/SettingsDrawer.tsx +54 -65
  689. package/src/components/SettingsDrawer/__snapshots__/SettingsDrawer.test.tsx.snap +28 -35
  690. package/src/components/ShareButton/ShareButton.css +254 -8
  691. package/src/components/ShareButton/ShareButton.stories.tsx +9 -4
  692. package/src/components/ShareButton/ShareButton.test.tsx +1 -1
  693. package/src/components/ShareButton/ShareButton.tsx +496 -142
  694. package/src/components/ShareButton/__snapshots__/ShareButton.test.tsx.snap +639 -216
  695. package/src/components/Snippet/Snippet.css +53 -17
  696. package/src/components/Snippet/Snippet.tsx +5 -5
  697. package/src/components/Snippet/__snapshots__/Snippet.test.tsx.snap +64 -48
  698. package/src/components/StartPanel/StartPanel.css +733 -110
  699. package/src/components/StartPanel/StartPanel.stories.tsx +54 -65
  700. package/src/components/StartPanel/StartPanel.test.tsx +26 -13
  701. package/src/components/StartPanel/StartPanel.tsx +555 -262
  702. package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +2602 -1346
  703. package/src/components/Typing/Typing.tsx +85 -7
  704. package/src/components/Typing/__snapshots__/Typing.test.tsx.snap +102 -62
  705. package/src/components/UploadButton/UploadButton.css +357 -326
  706. package/src/components/UploadButton/UploadButton.stories.tsx +221 -87
  707. package/src/components/UploadButton/UploadButton.test.tsx +4 -1
  708. package/src/components/UploadButton/UploadButton.tsx +220 -167
  709. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +14 -38
  710. package/src/components/UploadButton/UploadImages/UploadImages.tsx +76 -63
  711. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +70 -75
  712. package/src/components/VenueWidget/VenueWidget.css +101 -41
  713. package/src/components/VenueWidget/VenueWidget.stories.tsx +4 -1
  714. package/src/components/VenueWidget/VenueWidget.test.tsx +1 -1
  715. package/src/components/VenueWidget/VenueWidget.tsx +311 -191
  716. package/src/components/VenueWidget/__snapshots__/VenueWidget.test.tsx.snap +498 -92
  717. package/src/components/WhyThisAnswer/WhyThisAnswer.css +20 -20
  718. package/src/components/WhyThisAnswer/WhyThisAnswer.stories.tsx +21 -18
  719. package/src/components/WhyThisAnswer/WhyThisAnswer.test.tsx +1 -1
  720. package/src/components/WhyThisAnswer/WhyThisAnswer.tsx +20 -11
  721. package/src/components/WhyThisAnswer/__snapshots__/WhyThisAnswer.test.tsx.snap +34 -4
  722. package/src/components/layouts/Chat.test.tsx +2 -1
  723. package/src/components/layouts/Chat.tsx +379 -17
  724. package/src/components/layouts/FullPage.test.tsx +2 -1
  725. package/src/components/layouts/FullPage.tsx +307 -14
  726. package/src/components/layouts/HiddenChat.test.tsx +2 -1
  727. package/src/components/layouts/HiddenChat.tsx +569 -44
  728. package/src/components/layouts/Totem.test.tsx +2 -1
  729. package/src/components/layouts/Totem.tsx +7 -3
  730. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.stories.tsx +115 -0
  731. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.test.tsx +43 -0
  732. package/src/components/layouts/{WebsiteAssistant.tsx → WebsiteAssistant/WebsiteAssistant.tsx} +29 -23
  733. package/src/components/layouts/WebsiteAssistant/__snapshots__/WebsiteAssistant.test.tsx.snap +76 -0
  734. package/src/components/layouts/{website-assistant.css → WebsiteAssistant/website-assistant.css} +74 -58
  735. package/src/components/layouts/ZoomedFullBody.test.tsx +2 -1
  736. package/src/components/layouts/ZoomedFullBody.tsx +304 -14
  737. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +663 -365
  738. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +1170 -740
  739. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +476 -339
  740. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +624 -392
  741. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +571 -356
  742. package/src/components/layouts/chat.css +273 -71
  743. package/src/components/layouts/fullpage.css +362 -0
  744. package/src/components/layouts/hidden-chat.css +329 -84
  745. package/src/components/layouts/layouts.stories.tsx +14 -146
  746. package/src/components/layouts/totem.css +23 -15
  747. package/src/components/layouts/zoomed-full-body.css +144 -6
  748. package/src/helpers/chatPdfExport.ts +15 -12
  749. package/src/helpers/constants.ts +28 -27
  750. package/src/helpers/utils.ts +2 -0
  751. package/src/i18n.ts +2 -0
  752. package/src/icons/FacebookIcon.tsx +23 -0
  753. package/src/icons/LinkedinIcon.tsx +23 -0
  754. package/src/icons/MemoriIcon.tsx +80 -0
  755. package/src/icons/TelegramIcon.tsx +19 -0
  756. package/src/icons/TwitterIcon.tsx +8 -0
  757. package/src/icons/WhatsappIcon.tsx +23 -0
  758. package/src/icons/artifacts/DocumentIcon.tsx +19 -0
  759. package/src/icons/artifacts/HtmlIcon.tsx +38 -0
  760. package/src/icons/artifacts/JavascriptIcon.tsx +19 -0
  761. package/src/icons/artifacts/MarkdownIcon.tsx +19 -0
  762. package/src/icons/artifacts/PythonIcon.tsx +17 -0
  763. package/src/icons/artifacts/SvgIcon.tsx +34 -0
  764. package/src/icons/artifacts/XmlIcon.tsx +34 -0
  765. package/src/icons/artifacts/cssIcon.tsx +34 -0
  766. package/src/index.stories.tsx +11 -5
  767. package/src/index.tsx +75 -72
  768. package/src/locales/de.json +67 -6
  769. package/src/locales/en.json +67 -6
  770. package/src/locales/es.json +67 -7
  771. package/src/locales/fr.json +68 -7
  772. package/src/locales/it.json +68 -7
  773. package/src/mocks/data.ts +5 -5
  774. package/src/styles.css +87 -52
  775. package/src/testUtils.tsx +42 -0
  776. package/src/version.ts +1 -1
  777. package/dist/helpers/userMessage.d.ts +0 -2
  778. package/dist/helpers/userMessage.js +0 -23
  779. package/dist/helpers/userMessage.js.map +0 -1
  780. package/esm/helpers/userMessage.d.ts +0 -2
  781. package/esm/helpers/userMessage.js +0 -18
  782. package/esm/helpers/userMessage.js.map +0 -1
  783. package/src/components/PositionDrawer/PositionDrawer.stories.tsx +0 -51
  784. package/src/components/PositionDrawer/PositionDrawer.test.tsx +0 -39
  785. package/src/components/PositionDrawer/PositionDrawer.tsx +0 -50
  786. package/src/components/PositionDrawer/__snapshots__/PositionDrawer.test.tsx.snap +0 -17
  787. package/src/components/icons/AI.tsx +0 -34
  788. package/src/components/icons/Alert.tsx +0 -31
  789. package/src/components/icons/ArrowUp.tsx +0 -28
  790. package/src/components/icons/Bug.tsx +0 -81
  791. package/src/components/icons/Chat.tsx +0 -30
  792. package/src/components/icons/ChevronDown.tsx +0 -26
  793. package/src/components/icons/ChevronLeft.tsx +0 -28
  794. package/src/components/icons/ChevronRight.tsx +0 -28
  795. package/src/components/icons/ChevronUp.tsx +0 -24
  796. package/src/components/icons/Clear.tsx +0 -23
  797. package/src/components/icons/Close.tsx +0 -30
  798. package/src/components/icons/Code.tsx +0 -24
  799. package/src/components/icons/Copy.tsx +0 -23
  800. package/src/components/icons/DeepThought.tsx +0 -38
  801. package/src/components/icons/Delete.tsx +0 -23
  802. package/src/components/icons/Document.tsx +0 -50
  803. package/src/components/icons/Download.tsx +0 -23
  804. package/src/components/icons/Edit.tsx +0 -17
  805. package/src/components/icons/Expand.tsx +0 -23
  806. package/src/components/icons/Eye.tsx +0 -17
  807. package/src/components/icons/EyeInvisible.tsx +0 -24
  808. package/src/components/icons/Facebook.tsx +0 -23
  809. package/src/components/icons/Feedback.tsx +0 -24
  810. package/src/components/icons/File.tsx +0 -17
  811. package/src/components/icons/FileExcel.tsx +0 -23
  812. package/src/components/icons/FilePdf.tsx +0 -23
  813. package/src/components/icons/FileWord.tsx +0 -23
  814. package/src/components/icons/Fullscreen.tsx +0 -23
  815. package/src/components/icons/FullscreenExit.tsx +0 -23
  816. package/src/components/icons/Group.tsx +0 -30
  817. package/src/components/icons/History.tsx +0 -33
  818. package/src/components/icons/Image.tsx +0 -37
  819. package/src/components/icons/Info.tsx +0 -31
  820. package/src/components/icons/Link.tsx +0 -17
  821. package/src/components/icons/Linkedin.tsx +0 -23
  822. package/src/components/icons/Loading.tsx +0 -28
  823. package/src/components/icons/Logout.tsx +0 -27
  824. package/src/components/icons/Mail.tsx +0 -17
  825. package/src/components/icons/MapMarker.tsx +0 -26
  826. package/src/components/icons/MenuHorizontal.tsx +0 -29
  827. package/src/components/icons/MenuVertical.tsx +0 -29
  828. package/src/components/icons/Message.tsx +0 -23
  829. package/src/components/icons/Microphone.tsx +0 -23
  830. package/src/components/icons/Minus.tsx +0 -23
  831. package/src/components/icons/MinusCircle.tsx +0 -24
  832. package/src/components/icons/PaperClip.tsx +0 -23
  833. package/src/components/icons/Picture.tsx +0 -23
  834. package/src/components/icons/Plus.tsx +0 -18
  835. package/src/components/icons/Preview.tsx +0 -29
  836. package/src/components/icons/Print.tsx +0 -34
  837. package/src/components/icons/QuestionHelp.tsx +0 -30
  838. package/src/components/icons/Refresh.tsx +0 -30
  839. package/src/components/icons/SelectIcon.tsx +0 -28
  840. package/src/components/icons/Send.tsx +0 -17
  841. package/src/components/icons/Setting.tsx +0 -23
  842. package/src/components/icons/Share.tsx +0 -23
  843. package/src/components/icons/Sound.tsx +0 -23
  844. package/src/components/icons/SoundDeactivated.tsx +0 -27
  845. package/src/components/icons/Telegram.tsx +0 -26
  846. package/src/components/icons/ThumbDown.tsx +0 -29
  847. package/src/components/icons/ThumbUp.tsx +0 -29
  848. package/src/components/icons/Translation.tsx +0 -24
  849. package/src/components/icons/Twitter.tsx +0 -23
  850. package/src/components/icons/Upload.tsx +0 -34
  851. package/src/components/icons/User.tsx +0 -17
  852. package/src/components/icons/Warning.tsx +0 -24
  853. package/src/components/icons/WhatsApp.tsx +0 -24
  854. package/src/components/icons/icons.stories.css +0 -5
  855. package/src/components/icons/icons.stories.tsx +0 -81
  856. package/src/components/icons/loading.css +0 -14
  857. package/src/components/layouts/WebsiteAssistant.test.tsx +0 -40
  858. package/src/components/layouts/__snapshots__/WebsiteAssistant.test.tsx.snap +0 -59
  859. package/src/components/ui/Alert.css +0 -93
  860. package/src/components/ui/Alert.stories.tsx +0 -137
  861. package/src/components/ui/Alert.test.tsx +0 -129
  862. package/src/components/ui/Alert.tsx +0 -123
  863. package/src/components/ui/Button.css +0 -167
  864. package/src/components/ui/Button.stories.tsx +0 -156
  865. package/src/components/ui/Button.test.tsx +0 -74
  866. package/src/components/ui/Button.tsx +0 -107
  867. package/src/components/ui/Card.css +0 -65
  868. package/src/components/ui/Card.stories.tsx +0 -95
  869. package/src/components/ui/Card.test.tsx +0 -47
  870. package/src/components/ui/Card.tsx +0 -48
  871. package/src/components/ui/Checkbox.css +0 -116
  872. package/src/components/ui/Checkbox.stories.tsx +0 -74
  873. package/src/components/ui/Checkbox.test.tsx +0 -28
  874. package/src/components/ui/Checkbox.tsx +0 -58
  875. package/src/components/ui/ConfirmDialog.css +0 -42
  876. package/src/components/ui/ConfirmDialog.stories.tsx +0 -216
  877. package/src/components/ui/ConfirmDialog.test.tsx +0 -124
  878. package/src/components/ui/ConfirmDialog.tsx +0 -58
  879. package/src/components/ui/Details.css +0 -66
  880. package/src/components/ui/Drawer.css +0 -270
  881. package/src/components/ui/Drawer.stories.tsx +0 -267
  882. package/src/components/ui/Drawer.test.tsx +0 -130
  883. package/src/components/ui/Drawer.tsx +0 -293
  884. package/src/components/ui/Dropdown.css +0 -173
  885. package/src/components/ui/Dropdown.tsx +0 -63
  886. package/src/components/ui/Expandable.css +0 -15
  887. package/src/components/ui/Expandable.stories.tsx +0 -180
  888. package/src/components/ui/Expandable.test.tsx +0 -107
  889. package/src/components/ui/Expandable.tsx +0 -121
  890. package/src/components/ui/Modal.css +0 -98
  891. package/src/components/ui/Modal.stories.tsx +0 -171
  892. package/src/components/ui/Modal.test.tsx +0 -111
  893. package/src/components/ui/Modal.tsx +0 -117
  894. package/src/components/ui/Select.css +0 -138
  895. package/src/components/ui/Select.stories.tsx +0 -79
  896. package/src/components/ui/Select.test.tsx +0 -84
  897. package/src/components/ui/Select.tsx +0 -79
  898. package/src/components/ui/Slider.css +0 -192
  899. package/src/components/ui/Slider.stories.tsx +0 -63
  900. package/src/components/ui/Slider.tsx +0 -142
  901. package/src/components/ui/Spin.css +0 -31
  902. package/src/components/ui/Spin.stories.tsx +0 -64
  903. package/src/components/ui/Spin.test.tsx +0 -41
  904. package/src/components/ui/Spin.tsx +0 -31
  905. package/src/components/ui/Table.css +0 -132
  906. package/src/components/ui/Tooltip.css +0 -171
  907. package/src/components/ui/Tooltip.stories.tsx +0 -109
  908. package/src/components/ui/Tooltip.test.tsx +0 -102
  909. package/src/components/ui/Tooltip.tsx +0 -162
  910. package/src/components/ui/__snapshots__/Alert.test.tsx.snap +0 -59
  911. package/src/components/ui/__snapshots__/Button.test.tsx.snap +0 -204
  912. package/src/components/ui/__snapshots__/Card.test.tsx.snap +0 -321
  913. package/src/components/ui/__snapshots__/Checkbox.test.tsx.snap +0 -131
  914. package/src/components/ui/__snapshots__/ConfirmDialog.test.tsx.snap +0 -35
  915. package/src/components/ui/__snapshots__/Drawer.test.tsx.snap +0 -67
  916. package/src/components/ui/__snapshots__/Expandable.test.tsx.snap +0 -159
  917. package/src/components/ui/__snapshots__/Modal.test.tsx.snap +0 -59
  918. package/src/components/ui/__snapshots__/Select.test.tsx.snap +0 -254
  919. package/src/components/ui/__snapshots__/Spin.test.tsx.snap +0 -193
  920. package/src/components/ui/__snapshots__/Tooltip.test.tsx.snap +0 -113
  921. package/src/components/ui/definitions.stories.tsx +0 -139
@@ -1,14 +1,18 @@
1
1
  import React from 'react';
2
2
  import { Memori, Message, Tenant, Venue, User } from '@memori.ai/memori-api-client/dist/types';
3
+ import { Button } from '@memori.ai/ui';
3
4
  import memoriApiClient from '@memori.ai/memori-api-client';
4
5
  import { Props as WidgetProps } from '../MemoriWidget/MemoriWidget';
5
6
  export interface Props {
6
7
  className?: string;
8
+ buttonVariant?: React.ComponentProps<typeof Button>['variant'];
7
9
  memori: Memori;
8
10
  tenant?: Tenant;
9
11
  history: Message[];
10
12
  position?: Venue;
11
- setShowPositionDrawer: (show: boolean) => void;
13
+ setVenue: (venue?: Venue) => void;
14
+ positionPopoverOpen: boolean;
15
+ setPositionPopoverOpen: (open: boolean) => void;
12
16
  setShowSettingsDrawer: (show: boolean) => void;
13
17
  setShowChatHistoryDrawer: (show: boolean) => void;
14
18
  setShowKnownFactsDrawer: (show: boolean) => void;
@@ -35,6 +39,8 @@ export interface Props {
35
39
  layout?: WidgetProps['layout'];
36
40
  additionalSettings?: WidgetProps['additionalSettings'];
37
41
  showMessageConsumption?: boolean;
42
+ showFullscreen?: boolean;
43
+ extraActions?: React.ReactNode;
38
44
  }
39
45
  declare const Header: React.FC<Props>;
40
46
  export default Header;
@@ -1,44 +1,137 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useCallback, useEffect, useState } from 'react';
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useState, useMemo } from 'react';
3
3
  import cx from 'classnames';
4
- import Button from '../ui/Button';
5
- import Dropdown from '../ui/Dropdown';
6
- import MapMarker from '../icons/MapMarker';
7
- import SoundDeactivated from '../icons/SoundDeactivated';
8
- import Sound from '../icons/Sound';
4
+ import { Button, Popover, Tooltip, useAlertManager, createAlertOptions, } from '@memori.ai/ui';
5
+ import { VolumeX, Volume2, Settings, Minimize, Maximize, MoreVertical, RefreshCw, Brain, ChevronDown, Users, User as UserIcon, MessageCircle, LogOut, Trash2, Camera, } from 'lucide-react';
9
6
  import { useTranslation } from 'react-i18next';
10
- import Setting from '../icons/Setting';
11
7
  import ShareButton from '../ShareButton/ShareButton';
12
- import FullscreenExit from '../icons/FullscreenExit';
13
- import Fullscreen from '../icons/Fullscreen';
14
- import Refresh from '../icons/Refresh';
15
- import Clear from '../icons/Clear';
16
- import DeepThought from '../icons/DeepThought';
17
- import Group from '../icons/Group';
18
- import UserIcon from '../icons/User';
19
- import MessageIcon from '../icons/Message';
20
- import Logout from '../icons/Logout';
8
+ import PositionPopover from '../PositionPopover/PositionPopover';
9
+ import GasStation from '../icons/GasStation';
21
10
  import { getErrori18nKey } from '../../helpers/error';
22
- import toast from 'react-hot-toast';
23
11
  import ChatConsumptionDropdown from './ChatConsumptionDropdown';
24
- const imgMimeTypes = ['image/jpeg', 'image/png', 'image/jpg', 'image/gif'];
25
- const Header = ({ className, memori, tenant, history, position, setShowPositionDrawer, setShowSettingsDrawer, setShowChatHistoryDrawer, setShowKnownFactsDrawer, setShowExpertsDrawer, enableAudio = true, speakerMuted, setSpeakerMuted, hasUserActivatedSpeak = false, showShare = true, showSettings = true, showReload = false, showClear = false, showLogin = true, setShowLoginDrawer, clearHistory, loginToken, user, sessionID, showChatHistory = true, fullScreenHandler, baseUrl, onLogout, apiClient, layout, additionalSettings, showMessageConsumption = false, }) => {
12
+ import { imgMimeTypes } from '../../helpers/utils';
13
+ import { getResourceUrl } from '../../helpers/media';
14
+ const Header = ({ className, buttonVariant = 'ghost', memori, tenant, history, position, setVenue, positionPopoverOpen, setPositionPopoverOpen, setShowSettingsDrawer, setShowChatHistoryDrawer, setShowKnownFactsDrawer, setShowExpertsDrawer, enableAudio = true, speakerMuted, setSpeakerMuted, hasUserActivatedSpeak = false, showShare = true, showSettings = true, showReload = false, showClear = false, showLogin = true, setShowLoginDrawer, clearHistory, loginToken, user, sessionID, showChatHistory = true, fullScreenHandler, baseUrl, onLogout, apiClient, layout, additionalSettings, showMessageConsumption = false, showFullscreen = true, extraActions, }) => {
26
15
  const { t, i18n } = useTranslation();
16
+ const { add } = useAlertManager();
27
17
  const { uploadAsset, pwlUpdateUser } = apiClient.backend;
28
18
  const [fullScreenAvailable, setFullScreenAvailable] = useState(false);
29
19
  const [fullScreen, setFullScreen] = useState(false);
20
+ const [userPopoverOpen, setUserPopoverOpen] = useState(false);
21
+ const [infoPopoverOpen, setInfoPopoverOpen] = useState(false);
22
+ const getMetricValue = (metric) => {
23
+ if (typeof metric === 'number' && Number.isFinite(metric))
24
+ return metric;
25
+ if (!metric || typeof metric !== 'object')
26
+ return undefined;
27
+ if (typeof metric.parsedValue === 'number' &&
28
+ Number.isFinite(metric.parsedValue)) {
29
+ return metric.parsedValue;
30
+ }
31
+ if (typeof metric.source === 'string') {
32
+ const parsed = Number(metric.source);
33
+ if (Number.isFinite(parsed))
34
+ return parsed;
35
+ }
36
+ return undefined;
37
+ };
38
+ const formatMetricValue = (value, locale) => new Intl.NumberFormat(locale, {
39
+ minimumFractionDigits: 0,
40
+ maximumFractionDigits: Math.abs(value) >= 1 ? 3 : 4,
41
+ }).format(value);
42
+ const formatImpactInReadableUnit = (value, metricType, locale) => {
43
+ const absValue = Math.abs(value);
44
+ if (metricType === 'energy') {
45
+ if (absValue >= 1)
46
+ return `${formatMetricValue(value, locale)} kWh`;
47
+ const wh = value * 1000;
48
+ if (Math.abs(wh) >= 1)
49
+ return `${formatMetricValue(wh, locale)} Wh`;
50
+ return `${formatMetricValue(wh * 1000, locale)} mWh`;
51
+ }
52
+ if (metricType === 'co2') {
53
+ if (absValue >= 1)
54
+ return `${formatMetricValue(value, locale)} kg`;
55
+ const g = value * 1000;
56
+ if (Math.abs(g) >= 1)
57
+ return `${formatMetricValue(g, locale)} g`;
58
+ return `${formatMetricValue(g * 1000, locale)} mg`;
59
+ }
60
+ if (absValue >= 1)
61
+ return `${formatMetricValue(value, locale)} L`;
62
+ const ml = value * 1000;
63
+ if (Math.abs(ml) >= 1)
64
+ return `${formatMetricValue(ml, locale)} mL`;
65
+ return `${formatMetricValue(ml * 1000, locale)} μL`;
66
+ };
67
+ const currentLocale = i18n.language || navigator.language || 'en';
68
+ const chatLog = useMemo(() => ({ lines: history }), [history]);
69
+ const sustainabilityTotals = useMemo(() => {
70
+ var _a;
71
+ const totals = { energy: 0, gwp: 0, wcf: 0 };
72
+ ((_a = chatLog === null || chatLog === void 0 ? void 0 : chatLog.lines) !== null && _a !== void 0 ? _a : []).forEach(line => {
73
+ var _a, _b, _c, _d;
74
+ const energyImpact = (_a = line.llmUsage) === null || _a === void 0 ? void 0 : _a.energyImpact;
75
+ if (!energyImpact)
76
+ return;
77
+ totals.energy += (_b = getMetricValue(energyImpact.energy)) !== null && _b !== void 0 ? _b : 0;
78
+ totals.gwp += (_c = getMetricValue(energyImpact.gwp)) !== null && _c !== void 0 ? _c : 0;
79
+ totals.wcf += (_d = getMetricValue(energyImpact.wcf)) !== null && _d !== void 0 ? _d : 0;
80
+ });
81
+ return totals;
82
+ }, [chatLog]);
83
+ const hasSustainabilityData = useMemo(() => {
84
+ var _a;
85
+ return ((_a = chatLog === null || chatLog === void 0 ? void 0 : chatLog.lines) !== null && _a !== void 0 ? _a : []).some(line => {
86
+ var _a;
87
+ return !!((_a = line.llmUsage) === null || _a === void 0 ? void 0 : _a.energyImpact);
88
+ });
89
+ }, [chatLog]);
90
+ const hasChatConsumptionData = useMemo(() => {
91
+ var _a;
92
+ return ((_a = chatLog === null || chatLog === void 0 ? void 0 : chatLog.lines) !== null && _a !== void 0 ? _a : []).some(line => !!line.llmUsage);
93
+ }, [chatLog]);
30
94
  useEffect(() => {
31
95
  if (document.fullscreenEnabled) {
32
96
  setFullScreenAvailable(true);
33
97
  }
34
98
  }, []);
99
+ useEffect(() => {
100
+ const handleFullscreenChange = () => {
101
+ var _a;
102
+ const isFs = !!document.fullscreenElement;
103
+ setFullScreen(isFs);
104
+ if (!isFs) {
105
+ const memoriWidget = document.querySelector('.memori-widget');
106
+ if (((_a = memoriWidget === null || memoriWidget === void 0 ? void 0 : memoriWidget.dataset) === null || _a === void 0 ? void 0 : _a.memoriPrevBgColor) !== undefined) {
107
+ memoriWidget.style.backgroundColor =
108
+ memoriWidget.dataset.memoriPrevBgColor;
109
+ delete memoriWidget.dataset.memoriPrevBgColor;
110
+ }
111
+ }
112
+ };
113
+ document.addEventListener('fullscreenchange', handleFullscreenChange);
114
+ return () => document.removeEventListener('fullscreenchange', handleFullscreenChange);
115
+ }, []);
116
+ const [showFullpageDividers, setShowFullpageDividers] = useState(() => {
117
+ if (typeof window === 'undefined' || !window.matchMedia)
118
+ return true;
119
+ return !window.matchMedia('(max-width: 767px)').matches;
120
+ });
121
+ useEffect(() => {
122
+ if (!window.matchMedia)
123
+ return;
124
+ const mq = window.matchMedia('(max-width: 767px)');
125
+ const update = () => setShowFullpageDividers(!mq.matches);
126
+ update();
127
+ mq.addEventListener('change', update);
128
+ return () => mq.removeEventListener('change', update);
129
+ }, []);
35
130
  const hasSettingsContent = useCallback((layout, additionalSettings) => {
36
131
  return (layout === 'TOTEM' ||
37
- (additionalSettings && Object.keys(additionalSettings).length > 0) || false);
132
+ (additionalSettings && Object.keys(additionalSettings).length > 0) ||
133
+ false);
38
134
  }, [layout, additionalSettings]);
39
- const hasSpacedButtons = layout === 'FULLPAGE' ||
40
- layout === 'CHAT' ||
41
- layout === 'ZOOMED_FULL_BODY';
42
135
  const updateAvatar = async (avatar) => {
43
136
  if (avatar && loginToken) {
44
137
  const reader = new FileReader();
@@ -48,21 +141,39 @@ const Header = ({ className, memori, tenant, history, position, setShowPositionD
48
141
  const { asset: avatarAsset, ...resp } = await uploadAsset((_a = avatar.name) !== null && _a !== void 0 ? _a : 'avatar', (_b = e.target) === null || _b === void 0 ? void 0 : _b.result, loginToken !== null && loginToken !== void 0 ? loginToken : '');
49
142
  if (resp.resultCode !== 0) {
50
143
  console.error('[updateAvatar] Upload failed:', resp);
51
- toast.error(t(getErrori18nKey(resp.resultCode)));
144
+ add(createAlertOptions({
145
+ description: t(getErrori18nKey(resp.resultCode)),
146
+ severity: 'error',
147
+ }));
52
148
  }
53
149
  else if (avatarAsset) {
54
150
  let newUser = {
55
151
  userID: user === null || user === void 0 ? void 0 : user.userID,
56
152
  avatarURL: avatarAsset.assetURL,
57
153
  };
58
- const { user: patchedUser, ...resp } = await pwlUpdateUser(loginToken !== null && loginToken !== void 0 ? loginToken : '', (_c = user === null || user === void 0 ? void 0 : user.userID) !== null && _c !== void 0 ? _c : '', newUser);
154
+ const { user: patchedUser, ...updateResp } = await pwlUpdateUser(loginToken !== null && loginToken !== void 0 ? loginToken : '', (_c = user === null || user === void 0 ? void 0 : user.userID) !== null && _c !== void 0 ? _c : '', newUser);
155
+ if (updateResp.resultCode !== 0) {
156
+ add(createAlertOptions({
157
+ description: t(getErrori18nKey(updateResp.resultCode)),
158
+ severity: 'error',
159
+ }));
160
+ }
161
+ else {
162
+ add(createAlertOptions({
163
+ description: t('login.avatarUploadSuccess'),
164
+ severity: 'success',
165
+ }));
166
+ }
59
167
  }
60
168
  }
61
169
  catch (e) {
62
170
  let err = e;
63
171
  console.error('[updateAvatar] Error:', err);
64
172
  if (err === null || err === void 0 ? void 0 : err.message)
65
- toast.error(err.message);
173
+ add(createAlertOptions({
174
+ description: err.message,
175
+ severity: 'error',
176
+ }));
66
177
  }
67
178
  };
68
179
  reader.readAsDataURL(avatar);
@@ -72,55 +183,232 @@ const Header = ({ className, memori, tenant, history, position, setShowPositionD
72
183
  avatar,
73
184
  loginToken,
74
185
  });
75
- toast.error(t('login.avatarUploadError'));
186
+ add(createAlertOptions({
187
+ description: t('login.avatarUploadError'),
188
+ severity: 'error',
189
+ }));
76
190
  }
77
191
  };
78
- return (_jsxs("div", { className: cx('memori-header', hasSpacedButtons && 'memori-header--spaced', className), children: [memori.needsPosition && position && (_jsxs("div", { className: "memori-header--position", children: [position.latitude !== 0 && position.longitude !== 0 && (_jsx("span", { className: "memori-header--position-placeName", children: position.placeName })), _jsx(Button, { primary: true, shape: "circle", className: cx('memori-header--button', 'memori-header--button--position', hasSpacedButtons && 'memori-header--button-spaced'), title: t('widget.position') || 'Position', icon: _jsx(MapMarker, {}), onClick: () => setShowPositionDrawer(true) })] })), showReload && (_jsx(Button, { primary: true, shape: "circle", className: cx('memori-header--button', 'memori-header--button--reload', hasSpacedButtons && 'memori-header--button-spaced'), title: t('reload') || 'Reload', icon: _jsx(Refresh, {}), onClick: () => {
79
- window.location.reload();
80
- } })), showClear && (_jsx(Button, { primary: true, shape: "circle", className: cx('memori-header--button', 'memori-header--button--clear', hasSpacedButtons && 'memori-header--button-spaced'), title: t('clearHistory') || 'Clear chat', icon: _jsx(Clear, {}), onClick: clearHistory })), showChatHistory && !!loginToken && (_jsx(Button, { primary: true, disabled: !loginToken, shape: "circle", className: cx('memori-header--button', 'memori-header--button--chat-history', hasSpacedButtons && 'memori-header--button-spaced'), title: t('write_and_speak.chatHistory') || 'Chat history', icon: _jsx(MessageIcon, {}), onClick: () => setShowChatHistoryDrawer(true) })), showMessageConsumption && (_jsx(ChatConsumptionDropdown, { history: history, hasSpacedButtons: hasSpacedButtons })), fullScreenAvailable && (_jsx(Button, { primary: true, shape: "circle", className: cx('memori-header--button', 'memori-header--button--fullscreen', hasSpacedButtons && 'memori-header--button-spaced'), title: fullScreen
192
+ const isFullPageChrome = layout === 'FULLPAGE' || layout === 'CHAT';
193
+ const showFullpageChromeDividers = layout !== 'CHAT' && showFullpageDividers;
194
+ const fullpageGuestChrome = layout === 'FULLPAGE' && !loginToken;
195
+ const chatHistoryButtonLabel = layout === 'TOTEM'
196
+ ? undefined
197
+ : layout === 'FULLPAGE' || layout === 'CHAT' || layout === 'HIDDEN_CHAT'
198
+ ? t('widget.headerHistory') || t('write_and_speak.chatHistory')
199
+ : t('write_and_speak.chatHistory');
200
+ const fullpageHeaderProfileLabel = t('widget.headerProfile') || t('login.user') || 'Profile';
201
+ const fullpageHeaderLoginLabel = t('widget.headerLogin') || t('login.login') || 'Login';
202
+ const isAuthenticated = !!loginToken && !!user;
203
+ const isConversationStarted = Boolean(sessionID && hasUserActivatedSpeak);
204
+ const brandAvatarSrc = useMemo(() => {
205
+ if (!isFullPageChrome || !memori)
206
+ return undefined;
207
+ if (memori.avatarURL && memori.avatarURL.length > 0) {
208
+ return getResourceUrl({
209
+ type: 'avatar',
210
+ tenantID: tenant === null || tenant === void 0 ? void 0 : tenant.name,
211
+ resourceURI: memori.avatarURL,
212
+ baseURL: baseUrl,
213
+ apiURL: '',
214
+ });
215
+ }
216
+ return getResourceUrl({
217
+ type: 'avatar',
218
+ tenantID: tenant === null || tenant === void 0 ? void 0 : tenant.name,
219
+ baseURL: baseUrl,
220
+ apiURL: '',
221
+ });
222
+ }, [isFullPageChrome, memori, tenant, baseUrl]);
223
+ const fullpagePrimaryHasContent = (showChatHistory && !!loginToken) || showLogin;
224
+ const fullpageSecondaryHasContent = !!memori.needsPosition ||
225
+ showReload ||
226
+ showClear ||
227
+ showMessageConsumption ||
228
+ (showFullscreen && fullScreenAvailable) ||
229
+ (memori.enableDeepThought &&
230
+ !!loginToken &&
231
+ !!(user === null || user === void 0 ? void 0 : user.pAndCUAccepted) &&
232
+ hasUserActivatedSpeak &&
233
+ !!sessionID) ||
234
+ !!memori.enableBoardOfExperts ||
235
+ enableAudio ||
236
+ !!(showSettings && hasSettingsContent(layout, additionalSettings)) ||
237
+ showShare;
238
+ const chatHistoryNode = showChatHistory && !!loginToken && (_jsx(Tooltip, { title: t('write_and_speak.chatHistory') || 'Chat history', placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(Button, { variant: buttonVariant, className: "memori-header--chat-history-button", disabled: !loginToken, "aria-label": t('write_and_speak.chatHistory') || 'Chat history', icon: _jsx(MessageCircle, {}), onClick: () => setShowChatHistoryDrawer(true), children: chatHistoryButtonLabel }) }) }));
239
+ const loginNode = showLogin && (_jsx(_Fragment, { children: loginToken && user ? (_jsx(Popover, { className: "memori-header--dropdown", open: userPopoverOpen, onOpenChange: open => {
240
+ setUserPopoverOpen(open);
241
+ if (open) {
242
+ setInfoPopoverOpen(false);
243
+ setPositionPopoverOpen(false);
244
+ }
245
+ }, placement: "bottom-end", sideOffset: 8, closable: false, contentClassName: "memori-dropdown--menu", slotProps: {
246
+ trigger: {
247
+ className: cx('memori-dropdown--user-trigger', isFullPageChrome && 'memori-dropdown--user-trigger--fullpage'),
248
+ render: (props) => (_jsx(Tooltip, { title: t('login.user') || 'User', placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(Button, { ...props, variant: buttonVariant, className: cx('memori-dropdown--user-trigger-button', isFullPageChrome &&
249
+ 'memori-header--fullpage-labeled-trigger', userPopoverOpen && 'memori-button--active'), "aria-label": t('login.user') || 'User', icon: _jsx(UserIcon, {}), children: isFullPageChrome ? fullpageHeaderProfileLabel : null }) }) })),
250
+ },
251
+ }, content: _jsxs("div", { className: "memori-dropdown--content", children: [_jsx("div", { className: "memori-dropdown--user-item", children: _jsxs("div", { className: "memori-dropdown--user-info", children: [_jsx("div", { className: "memori-dropdown--avatar-wrap", children: user.avatarURL ? (_jsxs(_Fragment, { children: [_jsx("img", { src: user.avatarURL, alt: user.userName || user.eMail, className: "memori-dropdown--avatar" }), _jsx("span", { className: "memori-dropdown--avatar-overlay", "aria-hidden": true, children: _jsx(Camera, { size: 20, strokeWidth: 2 }) }), _jsx("label", { htmlFor: "avatar", className: "sr-only", children: t('login.avatarChange') }), _jsx("input", { type: "file", name: "avatar", id: "avatar", className: "memori-dropdown--avatar-input", onChange: e => {
252
+ var _a, _b;
253
+ return updateAvatar((_b = (_a = e.target.files) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null);
254
+ }, accept: imgMimeTypes.join(', ') })] })) : (_jsx(_Fragment, { children: _jsxs("div", { className: "memori-dropdown--avatar-placeholder", children: [_jsx("span", { className: "memori-dropdown--avatar-initial", children: (user.userName || user.eMail || 'U')
255
+ .charAt(0)
256
+ .toUpperCase() }), _jsx("span", { className: "memori-dropdown--avatar-overlay", "aria-hidden": true, children: _jsx(Camera, { size: 20, strokeWidth: 2 }) }), _jsx("label", { htmlFor: "avatar", className: "sr-only", children: t('login.avatarChange') }), _jsx("input", { type: "file", name: "avatar", id: "avatar", className: "memori-dropdown--avatar-input", onChange: e => {
257
+ var _a, _b;
258
+ return updateAvatar((_b = (_a = e.target.files) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null);
259
+ }, accept: imgMimeTypes.join(', ') })] }) })) }), _jsxs("div", { className: "memori-dropdown--user-details", children: [_jsx("h3", { className: "memori-dropdown--user-name", children: user.userName || t('login.welcomeUser') }), _jsx("p", { className: "memori-dropdown--user-email", children: user.eMail }), _jsx("div", { className: "memori-dropdown--user-badge", children: user.birthDate
260
+ ? new Date(user.birthDate).toLocaleDateString()
261
+ : t('login.notSet') })] })] }) }), _jsx("div", { className: "memori-dropdown--separator" }), _jsx(Button, { type: "button", variant: buttonVariant, onClick: onLogout, className: "memori-dropdown--action-button memori-dropdown--action-button--logout", icon: _jsx(LogOut, { size: 18, strokeWidth: 2, "aria-hidden": true }), children: t('login.logout') || 'Logout' })] }), children: null })) : (_jsx(Tooltip, { title: t('login.login') || 'Login', placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(Button, { variant: buttonVariant, className: "memori-header--button memori-header--button-login", icon: _jsx(UserIcon, {}), "aria-label": t('login.login') || 'Login', onClick: () => setShowLoginDrawer(true), children: isFullPageChrome ? fullpageHeaderLoginLabel : null }) }) })) }));
262
+ const headerActionsBeforeChatHistory = (_jsxs(_Fragment, { children: [memori.needsPosition && (_jsx("div", { className: "memori-header--position", children: _jsx(Tooltip, { title: t('widget.position') || 'Position', placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(PositionPopover, { venue: position, setVenue: setVenue, open: positionPopoverOpen, onOpenChange: open => {
263
+ setPositionPopoverOpen(open);
264
+ if (open) {
265
+ setInfoPopoverOpen(false);
266
+ setUserPopoverOpen(false);
267
+ }
268
+ }, triggerButtonVariant: buttonVariant, triggerAriaLabel: t('widget.position') || 'Position', positionerClassName: layout === 'WEBSITE_ASSISTANT'
269
+ ? 'memori-position-popover__positioner--website-assistant'
270
+ : undefined }) }) }) })), showReload && (_jsx(Tooltip, { title: t('reload') || 'Reload', placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(Button, { variant: buttonVariant, "aria-label": t('reload') || 'Reload', icon: _jsx(RefreshCw, {}), onClick: () => {
271
+ window.location.reload();
272
+ } }) }) })), showClear && (_jsx(Tooltip, { title: t('clearHistory') || 'Clear chat', placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(Button, { variant: buttonVariant, "aria-label": t('clearHistory') || 'Clear chat', icon: _jsx(Trash2, {}), onClick: () => {
273
+ clearHistory();
274
+ add(createAlertOptions({
275
+ description: t('clearHistoryDone'),
276
+ severity: 'success',
277
+ }));
278
+ } }) }) }))] }));
279
+ const headerActionsAfterChatHistory = (_jsxs(_Fragment, { children: [showMessageConsumption && (_jsx(ChatConsumptionDropdown, { history: history, triggerVariant: buttonVariant })), showFullscreen && fullScreenAvailable && (_jsx(Tooltip, { title: fullScreen
81
280
  ? t('fullscreenExit') || 'Exit fullscreen'
82
- : t('fullscreenEnter') || 'Enter fullscreen', icon: fullScreen ? _jsx(FullscreenExit, {}) : _jsx(Fullscreen, {}), onClick: fullScreenHandler ||
83
- (() => {
84
- if (!document.fullscreenElement) {
85
- const body = layout !== 'HIDDEN_CHAT' && layout !== 'WEBSITE_ASSISTANT'
86
- ? document.body
87
- : document.querySelector('.memori-widget');
88
- if (body) {
89
- const memoriReact = document.querySelector('.memori-widget');
90
- if (memoriReact) {
91
- memoriReact.style.backgroundColor =
92
- '#FFFFFF';
281
+ : t('fullscreenEnter') || 'Enter fullscreen', placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(Button, { variant: buttonVariant, "aria-label": fullScreen
282
+ ? t('fullscreenExit') || 'Exit fullscreen'
283
+ : t('fullscreenEnter') || 'Enter fullscreen', icon: fullScreen ? _jsx(Maximize, {}) : _jsx(Minimize, {}), onClick: fullScreenHandler ||
284
+ (() => {
285
+ var _a;
286
+ if (!document.fullscreenElement) {
287
+ const body = layout !== 'HIDDEN_CHAT' && layout !== 'WEBSITE_ASSISTANT'
288
+ ? document.body
289
+ : document.querySelector('.memori-widget');
290
+ if (body) {
291
+ const memoriWidget = document.querySelector('.memori-widget');
292
+ if (memoriWidget) {
293
+ if (memoriWidget.dataset.memoriPrevBgColor === undefined)
294
+ memoriWidget.dataset.memoriPrevBgColor =
295
+ (_a = memoriWidget.style.backgroundColor) !== null && _a !== void 0 ? _a : '';
296
+ memoriWidget.style.backgroundColor = '';
297
+ }
298
+ body
299
+ .requestFullscreen()
300
+ .then(() => setFullScreen(true))
301
+ .catch(err => {
302
+ console.warn('Error attempting to enable fullscreen:', err);
303
+ });
304
+ }
93
305
  }
94
- body
95
- .requestFullscreen()
96
- .then(() => setFullScreen(true))
97
- .catch(err => {
98
- console.warn('Error attempting to enable fullscreen:', err);
99
- });
100
- }
101
- }
102
- else {
103
- if (document.exitFullscreen) {
104
- document
105
- .exitFullscreen()
106
- .then(() => setFullScreen(false))
107
- .catch(err => {
108
- console.warn('Error attempting to exit fullscreen:', err);
109
- });
306
+ else {
307
+ if (document.exitFullscreen) {
308
+ document
309
+ .exitFullscreen()
310
+ .then(() => {
311
+ var _a;
312
+ setFullScreen(false);
313
+ const memoriWidget = document.querySelector('.memori-widget');
314
+ if (((_a = memoriWidget === null || memoriWidget === void 0 ? void 0 : memoriWidget.dataset) === null || _a === void 0 ? void 0 : _a.memoriPrevBgColor) !==
315
+ undefined) {
316
+ memoriWidget.style.backgroundColor =
317
+ memoriWidget.dataset.memoriPrevBgColor;
318
+ delete memoriWidget.dataset.memoriPrevBgColor;
319
+ }
320
+ })
321
+ .catch(err => {
322
+ console.warn('Error attempting to exit fullscreen:', err);
323
+ });
324
+ }
325
+ }
326
+ }) }) }) })), memori.enableDeepThought &&
327
+ !!loginToken &&
328
+ (user === null || user === void 0 ? void 0 : user.pAndCUAccepted) &&
329
+ hasUserActivatedSpeak &&
330
+ !!sessionID && (_jsx(Tooltip, { title: t('knownFacts.title') || 'Known facts', placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(Button, { variant: buttonVariant, icon: _jsx(Brain, {}), "aria-label": t('knownFacts.title') || 'Known facts', onClick: () => setShowKnownFactsDrawer(true) }) }) })), memori.enableBoardOfExperts && (_jsx(Tooltip, { title: t('widget.showExpertsInTheBoard') || 'Experts in this board', placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(Button, { variant: buttonVariant, icon: _jsx(Users, {}), disabled: !hasUserActivatedSpeak || !sessionID, "aria-label": t('widget.showExpertsInTheBoard') || 'Experts in this board', onClick: () => setShowExpertsDrawer(true) }) }) })), enableAudio && (_jsx(Tooltip, { title: t('widget.sound') || 'Sound', placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(Button, { variant: buttonVariant, icon: speakerMuted ? _jsx(VolumeX, {}) : _jsx(Volume2, {}), "aria-label": t('widget.sound') || 'Sound', onClick: () => setSpeakerMuted(!speakerMuted) }) }) })), showSettings && hasSettingsContent(layout, additionalSettings) && (_jsx(Tooltip, { title: t('widget.settings') || 'Settings', placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(Button, { variant: buttonVariant, icon: _jsx(Settings, {}), "aria-label": t('widget.settings') || 'Settings', onClick: () => setShowSettingsDrawer(true) }) }) })), showShare && (_jsx(ShareButton, { title: memori.name, memori: memori, sessionID: sessionID, tenant: tenant, showQrCode: true, align: "left", baseUrl: baseUrl, history: history, triggerVariant: buttonVariant }))] }));
331
+ const sessionInfoConsumptionSubtitle = hasSustainabilityData
332
+ ? `${formatImpactInReadableUnit(sustainabilityTotals.energy, 'energy', currentLocale)} • ${formatImpactInReadableUnit(sustainabilityTotals.gwp, 'co2', currentLocale)}`
333
+ : t('widget.noData', { defaultValue: 'Nessun dato disponibile' });
334
+ const loggedInFullpageRightControls = (_jsxs("div", { className: "memori-header--auth-icon-controls", children: [isConversationStarted && showFullpageDividers && (_jsx(Popover, { className: "memori-header--dropdown", open: infoPopoverOpen, onOpenChange: open => {
335
+ setInfoPopoverOpen(open);
336
+ if (open) {
337
+ setUserPopoverOpen(false);
338
+ setPositionPopoverOpen(false);
339
+ }
340
+ }, placement: "bottom-end", sideOffset: 8, closable: false, contentClassName: "memori-dropdown--menu memori-dropdown--auth-menu", slotProps: {
341
+ trigger: {
342
+ render: (props) => (_jsx(Tooltip, { title: "Info sessione", placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(Button, { ...props, variant: buttonVariant, className: cx('memori-header--auth-icon-button', infoPopoverOpen && 'memori-button--active'), "aria-label": "Info sessione", icon: _jsx(MoreVertical, {}) }) }) })),
343
+ },
344
+ }, content: _jsxs("div", { className: "memori-dropdown--auth-content", children: [_jsxs("button", { type: "button", className: "memori-dropdown--auth-row memori-dropdown--auth-row--navigable", onClick: () => {
345
+ setShowKnownFactsDrawer(true);
346
+ setInfoPopoverOpen(false);
347
+ }, children: [_jsx("span", { className: "memori-dropdown--auth-icon-wrap", children: _jsx(Brain, { size: 16 }) }), _jsxs("span", { className: "memori-dropdown--auth-copy", children: [_jsx("span", { className: "memori-dropdown--auth-title", children: t('knownFacts.title') || 'Known facts' }), _jsx("span", { className: "memori-dropdown--auth-subtitle", children: t('widget.knownFactsHint') || 'What I remember about you' })] })] }), hasChatConsumptionData ? (_jsx(ChatConsumptionDropdown, { history: history, triggerVariant: buttonVariant, menuAlign: "start", trigger: triggerProps => (_jsxs("button", { ...triggerProps, type: "button", className: cx('memori-dropdown--auth-row', 'memori-dropdown--auth-row--navigable', triggerProps.className), children: [_jsx("span", { className: "memori-dropdown--auth-icon-wrap", children: _jsx(GasStation, {}) }), _jsxs("span", { className: "memori-dropdown--auth-copy", children: [_jsx("span", { className: "memori-dropdown--auth-title", children: t('widget.aiConsumption') || 'AI usage' }), _jsx("span", { className: "memori-dropdown--auth-subtitle", children: sessionInfoConsumptionSubtitle })] }), _jsx(ChevronDown, { size: 16, "aria-hidden": true })] })) })) : (_jsxs("button", { type: "button", disabled: true, className: "memori-dropdown--auth-row memori-dropdown--auth-row--navigable memori-dropdown--auth-row--disabled", children: [_jsx("span", { className: "memori-dropdown--auth-icon-wrap", children: _jsx(GasStation, {}) }), _jsxs("span", { className: "memori-dropdown--auth-copy", children: [_jsx("span", { className: "memori-dropdown--auth-title", children: t('widget.aiConsumption') || 'AI usage' }), _jsx("span", { className: "memori-dropdown--auth-subtitle", children: sessionInfoConsumptionSubtitle })] }), _jsx(ChevronDown, { size: 16, "aria-hidden": true })] }))] }), children: null })), showFullscreen && fullScreenAvailable && (_jsx(Tooltip, { title: fullScreen
348
+ ? t('fullscreenExit') || 'Exit fullscreen'
349
+ : t('fullscreenEnter') || 'Enter fullscreen', placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(Button, { variant: buttonVariant, className: "memori-header--auth-icon-button", "aria-label": fullScreen
350
+ ? t('fullscreenExit') || 'Exit fullscreen'
351
+ : t('fullscreenEnter') || 'Enter fullscreen', icon: fullScreen ? _jsx(Minimize, {}) : _jsx(Maximize, {}), onClick: fullScreenHandler ||
352
+ (() => {
353
+ var _a;
354
+ if (!document.fullscreenElement) {
355
+ const body = layout !== 'HIDDEN_CHAT' && layout !== 'WEBSITE_ASSISTANT'
356
+ ? document.body
357
+ : document.querySelector('.memori-widget');
358
+ if (body) {
359
+ const memoriWidget = document.querySelector('.memori-widget');
360
+ if (memoriWidget) {
361
+ if (memoriWidget.dataset.memoriPrevBgColor === undefined)
362
+ memoriWidget.dataset.memoriPrevBgColor =
363
+ (_a = memoriWidget.style.backgroundColor) !== null && _a !== void 0 ? _a : '';
364
+ memoriWidget.style.backgroundColor = '';
365
+ }
366
+ body
367
+ .requestFullscreen()
368
+ .then(() => setFullScreen(true))
369
+ .catch(err => {
370
+ console.warn('Error attempting to enable fullscreen:', err);
371
+ });
372
+ }
373
+ }
374
+ else if (document.exitFullscreen) {
375
+ document
376
+ .exitFullscreen()
377
+ .then(() => {
378
+ var _a;
379
+ setFullScreen(false);
380
+ const memoriWidget = document.querySelector('.memori-widget');
381
+ if (((_a = memoriWidget === null || memoriWidget === void 0 ? void 0 : memoriWidget.dataset) === null || _a === void 0 ? void 0 : _a.memoriPrevBgColor) !== undefined) {
382
+ memoriWidget.style.backgroundColor =
383
+ memoriWidget.dataset.memoriPrevBgColor;
384
+ delete memoriWidget.dataset.memoriPrevBgColor;
385
+ }
386
+ })
387
+ .catch(err => {
388
+ console.warn('Error attempting to exit fullscreen:', err);
389
+ });
390
+ }
391
+ }) }) }) })), enableAudio && (_jsx(Tooltip, { title: t('widget.sound') || 'Sound', placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(Button, { variant: buttonVariant, className: "memori-header--auth-icon-button", "aria-label": t('widget.sound') || 'Sound', icon: speakerMuted ? _jsx(VolumeX, {}) : _jsx(Volume2, {}), onClick: () => setSpeakerMuted(!speakerMuted) }) }) })), memori.needsPosition && (_jsx(Tooltip, { title: t('widget.position') || 'Position', placement: "bottom", children: _jsx("span", { style: { display: 'inline-flex' }, children: _jsx(PositionPopover, { venue: position, setVenue: setVenue, open: positionPopoverOpen, onOpenChange: open => {
392
+ setPositionPopoverOpen(open);
393
+ if (open) {
394
+ setInfoPopoverOpen(false);
395
+ setUserPopoverOpen(false);
110
396
  }
111
- }
112
- }) })), memori.enableDeepThought && !!loginToken && (user === null || user === void 0 ? void 0 : user.pAndCUAccepted) && (_jsx(Button, { primary: !!sessionID && !!hasUserActivatedSpeak, shape: "circle", icon: _jsx(DeepThought, {}), className: cx('memori-header--button', 'memori-header--button--knownfacts', hasSpacedButtons && 'memori-header--button-spaced'), disabled: !hasUserActivatedSpeak || !sessionID, onClick: () => setShowKnownFactsDrawer(true), title: t('knownFacts.title') || 'Known facts' })), memori.enableBoardOfExperts && (_jsx(Button, { primary: true, shape: "circle", icon: _jsx(Group, {}), className: cx('memori-header--button', 'memori-header--button--experts', hasSpacedButtons && 'memori-header--button-spaced'), disabled: !hasUserActivatedSpeak || !sessionID, onClick: () => setShowExpertsDrawer(true), title: t('widget.showExpertsInTheBoard') || 'Experts in this board' })), enableAudio && (_jsx(Button, { primary: true, shape: "circle", className: cx('memori-header--button', 'memori-header--button--speaker', hasSpacedButtons && 'memori-header--button-spaced', { 'memori-header--button--speaker-muted': speakerMuted }), icon: speakerMuted ? _jsx(SoundDeactivated, {}) : _jsx(Sound, {}), onClick: () => setSpeakerMuted(!speakerMuted), title: t('widget.sound') || 'Sound' })), showSettings &&
113
- hasSettingsContent(layout, additionalSettings) && (_jsx(Button, { primary: true, shape: "circle", className: cx('memori-header--button', 'memori-header--button-settings', hasSpacedButtons && 'memori-header--button-spaced'), icon: _jsx(Setting, {}), onClick: () => setShowSettingsDrawer(true), title: t('widget.settings') || 'Settings' })), showShare && (_jsx(ShareButton, { className: cx('memori-header--button', 'memori-header--button-share', hasSpacedButtons && 'memori-header--button-spaced'), title: memori.name, memori: memori, sessionID: sessionID, tenant: tenant, showQrCode: true, align: "left", baseUrl: baseUrl, history: history })), showLogin && (_jsx(_Fragment, { children: loginToken && user ? (_jsxs(Dropdown, { placement: "bottom-right", trigger: _jsx(Button, { primary: true, shape: "circle", className: cx('memori-header--button', 'memori-header--button-login', hasSpacedButtons && 'memori-header--button-spaced'), icon: _jsx(UserIcon, {}), title: t('login.user') || 'User' }), children: [_jsx("div", { className: "memori-dropdown--user-profile", children: _jsxs("div", { className: "memori-dropdown--user-info", children: [user.avatarURL ? (_jsxs(_Fragment, { children: [_jsx("img", { src: user.avatarURL, alt: user.userName || user.eMail, className: "memori-dropdown--avatar" }), _jsx("input", { type: "file", name: "avatar", id: "avatar", className: "memori-dropdown--avatar-input", onChange: e => {
114
- var _a, _b;
115
- return updateAvatar((_b = (_a = e.target.files) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null);
116
- }, accept: imgMimeTypes.join(', ') })] })) : (_jsxs("div", { className: "memori-dropdown--avatar-placeholder", children: [_jsx("span", { children: (user.userName || user.eMail || 'U')
117
- .charAt(0)
118
- .toUpperCase() }), _jsx("input", { type: "file", name: "avatar", id: "avatar", className: "memori-dropdown--avatar-input", onChange: e => {
119
- var _a, _b;
120
- return updateAvatar((_b = (_a = e.target.files) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null);
121
- }, accept: imgMimeTypes.join(', ') })] })), _jsxs("div", { className: "memori-dropdown--user-details", children: [_jsx("h3", { className: "memori-dropdown--user-name", children: user.userName || t('login.welcomeUser') }), _jsx("p", { className: "memori-dropdown--user-email", children: user.eMail }), _jsx("div", { className: "memori-dropdown--user-badge", children: user.birthDate
122
- ? new Date(user.birthDate).toLocaleDateString()
123
- : t('login.notSet') })] })] }) }), _jsx("div", { className: "memori-dropdown--actions", children: _jsxs("button", { className: "memori-dropdown--action-button memori-dropdown--action-button--logout", onClick: onLogout, children: [_jsx(Logout, { className: "memori-dropdown--action-icon" }), t('login.logout') || 'Logout'] }) })] })) : (_jsx(Button, { primary: true, shape: "circle", className: cx('memori-header--button', 'memori-header--button-login', hasSpacedButtons && 'memori-header--button-spaced'), icon: _jsx(UserIcon, {}), onClick: () => setShowLoginDrawer(true), title: t('login.login') || 'Login' })) }))] }));
397
+ }, triggerButtonVariant: buttonVariant, triggerClassName: "memori-header--auth-icon-button", triggerAriaLabel: t('widget.position') || 'Position', positionerClassName: layout === 'WEBSITE_ASSISTANT'
398
+ ? 'memori-position-popover__positioner--website-assistant'
399
+ : undefined }) }) })), showShare && (_jsx("span", { className: "memori-header--auth-share-button-wrap", children: _jsx(ShareButton, { title: memori.name, memori: memori, sessionID: sessionID, tenant: tenant, showQrCode: true, align: "left", baseUrl: baseUrl, history: history, triggerVariant: buttonVariant, className: "memori-header--auth-share-button" }) }))] }));
400
+ const headerControls = (_jsxs("div", { className: cx('memori-header', className, isFullPageChrome && 'memori-header--fullpage', fullpageGuestChrome && 'memori-header--fullpage-guest'), children: [isFullPageChrome && isAuthenticated ? (_jsxs(_Fragment, { children: [fullpagePrimaryHasContent && (_jsx("div", { className: "memori-header--fullpage-primary", children: chatHistoryNode })), fullpagePrimaryHasContent &&
401
+ showFullpageChromeDividers &&
402
+ !fullpageGuestChrome && (_jsx("div", { className: "memori-header--fullpage-divider", "aria-hidden": "true" })), _jsxs("div", { className: "memori-header--fullpage-secondary", children: [loggedInFullpageRightControls, showFullpageChromeDividers && (_jsx("div", { className: "memori-header--fullpage-divider", "aria-hidden": "true" })), loginNode] })] })) : isFullPageChrome ? (_jsxs(_Fragment, { children: [fullpagePrimaryHasContent && (_jsx("div", { className: "memori-header--fullpage-primary", children: chatHistoryNode })), fullpagePrimaryHasContent &&
403
+ fullpageSecondaryHasContent &&
404
+ showFullpageChromeDividers &&
405
+ !fullpageGuestChrome && (_jsx("div", { className: "memori-header--fullpage-divider", "aria-hidden": "true" })), _jsxs("div", { className: "memori-header--fullpage-secondary", children: [headerActionsBeforeChatHistory, headerActionsAfterChatHistory, fullpagePrimaryHasContent &&
406
+ fullpageSecondaryHasContent &&
407
+ showFullpageChromeDividers && (_jsx("div", { className: "memori-header--fullpage-divider", "aria-hidden": "true" })), loginNode] })] })) : (_jsxs(_Fragment, { children: [headerActionsBeforeChatHistory, chatHistoryNode, headerActionsAfterChatHistory, loginNode] })), extraActions] }));
408
+ if (!isFullPageChrome) {
409
+ return headerControls;
410
+ }
411
+ return (_jsxs(_Fragment, { children: [memori && (_jsxs("div", { className: "memori-fullpage-header-brand", children: [brandAvatarSrc ? (_jsx("img", { className: "memori-fullpage-header-brand-icon memori-fullpage-header-brand-icon--avatar", src: brandAvatarSrc, alt: "", role: "presentation" })) : (_jsx("span", { className: "memori-fullpage-header-brand-icon", "aria-hidden": true })), isConversationStarted && (_jsx("span", { className: "memori-fullpage-header-brand-name", title: memori.name, children: memori.name }))] })), _jsx("div", { className: "memori-fullpage-header-actions", children: headerControls })] }));
124
412
  };
125
413
  export default Header;
126
414
  //# sourceMappingURL=Header.js.map