@memori.ai/memori-react 8.8.5 → 8.9.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 (176) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +28 -0
  3. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +0 -1
  4. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
  5. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +0 -10
  6. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  7. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js +0 -9
  8. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js.map +1 -1
  9. package/dist/components/Chat/Chat.css +31 -0
  10. package/dist/components/Chat/Chat.js +18 -4
  11. package/dist/components/Chat/Chat.js.map +1 -1
  12. package/dist/components/ChatBubble/ChatBubble.js +1 -2
  13. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  14. package/dist/components/ChatInputs/ChatInputs.css +23 -0
  15. package/dist/components/ChatInputs/ChatInputs.d.ts +1 -0
  16. package/dist/components/ChatInputs/ChatInputs.js +37 -21
  17. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  18. package/dist/components/ChatTextArea/ChatTextArea.css +31 -0
  19. package/dist/components/ChatTextArea/ChatTextArea.d.ts +1 -0
  20. package/dist/components/ChatTextArea/ChatTextArea.js +9 -2
  21. package/dist/components/ChatTextArea/ChatTextArea.js.map +1 -1
  22. package/dist/components/FilePreview/FilePreview.css +39 -0
  23. package/dist/components/Header/Header.js +3 -16
  24. package/dist/components/Header/Header.js.map +1 -1
  25. package/dist/components/MediaWidget/LinkItemWidget.js +1 -1
  26. package/dist/components/MediaWidget/LinkItemWidget.js.map +1 -1
  27. package/dist/components/MediaWidget/MediaItemWidget.js +5 -9
  28. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  29. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +65 -51
  30. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  31. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.d.ts +5 -0
  32. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js +287 -0
  33. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -0
  34. package/dist/components/MemoriWidget/MemoriWidget.d.ts +12 -0
  35. package/dist/components/MemoriWidget/MemoriWidget.js +12 -3
  36. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  37. package/dist/components/Snippet/Snippet.js +4 -3
  38. package/dist/components/Snippet/Snippet.js.map +1 -1
  39. package/dist/components/StartPanel/StartPanel.css +14 -0
  40. package/dist/components/StartPanel/StartPanel.js +2 -2
  41. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  42. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +0 -21
  43. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  44. package/dist/components/VenueWidget/VenueWidget.js +0 -1
  45. package/dist/components/VenueWidget/VenueWidget.js.map +1 -1
  46. package/dist/components/layouts/HiddenChat.js +0 -15
  47. package/dist/components/layouts/HiddenChat.js.map +1 -1
  48. package/dist/components/layouts/chat.css +2 -2
  49. package/dist/context/visemeContext.js +0 -6
  50. package/dist/context/visemeContext.js.map +1 -1
  51. package/dist/helpers/constants.d.ts +11 -0
  52. package/dist/helpers/constants.js +24 -2
  53. package/dist/helpers/constants.js.map +1 -1
  54. package/dist/helpers/tts/useTTS.js +0 -3
  55. package/dist/helpers/tts/useTTS.js.map +1 -1
  56. package/dist/helpers/utils.d.ts +1 -0
  57. package/dist/helpers/utils.js +6 -1
  58. package/dist/helpers/utils.js.map +1 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/locales/de.json +2 -0
  61. package/dist/locales/en.json +2 -0
  62. package/dist/locales/es.json +2 -0
  63. package/dist/locales/fr.json +2 -0
  64. package/dist/locales/it.json +2 -0
  65. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +0 -1
  66. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
  67. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +0 -10
  68. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  69. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js +0 -9
  70. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js.map +1 -1
  71. package/esm/components/Chat/Chat.css +31 -0
  72. package/esm/components/Chat/Chat.js +19 -5
  73. package/esm/components/Chat/Chat.js.map +1 -1
  74. package/esm/components/ChatBubble/ChatBubble.js +1 -2
  75. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  76. package/esm/components/ChatInputs/ChatInputs.css +23 -0
  77. package/esm/components/ChatInputs/ChatInputs.d.ts +1 -0
  78. package/esm/components/ChatInputs/ChatInputs.js +37 -21
  79. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  80. package/esm/components/ChatTextArea/ChatTextArea.css +31 -0
  81. package/esm/components/ChatTextArea/ChatTextArea.d.ts +1 -0
  82. package/esm/components/ChatTextArea/ChatTextArea.js +9 -2
  83. package/esm/components/ChatTextArea/ChatTextArea.js.map +1 -1
  84. package/esm/components/FilePreview/FilePreview.css +39 -0
  85. package/esm/components/Header/Header.js +3 -16
  86. package/esm/components/Header/Header.js.map +1 -1
  87. package/esm/components/MediaWidget/LinkItemWidget.js +1 -1
  88. package/esm/components/MediaWidget/LinkItemWidget.js.map +1 -1
  89. package/esm/components/MediaWidget/MediaItemWidget.js +5 -9
  90. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  91. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +65 -51
  92. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  93. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.d.ts +5 -0
  94. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js +282 -0
  95. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -0
  96. package/esm/components/MemoriWidget/MemoriWidget.d.ts +12 -0
  97. package/esm/components/MemoriWidget/MemoriWidget.js +12 -3
  98. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  99. package/esm/components/Snippet/Snippet.js +4 -3
  100. package/esm/components/Snippet/Snippet.js.map +1 -1
  101. package/esm/components/StartPanel/StartPanel.css +14 -0
  102. package/esm/components/StartPanel/StartPanel.js +3 -3
  103. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  104. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +0 -21
  105. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  106. package/esm/components/VenueWidget/VenueWidget.js +0 -1
  107. package/esm/components/VenueWidget/VenueWidget.js.map +1 -1
  108. package/esm/components/layouts/HiddenChat.js +0 -15
  109. package/esm/components/layouts/HiddenChat.js.map +1 -1
  110. package/esm/components/layouts/chat.css +2 -2
  111. package/esm/context/visemeContext.js +0 -6
  112. package/esm/context/visemeContext.js.map +1 -1
  113. package/esm/helpers/constants.d.ts +11 -0
  114. package/esm/helpers/constants.js +22 -1
  115. package/esm/helpers/constants.js.map +1 -1
  116. package/esm/helpers/tts/useTTS.js +0 -3
  117. package/esm/helpers/tts/useTTS.js.map +1 -1
  118. package/esm/helpers/utils.d.ts +1 -0
  119. package/esm/helpers/utils.js +4 -0
  120. package/esm/helpers/utils.js.map +1 -1
  121. package/esm/index.js.map +1 -1
  122. package/esm/locales/de.json +2 -0
  123. package/esm/locales/en.json +2 -0
  124. package/esm/locales/es.json +2 -0
  125. package/esm/locales/fr.json +2 -0
  126. package/esm/locales/it.json +2 -0
  127. package/package.json +1 -1
  128. package/src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx +0 -1
  129. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +0 -17
  130. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.ts +0 -20
  131. package/src/components/Chat/Chat.css +31 -0
  132. package/src/components/Chat/Chat.stories.tsx +503 -9
  133. package/src/components/Chat/Chat.tsx +23 -3
  134. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +73 -73
  135. package/src/components/ChatBubble/ChatBubble.tsx +1 -2
  136. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +25 -25
  137. package/src/components/ChatInputs/ChatInputs.css +23 -0
  138. package/src/components/ChatInputs/ChatInputs.tsx +36 -14
  139. package/src/components/ChatTextArea/ChatTextArea.css +31 -0
  140. package/src/components/ChatTextArea/ChatTextArea.tsx +11 -1
  141. package/src/components/FilePreview/FilePreview.css +39 -0
  142. package/src/components/Header/Header.tsx +0 -13
  143. package/src/components/MediaWidget/LinkItemWidget.tsx +1 -1
  144. package/src/components/MediaWidget/MediaItemWidget.stories.tsx +33 -0
  145. package/src/components/MediaWidget/MediaItemWidget.tsx +7 -10
  146. package/src/components/MediaWidget/__snapshots__/LinkItemWidget.test.tsx.snap +4 -4
  147. package/src/components/MediaWidget/__snapshots__/MediaItemWidget.test.tsx.snap +6 -6
  148. package/src/components/MediaWidget/__snapshots__/MediaWidget.test.tsx.snap +2 -2
  149. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +766 -2
  150. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +103 -89
  151. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.test.tsx +307 -0
  152. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx +373 -0
  153. package/src/components/MemoriWidget/MemoriWidget.tsx +26 -4
  154. package/src/components/Snippet/Snippet.tsx +3 -2
  155. package/src/components/StartPanel/StartPanel.css +14 -0
  156. package/src/components/StartPanel/StartPanel.tsx +23 -10
  157. package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +206 -84
  158. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +0 -23
  159. package/src/components/VenueWidget/VenueWidget.tsx +0 -1
  160. package/src/components/layouts/HiddenChat.tsx +0 -16
  161. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +204 -82
  162. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +408 -164
  163. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +204 -82
  164. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +204 -82
  165. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +204 -82
  166. package/src/components/layouts/chat.css +2 -2
  167. package/src/context/visemeContext.tsx +0 -7
  168. package/src/helpers/constants.ts +28 -3
  169. package/src/helpers/tts/useTTS.ts +0 -2
  170. package/src/helpers/utils.ts +5 -0
  171. package/src/index.tsx +0 -1
  172. package/src/locales/de.json +2 -0
  173. package/src/locales/en.json +2 -0
  174. package/src/locales/es.json +2 -0
  175. package/src/locales/fr.json +2 -0
  176. package/src/locales/it.json +2 -0
