@memori.ai/memori-react 8.8.4 → 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 (188) hide show
  1. package/CHANGELOG.md +47 -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.d.ts +0 -4
  8. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js +0 -85
  9. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js.map +1 -1
  10. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js +1 -2
  11. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js.map +1 -1
  12. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js +2 -1
  13. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -1
  14. package/dist/components/Chat/Chat.css +31 -0
  15. package/dist/components/Chat/Chat.js +18 -4
  16. package/dist/components/Chat/Chat.js.map +1 -1
  17. package/dist/components/ChatBubble/ChatBubble.js +1 -2
  18. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  19. package/dist/components/ChatInputs/ChatInputs.css +23 -0
  20. package/dist/components/ChatInputs/ChatInputs.d.ts +1 -0
  21. package/dist/components/ChatInputs/ChatInputs.js +37 -21
  22. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  23. package/dist/components/ChatTextArea/ChatTextArea.css +31 -0
  24. package/dist/components/ChatTextArea/ChatTextArea.d.ts +1 -0
  25. package/dist/components/ChatTextArea/ChatTextArea.js +9 -2
  26. package/dist/components/ChatTextArea/ChatTextArea.js.map +1 -1
  27. package/dist/components/FilePreview/FilePreview.css +39 -0
  28. package/dist/components/Header/Header.js +3 -16
  29. package/dist/components/Header/Header.js.map +1 -1
  30. package/dist/components/MediaWidget/LinkItemWidget.js +1 -1
  31. package/dist/components/MediaWidget/LinkItemWidget.js.map +1 -1
  32. package/dist/components/MediaWidget/MediaItemWidget.js +5 -9
  33. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  34. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +65 -51
  35. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  36. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.d.ts +5 -0
  37. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js +287 -0
  38. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -0
  39. package/dist/components/MemoriWidget/MemoriWidget.d.ts +12 -0
  40. package/dist/components/MemoriWidget/MemoriWidget.js +31 -22
  41. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  42. package/dist/components/Snippet/Snippet.js +4 -3
  43. package/dist/components/Snippet/Snippet.js.map +1 -1
  44. package/dist/components/StartPanel/StartPanel.css +14 -0
  45. package/dist/components/StartPanel/StartPanel.js +2 -2
  46. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  47. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +0 -21
  48. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  49. package/dist/components/VenueWidget/VenueWidget.js +0 -1
  50. package/dist/components/VenueWidget/VenueWidget.js.map +1 -1
  51. package/dist/components/layouts/HiddenChat.js +0 -15
  52. package/dist/components/layouts/HiddenChat.js.map +1 -1
  53. package/dist/components/layouts/chat.css +2 -2
  54. package/dist/context/visemeContext.js +0 -6
  55. package/dist/context/visemeContext.js.map +1 -1
  56. package/dist/helpers/constants.d.ts +11 -0
  57. package/dist/helpers/constants.js +24 -2
  58. package/dist/helpers/constants.js.map +1 -1
  59. package/dist/helpers/tts/useTTS.js +0 -4
  60. package/dist/helpers/tts/useTTS.js.map +1 -1
  61. package/dist/helpers/utils.d.ts +1 -0
  62. package/dist/helpers/utils.js +6 -1
  63. package/dist/helpers/utils.js.map +1 -1
  64. package/dist/index.js.map +1 -1
  65. package/dist/locales/de.json +2 -0
  66. package/dist/locales/en.json +2 -0
  67. package/dist/locales/es.json +2 -0
  68. package/dist/locales/fr.json +2 -0
  69. package/dist/locales/it.json +2 -0
  70. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +0 -1
  71. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
  72. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +0 -10
  73. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  74. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.d.ts +0 -4
  75. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js +0 -85
  76. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js.map +1 -1
  77. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js +1 -2
  78. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js.map +1 -1
  79. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js +2 -1
  80. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -1
  81. package/esm/components/Chat/Chat.css +31 -0
  82. package/esm/components/Chat/Chat.js +19 -5
  83. package/esm/components/Chat/Chat.js.map +1 -1
  84. package/esm/components/ChatBubble/ChatBubble.js +1 -2
  85. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  86. package/esm/components/ChatInputs/ChatInputs.css +23 -0
  87. package/esm/components/ChatInputs/ChatInputs.d.ts +1 -0
  88. package/esm/components/ChatInputs/ChatInputs.js +37 -21
  89. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  90. package/esm/components/ChatTextArea/ChatTextArea.css +31 -0
  91. package/esm/components/ChatTextArea/ChatTextArea.d.ts +1 -0
  92. package/esm/components/ChatTextArea/ChatTextArea.js +9 -2
  93. package/esm/components/ChatTextArea/ChatTextArea.js.map +1 -1
  94. package/esm/components/FilePreview/FilePreview.css +39 -0
  95. package/esm/components/Header/Header.js +3 -16
  96. package/esm/components/Header/Header.js.map +1 -1
  97. package/esm/components/MediaWidget/LinkItemWidget.js +1 -1
  98. package/esm/components/MediaWidget/LinkItemWidget.js.map +1 -1
  99. package/esm/components/MediaWidget/MediaItemWidget.js +5 -9
  100. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  101. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +65 -51
  102. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  103. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.d.ts +5 -0
  104. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js +282 -0
  105. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -0
  106. package/esm/components/MemoriWidget/MemoriWidget.d.ts +12 -0
  107. package/esm/components/MemoriWidget/MemoriWidget.js +31 -22
  108. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  109. package/esm/components/Snippet/Snippet.js +4 -3
  110. package/esm/components/Snippet/Snippet.js.map +1 -1
  111. package/esm/components/StartPanel/StartPanel.css +14 -0
  112. package/esm/components/StartPanel/StartPanel.js +3 -3
  113. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  114. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +0 -21
  115. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  116. package/esm/components/VenueWidget/VenueWidget.js +0 -1
  117. package/esm/components/VenueWidget/VenueWidget.js.map +1 -1
  118. package/esm/components/layouts/HiddenChat.js +0 -15
  119. package/esm/components/layouts/HiddenChat.js.map +1 -1
  120. package/esm/components/layouts/chat.css +2 -2
  121. package/esm/context/visemeContext.js +0 -6
  122. package/esm/context/visemeContext.js.map +1 -1
  123. package/esm/helpers/constants.d.ts +11 -0
  124. package/esm/helpers/constants.js +22 -1
  125. package/esm/helpers/constants.js.map +1 -1
  126. package/esm/helpers/tts/useTTS.js +0 -4
  127. package/esm/helpers/tts/useTTS.js.map +1 -1
  128. package/esm/helpers/utils.d.ts +1 -0
  129. package/esm/helpers/utils.js +4 -0
  130. package/esm/helpers/utils.js.map +1 -1
  131. package/esm/index.js.map +1 -1
  132. package/esm/locales/de.json +2 -0
  133. package/esm/locales/en.json +2 -0
  134. package/esm/locales/es.json +2 -0
  135. package/esm/locales/fr.json +2 -0
  136. package/esm/locales/it.json +2 -0
  137. package/package.json +1 -1
  138. package/src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx +0 -1
  139. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +0 -17
  140. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.ts +0 -159
  141. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.ts +1 -2
  142. package/src/components/Avatar/AvatarView/AvatarComponent/constants.ts +2 -1
  143. package/src/components/Chat/Chat.css +31 -0
  144. package/src/components/Chat/Chat.stories.tsx +503 -9
  145. package/src/components/Chat/Chat.tsx +23 -3
  146. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +73 -73
  147. package/src/components/ChatBubble/ChatBubble.tsx +1 -2
  148. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +25 -25
  149. package/src/components/ChatInputs/ChatInputs.css +23 -0
  150. package/src/components/ChatInputs/ChatInputs.tsx +36 -14
  151. package/src/components/ChatTextArea/ChatTextArea.css +31 -0
  152. package/src/components/ChatTextArea/ChatTextArea.tsx +11 -1
  153. package/src/components/FilePreview/FilePreview.css +39 -0
  154. package/src/components/Header/Header.tsx +0 -13
  155. package/src/components/MediaWidget/LinkItemWidget.tsx +1 -1
  156. package/src/components/MediaWidget/MediaItemWidget.stories.tsx +33 -0
  157. package/src/components/MediaWidget/MediaItemWidget.tsx +7 -10
  158. package/src/components/MediaWidget/__snapshots__/LinkItemWidget.test.tsx.snap +4 -4
  159. package/src/components/MediaWidget/__snapshots__/MediaItemWidget.test.tsx.snap +6 -6
  160. package/src/components/MediaWidget/__snapshots__/MediaWidget.test.tsx.snap +2 -2
  161. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +766 -2
  162. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +103 -89
  163. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.test.tsx +307 -0
  164. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx +373 -0
  165. package/src/components/MemoriWidget/MemoriWidget.tsx +35 -9
  166. package/src/components/Snippet/Snippet.tsx +3 -2
  167. package/src/components/StartPanel/StartPanel.css +14 -0
  168. package/src/components/StartPanel/StartPanel.tsx +23 -10
  169. package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +206 -84
  170. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +0 -23
  171. package/src/components/VenueWidget/VenueWidget.tsx +0 -1
  172. package/src/components/layouts/HiddenChat.tsx +0 -16
  173. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +204 -82
  174. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +408 -164
  175. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +204 -82
  176. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +204 -82
  177. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +204 -82
  178. package/src/components/layouts/chat.css +2 -2
  179. package/src/context/visemeContext.tsx +0 -7
  180. package/src/helpers/constants.ts +28 -3
  181. package/src/helpers/tts/useTTS.ts +10 -4
  182. package/src/helpers/utils.ts +5 -0
  183. package/src/index.tsx +0 -1
  184. package/src/locales/de.json +2 -0
  185. package/src/locales/en.json +2 -0
  186. package/src/locales/es.json +2 -0
  187. package/src/locales/fr.json +2 -0
  188. package/src/locales/it.json +2 -0
