@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,27 +1,38 @@
1
- import React, { useEffect, useMemo, useState } from 'react';
1
+ import React, { useEffect, useMemo, useRef, useState } from 'react';
2
2
  import { useTranslation } from 'react-i18next';
3
- import Facebook from '../icons/Facebook';
4
- import Twitter from '../icons/Twitter';
5
- import LinkedIn from '../icons/Linkedin';
6
- import WhatsApp from '../icons/WhatsApp';
7
- import Mail from '../icons/Mail';
8
- import Link from '../icons/Link';
9
- import Share from '../icons/Share';
10
- import Download from '../icons/Download';
11
- import Telegram from '../icons/Telegram';
12
- import FilePdf from '../icons/FilePdf';
3
+ import {
4
+ Share2,
5
+ Mail,
6
+ Link as LinkIcon,
7
+ Check,
8
+ Download,
9
+ FileText,
10
+ } from 'lucide-react';
13
11
  import { QRCodeCanvas } from 'qrcode.react';
14
- import { Menu } from '@headlessui/react';
15
- import Button from '../ui/Button';
12
+ import {
13
+ Button,
14
+ Dropdown,
15
+ useAlertManager,
16
+ createAlertOptions,
17
+ Tooltip,
18
+ } from '@memori.ai/ui';
16
19
  import cx from 'classnames';
17
- import { Tenant, Memori, Message } from '@memori.ai/memori-api-client/dist/types';
20
+ import {
21
+ Tenant,
22
+ Memori,
23
+ Message,
24
+ } from '@memori.ai/memori-api-client/dist/types';
18
25
  import { pdfExporter } from '../MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter';
19
- import toast from 'react-hot-toast';
20
26
  import {
21
27
  formatChatHistoryForPDF,
22
28
  createChatPDFDocument,
23
29
  ChatPDFOptions,
24
30
  } from '../../helpers/chatPdfExport';
31
+ import FacebookIcon from '../../icons/FacebookIcon';
32
+ import TwitterIcon from '../../icons/TwitterIcon';
33
+ import LinkedinIcon from '../../icons/LinkedinIcon';
34
+ import TelegramIcon from '../../icons/TelegramIcon';
35
+ import WhatsappIcon from '../../icons/WhatsappIcon';
25
36
 