@@ -44,6 +44,8 @@
44
44
  "venue": "Luogo",
45
45
  "searchVenue": "Cerca luogo...",
46
46
  "privacyPolicy": "Informativa sulla privacy",
47
+ "popularLanguages": "Popolari",
48
+ "allLanguages": "Tutte le lingue",
47
49
  "memoriBlockedTitle": "Bloccato",
48
50
  "memoriBlockedUntil": "Agente bloccato fino al {{date}}",
49
51
  "memoriBlockedAnon": "Attualmente \"{{name}}\" non può rispondere, torna qui il {{date}}",
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "8.8.5",
2
+ "version": "8.9.0",
3
3
  "name": "@memori.ai/memori-react",
4
4
  "author": "Memori Srl",
5
5
  "main": "dist/index.js",
@@ -48,7 +48,6 @@ export const AvatarView = ({
48
48
  // Memoize the setAnimatorRef callback to ensure it doesn't change on re-renders
49
49
  const setAnimatorRef = useCallback((animator: AvatarAnimator | null) => {
50
50
  if (animator !== animatorRef.current) {
51
- console.log('[AvatarView] Animator reference updated');
52
51
  animatorRef.current = animator;
53
52
  }
54
53
  }, []); // Empty dependency array ensures this function never changes
@@ -109,7 +109,6 @@ export function FullbodyAvatar({
109
109
  // Keep existing RPM check
110
110
  if (object.name === 'Wolf3D_Avatar' || object.name === 'Wolf3D_Avatar006_1') {
111
111
  setIsRpm(true);
112
- console.log('RPM avatar detected');
113
112
  headMesh = object;
114
113
  return; // Stop here if RPM found
115
114
  }
@@ -141,13 +140,6 @@ export function FullbodyAvatar({
141
140
  });
142
141
 
143
142
  if (hasVisemes || hasFaceBlendShapes) {
144
- console.log('🎭 Custom avatar detected:', {
145
- name: object.name,
146
- morphTargets: morphTargetNames,
147
- visemeCount: morphTargetNames.filter(name =>
148
- name.toLowerCase().includes('viseme')).length
149
- });
150
-
151
143
  headMesh = object;
152
144
  }
153
145
  }
@@ -205,7 +197,6 @@ export function FullbodyAvatar({
205
197
  return;
206
198
  }
207
199
 
208
- console.log('Initializing animator');
209
200
 
210
201
  // Create the animator only once
211
202
  if (!animatorRef.current) {
@@ -218,7 +209,6 @@ export function FullbodyAvatar({
218
209
  try {
219
210
  // Prevent multiple initializations
220
211
  if (animator.isInitialized()) {
221
- console.log('Animator already initialized, skipping initialization');
222
212
  return;
223
213
  }
224
214
 
@@ -230,12 +220,6 @@ export function FullbodyAvatar({
230
220
  isRpm ? 'RPM' : 'CUSTOM_GLB'
231
221
  );
232
222
 
233
- console.log(
234
- 'AvatarAnimator initialized with',
235
- Object.keys(actions).length,
236
- 'animations'
237
- );
238
-
239
223
  // Expose animator to parent component if callback provided
240
224
  if (setAnimatorRef) {
241
225
  setAnimatorRef(animator);
@@ -257,7 +241,6 @@ export function FullbodyAvatar({
257
241
  return () => {
258
242
  // Only clean up if we created it in this component
259
243
  if (animatorRef.current && isInitializedRef.current) {
260
- console.log('Cleaning up animator');
261
244
 
262
245
  // Dispose mixer if needed
263
246
  if ('mixer' in animatorRef.current && animatorRef.current['mixer']) {
@@ -491,7 +491,6 @@ export class AvatarAnimator {
491
491
  //ex. <output class="memori-emotion">Anger</output>
492
492
  if (emotionMatch && emotionMatch[1]) {
493
493
  const emotion = emotionMatch[1].trim();
494
- console.log('[AvatarAnimator] Processing emotion:', emotion);
495
494
 
496
495
  let matchingAnimations: string[] = [];
497
496
  //If the name of the emotion is in english, we can use the emotion mapping to find the corresponding animation
@@ -500,49 +499,30 @@ export class AvatarAnimator {
500
499
  item => item.english === emotion
501
500
  )
502
501
  ) {
503
- console.log('[AvatarAnimator] Found emotion in English mapping');
504
502
  let matchingEmotions = MAPPING_EMOTIONS_ITALIAN_TO_ENGLISH.filter(
505
503
  item => item.english === emotion
506
504
  );
507
- console.log('[AvatarAnimator] Matching emotions:', matchingEmotions);
508
505
  matchingAnimations = this.getAllAnimationNames().filter(name =>
509
506
  matchingEmotions.some(emotion =>
510
507
  name.toLowerCase().startsWith(emotion.italian.toLowerCase())
511
508
  )
512
509
  );
513
510
  } else {
514
- console.log(
515
- '[AvatarAnimator] Using generalized emotion matching approach'
516
- );
517
511
  // More generalized approach - try to find any animation that starts with this emotion
518
512
  matchingAnimations = this.getAllAnimationNames().filter(name =>
519
513
  name.toLowerCase().startsWith(emotion.toLowerCase())
520
514
  );
521
515
  }
522
516
 
523
- console.log(
524
- '[AvatarAnimator] Found matching animations:',
525
- matchingAnimations
526
- );
527
-
528
517
  if (matchingAnimations.length > 0) {
529
518
  const randomIndex = Math.floor(
530
519
  Math.random() * matchingAnimations.length
531
520
  );
532
521
  const animationToPlay = matchingAnimations[randomIndex];
533
- console.log(
534
- '[AvatarAnimator] Selected animation to play:',
535
- animationToPlay
536
- );
537
522
 
538
523
  // Play with enhanced transition options
539
524
  this.play(animationToPlay, transitionOptions);
540
525
  return;
541
- } else {
542
- console.log(
543
- '[AvatarAnimator] No matching animations found for emotion:',
544
- emotion
545
- );
546
526
  }
547
527
  }
548
528
 
@@ -1,11 +1,29 @@
1
1
  .memori-chat--wrapper {
2
+ position: relative;
2
3
  display: flex;
3
4
  width: 100%;
4
5
  height: 100%;
5
6
  flex-direction: column;
6
7
  }
7
8
 
9
+ .memori-chat-wrapper--expanded {
10
+ /* Ensure proper spacing when textarea is expanded */
11
+ }
12
+
13
+ /* Handle the focused chat state on mobile */
14
+ .memori-chat--wrapper.chat-focused {
15
+ /* Mobile keyboard adjustment */
16
+ }
17
+
18
+ @media (max-width: 768px) {
19
+ .memori-chat--wrapper.chat-focused {
20
+ padding-bottom: 0;
21
+ }
22
+ }
23
+
8
24
  .memori-chat--history {
25
+ position: relative;
26
+ overflow: hidden;
9
27
  width: 100%;
10
28
  height: calc(100% - 50px);
11
29
  flex: 1;
@@ -22,6 +40,11 @@
22
40
  padding: 0;
23
41
  }
24
42
 
43
+ /* Adjust chat history when textarea is expanded */
44
+ .memori-chat-wrapper--expanded .memori-chat--history {
45
+ margin-bottom: 0.5rem;
46
+ }
47
+
25
48
  .memori-chat--content {
26
49
  position: relative;
27
50
  display: flex;
@@ -31,12 +54,20 @@
31
54
  padding: 2rem 10px;
32
55
  mask-image: linear-gradient(transparent, black 5%, black 95%, transparent 100%);
33
56
  overflow-y: auto;
57
+ scroll-behavior: smooth;
34
58
  }
35
59
 
36
60
  .memori-chat--content.memori-chat--content-touch {
37
61
  padding: 0;
38
62
  }
39
63
 
64
+ /* Ensure smooth scrolling on mobile */
65
+ @media (max-width: 768px) {
66
+ .memori-chat--content {
67
+ padding: 1rem 5px;
68
+ }
69
+ }
70
+
40
71
  .memori-chat--cover {
41
72
  position: relative;
42
73
  width: 100%;