@@ -273,90 +273,212 @@ exports[`renders ZOOMED_FULL_BODY layout unchanged 1`] = `
273
273
  class="memori-select--button"
274
274
  id="user-lang-pref"
275
275
  >
276
- <option
277
- aria-label="Italiano"
278
- value="IT"
276
+ <optgroup
277
+ label="Popolari"
279
278
  >
280
- Italiano
281
- </option>
282
- <option
283
- aria-label="English"
284
- value="EN"
285
- >
286
- English
287
- </option>
288
- <option
289
- aria-label="Deutsch"
290
- value="DE"
291
- >
292
- Deutsch
293
- </option>
294
- <option
295
- aria-label="Español"
296
- value="ES"
297
- >
298
- Español
299
- </option>
300
- <option
301
- aria-label="Français"
302
- value="FR"
303
- >
304
- Français
305
- </option>
306
- <option
307
- aria-label="Português"
308
- value="PT"
309
- >
310
- Português
311
- </option>
312
- <option
313
- aria-label="Українська"
314
- value="UK"
315
- >
316
- Українська
317
- </option>
318
- <option
319
- aria-label="Русский"
320
- value="RU"
321
- >
322
- Русский
323
- </option>
324
- <option
325
- aria-label="Polski"
326
- value="PL"
327
- >
328
- Polski
329
- </option>
330
- <option
331
- aria-label="Suomi"
332
- value="FI"
333
- >
334
- Suomi
335
- </option>
336
- <option
337
- aria-label="Ελληνικά"
338
- value="EL"
339
- >
340
- Ελληνικά
341
- </option>
342
- <option
343
- aria-label="العربية"
344
- value="AR"
345
- >
346
- العربية
347
- </option>
348
- <option
349
- aria-label="中文"
350
- value="ZH"
351
- >
352
- 中文
353
- </option>
354
- <option
355
- aria-label="日本語"
356
- value="JA"
279
+ <option
280
+ aria-label="Italiano"
281
+ value="IT"
282
+ >
283
+ Italiano
284
+ </option>
285
+ <option
286
+ aria-label="English"
287
+ value="EN"
288
+ >
289
+ English
290
+ </option>
291
+ <option
292
+ aria-label="Deutsch"
293
+ value="DE"
294
+ >
295
+ Deutsch
296
+ </option>
297
+ <option
298
+ aria-label="Español"
299
+ value="ES"
300
+ >
301
+ Español
302
+ </option>
303
+ <option
304
+ aria-label="Français"
305
+ value="FR"
306
+ >
307
+ Français
308
+ </option>
309
+ <option
310
+ aria-label="Português"
311
+ value="PT"
312
+ >
313
+ Português
314
+ </option>
315
+ </optgroup>
316
+ <optgroup
317
+ label="Tutte le lingue"
357
318
  >
358
- 日本語
359
- </option>
319
+ <option
320
+ aria-label="Italiano"
321
+ value="IT"
322
+ >
323
+ Italiano
324
+ </option>
325
+ <option
326
+ aria-label="English"
327
+ value="EN"
328
+ >
329
+ English
330
+ </option>
331
+ <option
332
+ aria-label="Deutsch"
333
+ value="DE"
334
+ >
335
+ Deutsch
336
+ </option>
337
+ <option
338
+ aria-label="Español"
339
+ value="ES"
340
+ >
341
+ Español
342
+ </option>
343
+ <option
344
+ aria-label="Français"
345
+ value="FR"
346
+ >
347
+ Français
348
+ </option>
349
+ <option
350
+ aria-label="Português"
351
+ value="PT"
352
+ >
353
+ Português
354
+ </option>
355
+ <option
356
+ aria-label="Nederlands"
357
+ value="NL"
358
+ >
359
+ Nederlands
360
+ </option>
361
+ <option
362
+ aria-label="Svenska"
363
+ value="SV"
364
+ >
365
+ Svenska
366
+ </option>
367
+ <option
368
+ aria-label="Dansk"
369
+ value="DA"
370
+ >
371
+ Dansk
372
+ </option>
373
+ <option
374
+ aria-label="Suomi"
375
+ value="FI"
376
+ >
377
+ Suomi
378
+ </option>
379
+ <option
380
+ aria-label="Eesti keel"
381
+ value="ET"
382
+ >
383
+ Eesti keel
384
+ </option>
385
+ <option
386
+ aria-label="Lietuvių kalba"
387
+ value="LT"
388
+ >
389
+ Lietuvių kalba
390
+ </option>
391
+ <option
392
+ aria-label="Magyar"
393
+ value="HU"
394
+ >
395
+ Magyar
396
+ </option>
397
+ <option
398
+ aria-label="Română"
399
+ value="RO"
400
+ >
401
+ Română
402
+ </option>
403
+ <option
404
+ aria-label="български"
405
+ value="BG"
406
+ >
407
+ български
408
+ </option>
409
+ <option
410
+ aria-label="Hrvatski"
411
+ value="HR"
412
+ >
413
+ Hrvatski
414
+ </option>
415
+ <option
416
+ aria-label="Čeština / český jazyk"
417
+ value="CS"
418
+ >
419
+ Čeština / český jazyk
420
+ </option>
421
+ <option
422
+ aria-label="Slovenčina"
423
+ value="SK"
424
+ >
425
+ Slovenčina
426
+ </option>
427
+ <option
428
+ aria-label="Slovenščina"
429
+ value="SL"
430
+ >
431
+ Slovenščina
432
+ </option>
433
+ <option
434
+ aria-label="Latvian"
435
+ value="LV"
436
+ >
437
+ Latvian
438
+ </option>
439
+ <option
440
+ aria-label="Українська"
441
+ value="UK"
442
+ >
443
+ Українська
444
+ </option>
445
+ <option
446
+ aria-label="Русский"
447
+ value="RU"
448
+ >
449
+ Русский
450
+ </option>
451
+ <option
452
+ aria-label="Polski"
453
+ value="PL"
454
+ >
455
+ Polski
456
+ </option>
457
+ <option
458
+ aria-label="Ελληνικά"
459
+ value="EL"
460
+ >
461
+ Ελληνικά
462
+ </option>
463
+ <option
464
+ aria-label="العربية"
465
+ value="AR"
466
+ >
467
+ العربية
468
+ </option>
469
+ <option
470
+ aria-label="中文"
471
+ value="ZH"
472
+ >
473
+ 中文
474
+ </option>
475
+ <option
476
+ aria-label="日本語"
477
+ value="JA"
478
+ >
479
+ 日本語
480
+ </option>
481
+ </optgroup>
360
482
  </select>
361
483
  </div>
362
484
  <div
@@ -64,8 +64,8 @@
64
64
  z-index: 5;
65
65
  overflow: hidden;
66
66
  min-width: 0;
67
- height: calc(100% - 50px);
68
- max-height: calc(100% - 50px);
67
+ height: 100%;
68
+ max-height: 100%;
69
69
  flex: 1;
70
70
  padding-bottom: 3rem;
71
71
  transition: all 0.05s ease-in-out;
@@ -195,10 +195,6 @@ export const VisemeProvider: React.FC<{ children: React.ReactNode }> = ({
195
195
  setIsProcessing(true);
196
196
  setVisemeState('active');
197
197
 
198
- console.log('[VisemeContext] Started processing visemes', {
199
- audioTime: audioCtx.currentTime,
200
- queueLength: visemeQueueRef.current.length,
201
- });
202
198
  },
203
199
  []
204
200
  );
@@ -247,7 +243,6 @@ export const VisemeProvider: React.FC<{ children: React.ReactNode }> = ({
247
243
 
248
244
  // Make resetVisemeQueue more robust
249
245
  const resetVisemeQueue = useCallback(() => {
250
- console.log('[VisemeContext] Resetting viseme queue');
251
246
 
252
247
  // Clear all queued visemes
253
248
  visemeQueueRef.current = [];
@@ -264,8 +259,6 @@ export const VisemeProvider: React.FC<{ children: React.ReactNode }> = ({
264
259
 
265
260
  // Make stopProcessing more robust
266
261
  const stopProcessing = useCallback(() => {
267
- console.log('[VisemeContext] Stopping viseme processing');
268
-
269
262
  // Update processing state first
270
263
  setIsProcessing(false);
271
264
  setVisemeState('finished');
@@ -5,16 +5,41 @@ export const chatLanguages = [
5
5
  { value: 'ES', label: 'Español' },
6
6
  { value: 'FR', label: 'Français' },
7
7
  { value: 'PT', label: 'Português' },
8
- { value: 'UK', label: 'Українська' },
9
- { value: 'RU', label: 'Русский' },
8
+ { value: 'NL', label: 'Nederlands' }, // Dutch
9
+ { value: 'SV', label: 'Svenska' }, // Swedish
10
+ { value: 'DA', label: 'Dansk' }, // Danish
11
+ { value: 'FI', label: 'Suomi' }, // Finnish
12
+ { value: 'ET', label: 'Eesti keel' }, // Estonian
13
+ { value: 'LT', label: 'Lietuvių kalba' }, // Lithuanian
14
+ { value: 'HU', label: 'Magyar' }, // Hungarian
15
+ { value: 'RO', label: 'Română' }, // Romanian
16
+ { value: 'BG', label: 'български' }, // Bulgarian
17
+ { value: 'HR', label: 'Hrvatski' }, // Croatian
18
+ { value: 'CS', label: 'Čeština / český jazyk' }, // Czech
19
+ { value: 'SK', label: 'Slovenčina' }, // Slovak
20
+ { value: 'SL', label: 'Slovenščina' }, // Slovenian
21
+ { value: 'LV', label: 'Latvian' }, // Lettonian
22
+ { value: 'UK', label: 'Українська' }, // Ukrainian
23
+ { value: 'RU', label: 'Русский' }, // Russian
10
24
  { value: 'PL', label: 'Polski' },
11
- { value: 'FI', label: 'Suomi' },
12
25
  { value: 'EL', label: 'Ελληνικά' },
13
26
  { value: 'AR', label: 'العربية' },
14
27
  { value: 'ZH', label: '中文' },
15
28
  { value: 'JA', label: '日本語' },
16
29
  ];
17
30
 
31
+ export const popularLanguageCodes = ['IT', 'EN', 'FR', 'DE', 'ES', 'PT'];
32
+
33
+ export const getGroupedChatLanguages = () => {
34
+ const popular = chatLanguages.filter(lang =>
35
+ popularLanguageCodes.includes(lang.value)
36
+ );
37
+ return {
38
+ popular,
39
+ all: chatLanguages,
40
+ };
41
+ };
42
+
18
43
  export const uiLanguages = ['en', 'it', 'fr', 'es', 'de'];
19
44
 
20
45
  export const allowedMediaTypes = [
@@ -544,6 +544,7 @@ export function useTTS(
544
544
  const toggleMute = useCallback(
545
545
  (mute?: boolean) => {
546
546
  const newMuteState = mute !== undefined ? mute : !speakerMuted;
547
+
547
548
  setSpeakerMuted(newMuteState);
548
549
 
549
550
  // Update local config for persistence
@@ -555,10 +556,15 @@ export function useTTS(
555
556
 
556
557
  // Always clean up viseme state when toggling mute
557
558
  // This ensures fresh start when unmuting
558
- if (newMuteState) {
559
- resetVisemeQueue();
560
- stopProcessing();
561
- }
559
+ // if (newMuteState) {
560
+ // console.log('[useTTS] Muting - resetting viseme queue and stopping processing');
561
+ // resetVisemeQueue();
562
+ // stopProcessing();
563
+ // } else {
564
+ // console.log('[useTTS] Unmuting - visemes will restart on next speak call');
565
+ // // When unmuting, ensure viseme processing can restart properly
566
+ // // The visemes will be loaded fresh on the next speak call
567
+ // }
562
568
  },
563
569
  [speakerMuted, isPlaying, stop, resetVisemeQueue, stopProcessing]
564
570
  );
@@ -209,6 +209,11 @@ export const stripMarkdown = (text: string) => {
209
209
  return text;
210
210
  };
211
211
 
212
+ export const stripDocumentAttachmentTags = (text: string): string => {
213
+ const documentAttachmentTagRegex = /<document_attachment filename="([^"]+)" type="([^"]+)">([\s\S]*?)<\/document_attachment>/g;
214
+ return text.replace(documentAttachmentTagRegex, '$3');
215
+ };
216
+
212
217
  export const stripOutputTags = (text: string): string => {
213
218
  const outputTagRegex = /<output.*?<\/output>/gs;
214
219
 
package/src/index.tsx CHANGED
@@ -516,5 +516,4 @@ Memori.propTypes = {
516
516
  autoStart: PropTypes.bool,
517
517
  applyVarsToRoot: PropTypes.bool,
518
518
  };
519
-
520
519
  export default Memori;
@@ -45,6 +45,8 @@
45
45
  "venue": "Veranstaltungsort",
46
46
  "searchVenue": "Veranstaltungsort suchen...",
47
47
  "privacyPolicy": "Datenschutzbestimmungen",
48
+ "popularLanguages": "Beliebt",
49
+ "allLanguages": "Alle Sprachen",
48
50
  "memoriBlockedTitle": "Blockiert",
49
51
  "memoriBlockedUntil": "Agent blockiert bis {{date}}",
50
52
  "memoriBlockedAnon": "Momentan \"{{name}}„Kann nicht antworten, komm hierher zurück {{date}}",
@@ -44,6 +44,8 @@
44
44
  "venue": "Venue",
45
45
  "searchVenue": "Search venue...",
46
46
  "privacyPolicy": "Privacy policy",
47
+ "popularLanguages": "Popular",
48
+ "allLanguages": "All Languages",
47
49
  "memoriBlockedTitle": "Blocked",
48
50
  "memoriBlockedUntil": "Agent blocked until {{date}}",
49
51
  "memoriBlockedAnon": "Currently \"{{name}}\" can't answer, come back here on {{date}}",
@@ -45,6 +45,8 @@
45
45
  "venue": "Evento",
46
46
  "searchVenue": "Buscar lugar...",
47
47
  "privacyPolicy": "Política de privacidad",
48
+ "popularLanguages": "Populares",
49
+ "allLanguages": "Todos los idiomas",
48
50
  "memoriBlockedTitle": "Obstruido",
49
51
  "memoriBlockedUntil": "Agent bloqueado hasta {{date}}",
50
52
  "memoriBlockedAnon": "Actualmente \"{{name}}\"No puedo responder, vuelve aquí. {{date}}",
@@ -44,6 +44,8 @@
44
44
  "nothingFound": "Rien trouvé",
45
45
  "venue": "Lieu",
46
46
  "searchVenue": "Rechercher un lieu...",
47
+ "popularLanguages": "Populaires",
48
+ "allLanguages": "Toutes les langues",
47
49
  "memoriBlockedTitle": "Bloqué",
48
50
  "memoriBlockedUntil": "Agent bloqué jusqu'à {{date}}",
49
51
  "memoriBlockedAnon": "Actuellement \"{{name}}\"Je ne peux pas répondre, reviens ici {{date}}",
@@ -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}}",