26
37
  export interface Props {
27
38
  tenant?: Tenant;
@@ -29,30 +40,127 @@ export interface Props {
29
40
  sessionID?: string;
30
41
  url?: string;
31
42
  title?: string;
32
- className?: string;
33
43
  primary?: boolean;
44
+ /** Variant for the icon (or menu-item) trigger button. */
45
+ triggerVariant?: React.ComponentProps<typeof Button>['variant'];
46
+ className?: string;
34
47
  baseUrl?: string;
35
48
  showQrCode?: boolean;
36
49
  align?: 'left' | 'right';
37
50
  history?: Message[];
51
+ triggerMode?: 'icon' | 'menu-item';
52
+ triggerLabel?: string;
53
+ renderMode?: 'dropdown' | 'inline';
38
54
  }
39
55
 
56
+ /** Copy success/error label reset */
57
+ const COPY_FEEDBACK_MS = 2500;
58
+ /** Brief primary tint on other menu actions (matches copy success tone) */
59
+ const MENU_ACTION_FLASH_MS = 900;
60
+
40
61
  const ShareButton: React.FC<Props> = ({
41
62
  tenant,
42
63
  memori,
43
64
  sessionID,
44
65
  url,
45
66
  title = '',
46
- className,
47
67
  baseUrl,
48
- primary = true,
49
68
  showQrCode = true,
50
69
  align = 'right',
51
70
  history = [],
71
+ className,
72
+ triggerMode = 'icon',
73
+ triggerLabel,
74
+ triggerVariant = 'ghost',
75
+ renderMode = 'dropdown',
52
76
  }: Props) => {
53
77
  const { t, i18n } = useTranslation();
78
+ const { add } = useAlertManager();
54
79
  const [targetUrl, setTargetUrl] = useState(url);
55
80
  const [isExportingPDF, setIsExportingPDF] = useState(false);
81
+ const [isShareMenuOpen, setIsShareMenuOpen] = useState(false);
82
+ const [copyStatus, setCopyStatus] = useState<'idle' | 'success' | 'error'>(
83
+ 'idle'
84
+ );
85
+ const [menuFlashKey, setMenuFlashKey] = useState<string | null>(null);
86
+ const copyResetTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(
87
+ null
88
+ );
89
+ const menuFlashTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(
90
+ null
91
+ );
92
+ const shareMenuContainerRef = useRef<HTMLDivElement | null>(null);
93
+
94
+ const clearCopyReset = () => {
95
+ if (copyResetTimeoutRef.current !== null) {
96
+ clearTimeout(copyResetTimeoutRef.current);
97
+ copyResetTimeoutRef.current = null;
98
+ }
99
+ };
100
+
101
+ const clearMenuFlash = () => {
102
+ if (menuFlashTimeoutRef.current !== null) {
103
+ clearTimeout(menuFlashTimeoutRef.current);
104
+ menuFlashTimeoutRef.current = null;
105
+ }
106
+ setMenuFlashKey(null);
107
+ };
108
+
109
+ const flashMenuItem = (key: string) => {
110
+ clearMenuFlash();
111
+ setMenuFlashKey(key);
112
+ menuFlashTimeoutRef.current = setTimeout(() => {
113
+ setMenuFlashKey(null);
114
+ menuFlashTimeoutRef.current = null;
115
+ }, MENU_ACTION_FLASH_MS);
116
+ };
117
+
118
+ const scheduleCopyReset = () => {
119
+ clearCopyReset();
120
+ copyResetTimeoutRef.current = setTimeout(() => {
121
+ setCopyStatus('idle');
122
+ copyResetTimeoutRef.current = null;
123
+ }, COPY_FEEDBACK_MS);
124
+ };
125
+
126
+ const handleShareMenuOpenChange = (open: boolean) => {
127
+ setIsShareMenuOpen(open);
128
+ if (!open) {
129
+ clearCopyReset();
130
+ clearMenuFlash();
131
+ setCopyStatus('idle');
132
+ }
133
+ };
134
+
135
+ const clearMenuItemFocus = () => {
136
+ const activeElement = document.activeElement;
137
+ if (
138
+ activeElement instanceof HTMLElement &&
139
+ shareMenuContainerRef.current?.contains(activeElement)
140
+ ) {
141
+ activeElement.blur();
142
+ }
143
+ };
144
+
145
+ useEffect(
146
+ () => () => {
147
+ clearCopyReset();
148
+ clearMenuFlash();
149
+ },
150
+ []
151
+ );
152
+
153
+ const handleCopyLink = async () => {
154
+ if (!targetUrl) return;
155
+ try {
156
+ await navigator.clipboard.writeText(targetUrl);
157
+ setCopyStatus('success');
158
+ scheduleCopyReset();
159
+ } catch {
160
+ setCopyStatus('error');
161
+ scheduleCopyReset();
162
+ }
163
+ };
56
164
 
57
165
  const qrImageURL = useMemo(
58
166
  () =>
@@ -73,31 +181,31 @@ const ShareButton: React.FC<Props> = ({
73
181
  id: 'facebook',
74
182
  title: 'Facebook',
75
183
  url: `https://www.facebook.com/sharer/sharer.php?u=${targetUrl}`,
76
- icon: Facebook,
184
+ icon: FacebookIcon,
77
185
  },
78
186
  {
79
187
  id: 'twitter',
80
188
  title: 'Twitter',
81
189
  url: `https://twitter.com/intent/tweet?url=${targetUrl}`,
82
- icon: Twitter,
190
+ icon: TwitterIcon,
83
191
  },
84
192
  {
85
193
  id: 'linkedin',
86
194
  title: 'LinkedIn',
87
195
  url: `https://www.linkedin.com/shareArticle?mini=true&title=${title}&url=${targetUrl}`,
88
- icon: LinkedIn,
196
+ icon: LinkedinIcon,
89
197
  },
90
198
  {
91
199
  id: 'whatsapp',
92
200
  title: 'Whatsapp',
93
201
  url: `https://api.whatsapp.com/send?phone=&text=${targetUrl}`,
94
- icon: WhatsApp,
202
+ icon: WhatsappIcon,
95
203
  },
96
204
  {
97
205
  id: 'telegram',
98
206
  title: 'Telegram',
99
207
  url: `https://t.me/share/url?text=${title}&url=${targetUrl}`,
100
- icon: Telegram,
208
+ icon: TelegramIcon,
101
209
  },
102
210
  {
103
211
  id: 'email',
@@ -122,19 +230,45 @@ const ShareButton: React.FC<Props> = ({
122
230
  document.body.removeChild(link);
123
231
  };
124
232
 
233
+ const handleDownloadQR = () => {
234
+ downloadQRCode();
235
+ flashMenuItem('qr-download');
236
+ };
237
+
238
+ const openShareTarget = (item: { id: string; url: string }) => {
239
+ if (item.id === 'email') {
240
+ const opened = window.open(item.url, '_self');
241
+ if (!opened) {
242
+ window.location.href = item.url;
243
+ }
244
+ return;
245
+ }
246
+ window.open(item.url, '_blank', 'noopener,noreferrer');
247
+ };
248
+
125
249
  /**
126
250
  * Export chat history as PDF
127
251
  */
128
252
  const handleExportPDF = async () => {
129
253
  if (!history || history.length === 0) {
130
- toast.error(t('exportChatHistory.empty') || 'No chat history to export');
254
+ add(
255
+ createAlertOptions({
256
+ description:
257
+ t('exportChatHistory.empty') || 'No chat history to export',
258
+ severity: 'error',
259
+ })
260
+ );
131
261
  return;
132
262
  }
133
263
 
134
264
  if (!pdfExporter.isSupported()) {
135
- toast.error(
136
- t('exportChatHistory.pdfNotSupported') ||
137
- 'PDF export is not supported in this browser'
265
+ add(
266
+ createAlertOptions({
267
+ description:
268
+ t('exportChatHistory.pdfNotSupported') ||
269
+ 'PDF export is not supported in this browser',
270
+ severity: 'error',
271
+ })
138
272
  );
139
273
  return;
140
274
  }
@@ -167,7 +301,9 @@ const ShareButton: React.FC<Props> = ({
167
301
  document.querySelector('memori-client') ||
168
302
  document.documentElement;
169
303
  const computedStyle = getComputedStyle(rootElement);
170
- primaryColorRgb = computedStyle.getPropertyValue('--memori-primary-rgb').trim();
304
+ primaryColorRgb = computedStyle
305
+ .getPropertyValue('--memori-primary-rgb')
306
+ .trim();
171
307
  // If empty, try to get it from :root
172
308
  if (!primaryColorRgb) {
173
309
  primaryColorRgb = getComputedStyle(document.documentElement)
@@ -175,14 +311,17 @@ const ShareButton: React.FC<Props> = ({
175
311
  .trim();
176
312
  }
177
313
  } catch (error) {
178
- console.warn('Could not read --memori-primary-rgb CSS variable:', error);
314
+ console.warn(
315
+ 'Could not read --memori-primary-rgb CSS variable:',
316
+ error
317
+ );
179
318
  }
180
319
 
181
320
  const pdfOptions: ChatPDFOptions = {
182
321
  fontSize: '12pt',
183
322
  fontFamily: 'system-ui, -apple-system, sans-serif',
184
323
  lineHeight: '1.6',
185
- color: '#333',
324
+ color: 'var(--memori-text-color)',
186
325
  backgroundColor: '#fff',
187
326
  primaryColorRgb: primaryColorRgb || undefined,
188
327
  };
@@ -223,14 +362,24 @@ const ShareButton: React.FC<Props> = ({
223
362
  }
224
363
  }, 500);
225
364
 
226
- toast.success(
227
- t('exportChatHistory.success') || 'Chat exported to PDF successfully'
365
+ add(
366
+ createAlertOptions({
367
+ description:
368
+ t('exportChatHistory.success') ||
369
+ 'Chat exported to PDF successfully',
370
+ severity: 'success',
371
+ })
228
372
  );
373
+ flashMenuItem('export-pdf');
229
374
  } catch (error) {
230
375
  console.error('PDF export error:', error);
231
- toast.error(
232
- t('exportChatHistory.error') ||
233
- 'Failed to export chat to PDF. Please try again.'
376
+ add(
377
+ createAlertOptions({
378
+ description:
379
+ t('exportChatHistory.error') ||
380
+ 'Failed to export chat to PDF. Please try again.',
381
+ severity: 'error',
382
+ })
234
383
  );
235
384
  } finally {
236
385
  setIsExportingPDF(false);
@@ -251,114 +400,97 @@ const ShareButton: React.FC<Props> = ({
251
400
  i18n.language === 'it' ? 'it' : 'en'
252
401
  }/shared/${memori.ownerUserName}/${memori.name}/${sessionID}`;
253
402
  }
403
+ ``;
254
404
 
255
405
  return undefined;
256
406
  }, [memori, sessionID, baseUrl, i18n.language]);
257
407
 
258
- return (
259
- <Menu
260
- as="div"
261
- className={cx('memori-share-button', {
262
- 'memori-share-button--align-left': align === 'left',
263
- })}
264
- >
265
- <Menu.Button
266
- className={cx(
267
- 'memori-button',
268
- 'memori-button--circle',
269
- 'memori-button--icon-only',
270
- 'memori-share-button--button',
271
- className,
272
- {
273
- 'memori-button--primary': primary,
274
- }
275
- )}
276
- title={t('widget.share') || undefined}
277
- >
278
- <div className="memori-button--icon">
279
- <Share />
280
- </div>
281
- </Menu.Button>
282
- <Menu.Items className="memori-share-button--overlay" as="ul">
408
+ const shareMenu = (
409
+ <>
410
+ <div className="memori-share-button--dropdown-section">
283
411
  {memori && sessionID && sharedUrl && (
284
- <Menu.Item
285
- key="shared"
286
- as="li"
287
- className="memori-share-button--li memori-share-button--li-shared"
412
+ <button
413
+ type="button"
414
+ className={cx('memori-share-button--inline-item', {
415
+ 'memori-share-button--menu-item--flash':
416
+ menuFlashKey === 'share-chat',
417
+ })}
418
+ onClick={() => {
419
+ window.open(sharedUrl, '_blank');
420
+ flashMenuItem('share-chat');
421
+ }}
288
422
  >
289
- <a
290
- className={cx(
291
- 'memori-button',
292
- 'memori-button--with-icon',
293
- 'memori-button--ghost',
294
- 'memori-button--padded',
295
- 'memori-share-button--link'
296
- )}
297
- href={sharedUrl}
298
- target="_blank"
299
- rel="noopener noreferrer"
300
- >
301
- <div className="memori-button--icon">
302
- <Share />
303
- </div>
304
- {t('widget.shareChat') || 'Share chat'}
305
- </a>
306
- </Menu.Item>
423
+ <Share2 />
424
+ <span>{t('widget.shareChat') || 'Share chat'}</span>
425
+ </button>
307
426
  )}
308
427
  {history && history.length > 0 && (
309
- <Menu.Item key="export-pdf" as="li" className="memori-share-button--li">
310
- <Button
311
- className="memori-share-button--link"
312
- ghost
313
- icon={<FilePdf />}
314
- onClick={handleExportPDF}
315
- disabled={isExportingPDF}
316
- >
428
+ <button
429
+ type="button"
430
+ className={cx('memori-share-button--inline-item', {
431
+ 'memori-share-button--menu-item--flash':
432
+ menuFlashKey === 'export-pdf',
433
+ })}
434
+ onClick={handleExportPDF}
435
+ disabled={isExportingPDF}
436
+ >
437
+ <FileText />
438
+ <span>
317
439
  {isExportingPDF
318
440
  ? t('exportChatHistory.exporting') || 'Exporting...'
319
441
  : t('exportChatHistory.exportPDF') || 'Export chat as PDF'}
320
- </Button>
321
- </Menu.Item>
442
+ </span>
443
+ </button>
322
444
  )}
323
- <Menu.Item key="copy" as="li" className="memori-share-button--li">
324
- <Button
325
- className="memori-share-button--link"
326
- ghost
327
- icon={<Link />}
328
- onClick={() => {
329
- targetUrl && navigator.clipboard.writeText(targetUrl);
330
- }}
331
- >
332
- {t('copyToClipboard') || undefined}
333
- </Button>
334
- </Menu.Item>
335
- {socialShare.map(item => (
336
- <Menu.Item key={item.id} as="li" className="memori-share-button--li">
337
- <a
338
- className={cx(
339
- 'memori-button',
340
- 'memori-button--with-icon',
341
- 'memori-button--ghost',
342
- 'memori-button--padded',
343
- 'memori-share-button--link'
344
- )}
345
- href={item.url ?? ''}
346
- target="_blank"
347
- rel="noopener noreferrer"
445
+ <button
446
+ type="button"
447
+ className={cx('memori-share-button--inline-item', {
448
+ 'memori-share-button--copy-item--success': copyStatus === 'success',
449
+ 'memori-share-button--copy-item--error': copyStatus === 'error',
450
+ })}
451
+ onClick={handleCopyLink}
452
+ >
453
+ {copyStatus === 'success' ? (
454
+ <Check strokeWidth={2.5} />
455
+ ) : (
456
+ <LinkIcon />
457
+ )}
458
+ <span>
459
+ {copyStatus === 'success'
460
+ ? t('copied')
461
+ : copyStatus === 'error'
462
+ ? t('copyFailed', { defaultValue: 'Could not copy' })
463
+ : t('copyToClipboard') || undefined}
464
+ </span>
465
+ </button>
466
+ </div>
467
+ <div className="memori-share-button--dropdown-divider" />
468
+ <div className="memori-share-button--dropdown-section">
469
+ {socialShare.map(item => {
470
+ const IconComponent = item.icon;
471
+ return (
472
+ <button
473
+ type="button"
474
+ key={item.id}
475
+ className={cx('memori-share-button--inline-item', {
476
+ 'memori-share-button--menu-item--flash':
477
+ menuFlashKey === item.id,
478
+ })}
479
+ onClick={() => {
480
+ openShareTarget(item);
481
+ flashMenuItem(item.id);
482
+ }}
348
483
  >
349
- <div className="memori-button--icon">
350
- <item.icon />
351
- </div>
352
- {item.title}
353
- </a>
354
- </Menu.Item>
355
- ))}
356
- {showQrCode && (
357
- <Menu.Item
358
- key="qrcode"
359
- as="li"
360
- className="memori-share-button--li-qr-code"
361
- >
484
+ <IconComponent aria-hidden />
485
+ <span>{item.title}</span>
486
+ </button>
487
+ );
488
+ })}
489
+ </div>
490
+ {showQrCode && (
491
+ <>
492
+ <div className="memori-share-button--dropdown-divider" />
493
+ <div className="memori-share-button--qr-content">
362
494
  <QRCodeCanvas
363
495
  id="qr-canvas"
364
496
  value={targetUrl ?? ''}
@@ -376,19 +508,241 @@ const ShareButton: React.FC<Props> = ({
376
508
  excavate: true,
377
509
  }}
378
510
  />
379
- <div>
380
- <Button
381
- onClick={downloadQRCode}
382
- icon={<Download />}
383
- title="Download QR"
511
+ <button
512
+ type="button"
513
+ className="memori-share-button--qr-download"
514
+ onClick={handleDownloadQR}
515
+ >
516
+ <Download aria-hidden />
517
+ <span>
518
+ {t('widget.downloadQrCode') ||
519
+ t('download', { defaultValue: 'Download' })}
520
+ </span>
521
+ </button>
522
+ </div>
523
+ </>
524
+ )}
525
+ </>
526
+ );
527
+
528
+ if (renderMode === 'inline') {
529
+ return (
530
+ <div className={cx('memori-share-button--inline-list', className)}>
531
+ {shareMenu}
532
+ </div>
533
+ );
534
+ }
535
+
536
+ return (
537
+ <Dropdown
538
+ onOpenChange={handleShareMenuOpenChange}
539
+ className={cx(
540
+ 'memori-share-button',
541
+ {
542
+ 'memori-share-button--align-left': align === 'left',
543
+ },
544
+ className
545
+ )}
546
+ >
547
+ <Tooltip content={t('widget.share') || undefined} placement="bottom">
548
+ <Dropdown.Trigger
549
+ showChevron={false}
550
+ className="memori-share-button--trigger"
551
+ render={(props: React.ButtonHTMLAttributes<HTMLButtonElement>) => (
552
+ <Button
553
+ {...props}
554
+ variant={triggerVariant}
555
+ aria-label={String(
556
+ triggerLabel || t('widget.share') || 'Share'
557
+ )}
558
+ icon={<Share2 aria-hidden />}
559
+ className={cx(
560
+ {
561
+ 'memori-share-button--trigger-menu-item':
562
+ triggerMode === 'menu-item',
563
+ },
564
+ isShareMenuOpen && 'memori-button--active'
565
+ )}
566
+ >
567
+ {triggerMode === 'menu-item'
568
+ ? triggerLabel || t('widget.share')
569
+ : undefined}
570
+ </Button>
571
+ )}
572
+ />
573
+ </Tooltip>
574
+ <Dropdown.Menu className="memori-share-button--dropdown-menu">
575
+ <div
576
+ ref={shareMenuContainerRef}
577
+ className="memori-share-button--dropdown-content"
578
+ onMouseLeave={clearMenuItemFocus}
579
+ >
580
+ <div className="memori-share-button--dropdown-section">
581
+ {memori && sessionID && sharedUrl && (
582
+ <Dropdown.Item
583
+ key="shared"
584
+ closeOnClick={false}
585
+ className={cx('memori-share-button--menu-item', {
586
+ 'memori-share-button--menu-item--flash':
587
+ menuFlashKey === 'share-chat',
588
+ })}
589
+ onClick={() => {
590
+ window.open(sharedUrl, '_blank');
591
+ flashMenuItem('share-chat');
592
+ }}
593
+ {...({ icon: <Share2 /> } as React.ComponentProps<
594
+ typeof Dropdown.Item
595
+ >)}
596
+ >
597
+ <span className="memori-share-button--dropdown-item-content">
598
+ {t('widget.shareChat') || 'Share chat'}
599
+ </span>
600
+ </Dropdown.Item>
601
+ )}
602
+ {history && history.length > 0 && (
603
+ <Dropdown.Item
604
+ key="export-pdf"
605
+ closeOnClick={false}
606
+ className={cx('memori-share-button--menu-item', {
607
+ 'memori-share-button--menu-item--flash':
608
+ menuFlashKey === 'export-pdf',
609
+ })}
610
+ onClick={handleExportPDF}
611
+ disabled={isExportingPDF}
612
+ {...({ icon: <FileText /> } as React.ComponentProps<
613
+ typeof Dropdown.Item
614
+ >)}
615
+ >
616
+ <span className="memori-share-button--dropdown-item-content">
617
+ {isExportingPDF
618
+ ? t('exportChatHistory.exporting') || 'Exporting...'
619
+ : t('exportChatHistory.exportPDF') || 'Export chat as PDF'}
620
+ </span>
621
+ </Dropdown.Item>
622
+ )}
623
+ <Dropdown.Item
624
+ closeOnClick={false}
625
+ className={cx(
626
+ 'memori-share-button--menu-item',
627
+ 'memori-share-button--copy-item',
628
+ {
629
+ 'memori-share-button--copy-item--success':
630
+ copyStatus === 'success',
631
+ 'memori-share-button--copy-item--error': copyStatus === 'error',
632
+ }
633
+ )}
634
+ onClick={handleCopyLink}
635
+ {...({
636
+ icon:
637
+ copyStatus === 'success' ? (
638
+ <Check
639
+ className="memori-share-button--copy-icon"
640
+ aria-hidden
641
+ strokeWidth={2.5}
642
+ />
643
+ ) : (
644
+ <LinkIcon
645
+ className="memori-share-button--copy-icon"
646
+ aria-hidden
647
+ />
648
+ ),
649
+ } as React.ComponentProps<typeof Dropdown.Item>)}
650
+ >
651
+ <span
652
+ className="memori-share-button--dropdown-item-content memori-share-button--copy-label"
653
+ aria-live="polite"
654
+ >
655
+ {copyStatus === 'success'
656
+ ? t('copied')
657
+ : copyStatus === 'error'
658
+ ? t('copyFailed', { defaultValue: 'Could not copy' })
659
+ : t('copyToClipboard') || undefined}
660
+ </span>
661
+ </Dropdown.Item>
662
+ </div>
663
+ <div className="memori-share-button--dropdown-divider" />
664
+ <div className="memori-share-button--dropdown-section">
665
+ {socialShare.map(item => {
666
+ const IconComponent = item.icon;
667
+ return (
668
+ <Dropdown.Item
669
+ key={item.id}
670
+ closeOnClick={false}
671
+ className={cx('memori-share-button--menu-item', {
672
+ 'memori-share-button--menu-item--flash':
673
+ menuFlashKey === item.id,
674
+ })}
675
+ onClick={() => {
676
+ openShareTarget(item);
677
+ flashMenuItem(item.id);
678
+ }}
679
+ {...({ icon: <IconComponent /> } as React.ComponentProps<
680
+ typeof Dropdown.Item
681
+ >)}
384
682
  >
385
- Download
386
- </Button>
387
- </div>
388
- </Menu.Item>
389
- )}
390
- </Menu.Items>
391
- </Menu>
683
+ <span className="memori-share-button--dropdown-item-content">
684
+ {item.title}
685
+ </span>
686
+ </Dropdown.Item>
687
+ );
688
+ })}
689
+ </div>
690
+ {showQrCode && (
691
+ <>
692
+ <div className="memori-share-button--dropdown-divider" />
693
+ <Dropdown.Item
694
+ closeOnClick={false}
695
+ className={cx(
696
+ 'memori-share-button--menu-item',
697
+ 'memori-share-button--qr-item',
698
+ {
699
+ 'memori-share-button--menu-item--flash':
700
+ menuFlashKey === 'qr-download',
701
+ }
702
+ )}
703
+ onClick={handleDownloadQR}
704
+ >
705
+ <div className="memori-share-button--qr-content">
706
+ <QRCodeCanvas
707
+ id="qr-canvas"
708
+ value={targetUrl ?? ''}
709
+ size={128}
710
+ bgColor={'#ffffff'}
711
+ fgColor={'#000000'}
712
+ level={'H'}
713
+ includeMargin={false}
714
+ imageSettings={{
715
+ src: qrImageURL,
716
+ x: undefined,
717
+ y: undefined,
718
+ height: 32,
719
+ width: 32,
720
+ excavate: true,
721
+ }}
722
+ />
723
+ <button
724
+ type="button"
725
+ className="memori-share-button--qr-download"
726
+ onClick={event => {
727
+ event.stopPropagation();
728
+ handleDownloadQR();
729
+ }}
730
+ >
731
+ <Download aria-hidden />
732
+ <span>
733
+ {String(
734
+ t('widget.downloadQrCode') ||
735
+ t('download', { defaultValue: 'Download' })
736
+ )}
737
+ </span>
738
+ </button>
739
+ </div>
740
+ </Dropdown.Item>
741
+ </>
742
+ )}
743
+ </div>
744
+ </Dropdown.Menu>
745
+ </Dropdown>
392
746
  );
393
747
  };
394
748