@memori.ai/memori-react 8.10.1 → 8.12.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 (177) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/dist/components/AgeVerificationModal/AgeVerificationModal.css +41 -14
  3. package/dist/components/AgeVerificationModal/AgeVerificationModal.js +2 -2
  4. package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  5. package/dist/components/Auth/Auth.js +36 -8
  6. package/dist/components/Auth/Auth.js.map +1 -1
  7. package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +2 -2
  8. package/dist/components/Chat/Chat.js +2 -2
  9. package/dist/components/Chat/Chat.js.map +1 -1
  10. package/dist/components/ChatBubble/ChatBubble.css +81 -13
  11. package/dist/components/ChatBubble/ChatBubble.js +86 -19
  12. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  13. package/dist/components/ChatHistoryDrawer/ChatHistory.css +5 -1
  14. package/dist/components/ChatInputs/ChatInputs.d.ts +1 -0
  15. package/dist/components/ChatInputs/ChatInputs.js +8 -3
  16. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  17. package/dist/components/DateSelector/DateSelector.css +125 -104
  18. package/dist/components/DateSelector/DateSelector.d.ts +1 -1
  19. package/dist/components/DateSelector/DateSelector.js +110 -52
  20. package/dist/components/DateSelector/DateSelector.js.map +1 -1
  21. package/dist/components/Header/Header.js +1 -1
  22. package/dist/components/Header/Header.js.map +1 -1
  23. package/dist/components/LoginDrawer/LoginDrawer.css +37 -5
  24. package/dist/components/LoginDrawer/LoginDrawer.d.ts +1 -2
  25. package/dist/components/LoginDrawer/LoginDrawer.js +2 -9
  26. package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
  27. package/dist/components/MediaWidget/MediaItemWidget.js +40 -5
  28. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  29. package/dist/components/MediaWidget/MediaWidget.css +4 -0
  30. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  31. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  32. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +1 -1
  33. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  34. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -0
  35. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
  36. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +2 -2
  37. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  38. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +16 -7
  39. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +6 -4
  40. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  41. package/dist/components/MemoriWidget/MemoriWidget.js +69 -25
  42. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  43. package/dist/components/UploadButton/UploadButton.js +2 -0
  44. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  45. package/dist/components/UploadButton/UploadImages/UploadImages.js +2 -2
  46. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  47. package/dist/components/ui/Drawer.css +8 -0
  48. package/dist/components/ui/Drawer.d.ts +2 -0
  49. package/dist/components/ui/Drawer.js +2 -2
  50. package/dist/components/ui/Drawer.js.map +1 -1
  51. package/dist/components/ui/Tooltip.css +49 -1
  52. package/dist/components/ui/Tooltip.d.ts +1 -1
  53. package/dist/locales/de.json +6 -1
  54. package/dist/locales/en.json +9 -1
  55. package/dist/locales/es.json +6 -1
  56. package/dist/locales/fr.json +5 -1
  57. package/dist/locales/it.json +8 -1
  58. package/dist/styles.css +3 -2
  59. package/esm/components/AgeVerificationModal/AgeVerificationModal.css +41 -14
  60. package/esm/components/AgeVerificationModal/AgeVerificationModal.js +2 -2
  61. package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  62. package/esm/components/Auth/Auth.js +36 -8
  63. package/esm/components/Auth/Auth.js.map +1 -1
  64. package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +2 -2
  65. package/esm/components/Chat/Chat.js +2 -2
  66. package/esm/components/Chat/Chat.js.map +1 -1
  67. package/esm/components/ChatBubble/ChatBubble.css +81 -13
  68. package/esm/components/ChatBubble/ChatBubble.js +87 -20
  69. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  70. package/esm/components/ChatHistoryDrawer/ChatHistory.css +5 -1
  71. package/esm/components/ChatInputs/ChatInputs.d.ts +1 -0
  72. package/esm/components/ChatInputs/ChatInputs.js +8 -3
  73. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  74. package/esm/components/DateSelector/DateSelector.css +125 -104
  75. package/esm/components/DateSelector/DateSelector.d.ts +1 -1
  76. package/esm/components/DateSelector/DateSelector.js +111 -52
  77. package/esm/components/DateSelector/DateSelector.js.map +1 -1
  78. package/esm/components/Header/Header.js +1 -1
  79. package/esm/components/Header/Header.js.map +1 -1
  80. package/esm/components/LoginDrawer/LoginDrawer.css +37 -5
  81. package/esm/components/LoginDrawer/LoginDrawer.d.ts +1 -2
  82. package/esm/components/LoginDrawer/LoginDrawer.js +2 -9
  83. package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
  84. package/esm/components/MediaWidget/MediaItemWidget.js +40 -5
  85. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  86. package/esm/components/MediaWidget/MediaWidget.css +4 -0
  87. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  88. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  89. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +1 -1
  90. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  91. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -0
  92. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
  93. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +2 -2
  94. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  95. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +16 -7
  96. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +6 -4
  97. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  98. package/esm/components/MemoriWidget/MemoriWidget.js +69 -25
  99. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  100. package/esm/components/UploadButton/UploadButton.js +2 -0
  101. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  102. package/esm/components/UploadButton/UploadImages/UploadImages.js +2 -2
  103. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  104. package/esm/components/ui/Drawer.css +8 -0
  105. package/esm/components/ui/Drawer.d.ts +2 -0
  106. package/esm/components/ui/Drawer.js +2 -2
  107. package/esm/components/ui/Drawer.js.map +1 -1
  108. package/esm/components/ui/Tooltip.css +49 -1
  109. package/esm/components/ui/Tooltip.d.ts +1 -1
  110. package/esm/locales/de.json +6 -1
  111. package/esm/locales/en.json +9 -1
  112. package/esm/locales/es.json +6 -1
  113. package/esm/locales/fr.json +5 -1
  114. package/esm/locales/it.json +8 -1
  115. package/esm/styles.css +3 -2
  116. package/package.json +2 -2
  117. package/src/components/AgeVerificationModal/AgeVerificationModal.css +41 -14
  118. package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +3 -1
  119. package/src/components/Auth/Auth.tsx +55 -11
  120. package/src/components/Avatar/Avatar.stories.tsx +3 -0
  121. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +2 -2
  122. package/src/components/Chat/Chat.stories.tsx +16 -2
  123. package/src/components/Chat/Chat.tsx +2 -1
  124. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +1036 -36
  125. package/src/components/ChatBubble/ChatBubble.css +81 -13
  126. package/src/components/ChatBubble/ChatBubble.stories.tsx +16 -2
  127. package/src/components/ChatBubble/ChatBubble.test.tsx +17 -0
  128. package/src/components/ChatBubble/ChatBubble.tsx +144 -31
  129. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +304 -8
  130. package/src/components/ChatHistoryDrawer/ChatHistory.css +5 -1
  131. package/src/components/ChatInputs/ChatInputs.tsx +14 -1
  132. package/src/components/DateSelector/DateSelector.css +125 -104
  133. package/src/components/DateSelector/DateSelector.stories.tsx +1 -1
  134. package/src/components/DateSelector/DateSelector.test.tsx +137 -23
  135. package/src/components/DateSelector/DateSelector.tsx +203 -177
  136. package/src/components/Header/Header.stories.tsx +5 -1
  137. package/src/components/Header/Header.tsx +1 -1
  138. package/src/components/Header/__snapshots__/Header.test.tsx.snap +1 -1
  139. package/src/components/LoginDrawer/LoginDrawer.css +37 -5
  140. package/src/components/LoginDrawer/LoginDrawer.stories.tsx +0 -1
  141. package/src/components/LoginDrawer/LoginDrawer.test.tsx +0 -1
  142. package/src/components/LoginDrawer/LoginDrawer.tsx +0 -19
  143. package/src/components/MediaWidget/MediaItemWidget.stories.tsx +69 -0
  144. package/src/components/MediaWidget/MediaItemWidget.tsx +66 -18
  145. package/src/components/MediaWidget/MediaWidget.css +4 -0
  146. package/src/components/MediaWidget/__snapshots__/MediaItemWidget.test.tsx.snap +10 -10
  147. package/src/components/MediaWidget/__snapshots__/MediaWidget.test.tsx.snap +2 -2
  148. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +996 -204
  149. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +2 -2
  150. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +1 -1
  151. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +3 -0
  152. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +56 -54
  153. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +16 -7
  154. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +12 -3
  155. package/src/components/MemoriWidget/MemoriWidget.stories.tsx +6 -3
  156. package/src/components/MemoriWidget/MemoriWidget.tsx +123 -48
  157. package/src/components/UploadButton/UploadButton.tsx +2 -0
  158. package/src/components/UploadButton/UploadImages/UploadImages.tsx +3 -2
  159. package/src/components/layouts/FullBody/FullBody.stories.tsx +110 -0
  160. package/src/components/layouts/Totem/Totem.stories.tsx +131 -0
  161. package/src/components/layouts/ZoomedFullBody/ZoomedFullBody.stories.tsx +131 -0
  162. package/src/components/layouts/layouts.stories.tsx +55 -508
  163. package/src/components/ui/Drawer.css +8 -0
  164. package/src/components/ui/Drawer.tsx +16 -12
  165. package/src/components/ui/Tooltip.css +49 -1
  166. package/src/components/ui/Tooltip.tsx +1 -1
  167. package/src/index.stories.tsx +13 -320
  168. package/src/locales/de.json +6 -1
  169. package/src/locales/en.json +9 -1
  170. package/src/locales/es.json +6 -1
  171. package/src/locales/fr.json +5 -1
  172. package/src/locales/it.json +8 -1
  173. package/src/mocks/data.ts +4 -2
  174. package/src/styles.css +3 -2
  175. package/src/components/SignupForm/SignupForm.test.tsx +0 -40
  176. package/src/components/SignupForm/SignupForm.tsx +0 -457
  177. package/src/components/SignupForm/__snapshots__/SignupForm.test.tsx.snap +0 -247
@@ -6,7 +6,7 @@ exports[`renders ChatBubble from user with avatar as react element unchanged 1`]
6
6
  class="memori-chat--bubble-container memori-chat-scroll-item memori-chat--bubble-from-user"
7
7
  >
8
8
  <div
9
- class="memori-chat--bubble memori-chat--user-bubble transition ease-in-out duration-300 opacity-0 scale-09 translate-x-30"
9
+ class="memori-chat--bubble memori-chat--user-bubble memori-chat--with-addon transition ease-in-out duration-300 opacity-0 scale-09 translate-x-30"
10
10
  >
11
11
  <div
12
12
  class="memori-expandable memori-chat--bubble-content"
@@ -25,6 +25,43 @@ exports[`renders ChatBubble from user with avatar as react element unchanged 1`]
25
25
  </div>
26
26
  </div>
27
27
  </div>
28
+ <div
29
+ class="memori-chat--bubble-addon"
30
+ >
31
+ <button
32
+ class="memori-button memori-button--ghost memori-button--circle memori-button--padded memori-button--icon-only memori-chat--bubble-action-icon memori-chat--bubble-action-icon--from-user"
33
+ title="copy"
34
+ >
35
+ <span
36
+ class="memori-button--icon"
37
+ >
38
+ <svg
39
+ aria-hidden="true"
40
+ fill="none"
41
+ focusable="false"
42
+ role="img"
43
+ stroke="currentColor"
44
+ stroke-linecap="round"
45
+ stroke-linejoin="round"
46
+ stroke-width="1.5"
47
+ viewBox="0 0 24 24"
48
+ xmlns="http://www.w3.org/2000/svg"
49
+ >
50
+ <rect
51
+ height="14"
52
+ rx="2"
53
+ ry="2"
54
+ width="14"
55
+ x="8"
56
+ y="8"
57
+ />
58
+ <path
59
+ d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"
60
+ />
61
+ </svg>
62
+ </span>
63
+ </button>
64
+ </div>
28
65
  </div>
29
66
  <div
30
67
  class="memori-chat--bubble-avatar transition ease-in-out duration-300 opacity-0 scale-075 translate-x-15"
@@ -43,7 +80,7 @@ exports[`renders ChatBubble from user with avatar unchanged 1`] = `
43
80
  class="memori-chat--bubble-container memori-chat-scroll-item memori-chat--bubble-from-user"
44
81
  >
45
82
  <div
46
- class="memori-chat--bubble memori-chat--user-bubble transition ease-in-out duration-300 opacity-0 scale-09 translate-x-30"
83
+ class="memori-chat--bubble memori-chat--user-bubble memori-chat--with-addon transition ease-in-out duration-300 opacity-0 scale-09 translate-x-30"
47
84
  >
48
85
  <div
49
86
  class="memori-expandable memori-chat--bubble-content"
@@ -62,6 +99,43 @@ exports[`renders ChatBubble from user with avatar unchanged 1`] = `
62
99
  </div>
63
100
  </div>
64
101
  </div>
102
+ <div
103
+ class="memori-chat--bubble-addon"
104
+ >
105
+ <button
106
+ class="memori-button memori-button--ghost memori-button--circle memori-button--padded memori-button--icon-only memori-chat--bubble-action-icon memori-chat--bubble-action-icon--from-user"
107
+ title="copy"
108
+ >
109
+ <span
110
+ class="memori-button--icon"
111
+ >
112
+ <svg
113
+ aria-hidden="true"
114
+ fill="none"
115
+ focusable="false"
116
+ role="img"
117
+ stroke="currentColor"
118
+ stroke-linecap="round"
119
+ stroke-linejoin="round"
120
+ stroke-width="1.5"
121
+ viewBox="0 0 24 24"
122
+ xmlns="http://www.w3.org/2000/svg"
123
+ >
124
+ <rect
125
+ height="14"
126
+ rx="2"
127
+ ry="2"
128
+ width="14"
129
+ x="8"
130
+ y="8"
131
+ />
132
+ <path
133
+ d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"
134
+ />
135
+ </svg>
136
+ </span>
137
+ </button>
138
+ </div>
65
139
  </div>
66
140
  <picture
67
141
  class="memori-chat--bubble-avatar transition ease-in-out duration-300 opacity-0 scale-075 translate-x-15"
@@ -82,7 +156,7 @@ exports[`renders ChatBubble from user with custom avatar unchanged 1`] = `
82
156
  class="memori-chat--bubble-container memori-chat-scroll-item memori-chat--bubble-from-user"
83
157
  >
84
158
  <div
85
- class="memori-chat--bubble memori-chat--user-bubble transition ease-in-out duration-300 opacity-0 scale-09 translate-x-30"
159
+ class="memori-chat--bubble memori-chat--user-bubble memori-chat--with-addon transition ease-in-out duration-300 opacity-0 scale-09 translate-x-30"
86
160
  >
87
161
  <div
88
162
  class="memori-expandable memori-chat--bubble-content"
@@ -101,6 +175,43 @@ exports[`renders ChatBubble from user with custom avatar unchanged 1`] = `
101
175
  </div>
102
176
  </div>
103
177
  </div>
178
+ <div
179
+ class="memori-chat--bubble-addon"
180
+ >
181
+ <button
182
+ class="memori-button memori-button--ghost memori-button--circle memori-button--padded memori-button--icon-only memori-chat--bubble-action-icon memori-chat--bubble-action-icon--from-user"
183
+ title="copy"
184
+ >
185
+ <span
186
+ class="memori-button--icon"
187
+ >
188
+ <svg
189
+ aria-hidden="true"
190
+ fill="none"
191
+ focusable="false"
192
+ role="img"
193
+ stroke="currentColor"
194
+ stroke-linecap="round"
195
+ stroke-linejoin="round"
196
+ stroke-width="1.5"
197
+ viewBox="0 0 24 24"
198
+ xmlns="http://www.w3.org/2000/svg"
199
+ >
200
+ <rect
201
+ height="14"
202
+ rx="2"
203
+ ry="2"
204
+ width="14"
205
+ x="8"
206
+ y="8"
207
+ />
208
+ <path
209
+ d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"
210
+ />
211
+ </svg>
212
+ </span>
213
+ </button>
214
+ </div>
104
215
  </div>
105
216
  <picture
106
217
  class="memori-chat--bubble-avatar transition ease-in-out duration-300 opacity-0 scale-075 translate-x-15"
@@ -6756,7 +6867,7 @@ exports[`renders ChatBubble with debug button unchanged 1`] = `
6756
6867
  </span>
6757
6868
  </button>
6758
6869
  <div
6759
- class="memori-tooltip memori-tooltip--align-left memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai"
6870
+ class="memori-tooltip memori-tooltip--align-bottomLeft memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai"
6760
6871
  >
6761
6872
  <div
6762
6873
  class="memori-tooltip--content"
@@ -7662,8 +7773,41 @@ exports[`renders ChatBubble with msg from BoE expert unchanged 1`] = `
7662
7773
  <div
7663
7774
  class="memori-chat--bubble-addon"
7664
7775
  >
7776
+ <button
7777
+ class="memori-button memori-button--ghost memori-button--circle memori-button--padded memori-button--icon-only memori-chat--bubble-action-icon memori-chat--bubble-action-icon--from-user"
7778
+ title="copy"
7779
+ >
7780
+ <span
7781
+ class="memori-button--icon"
7782
+ >
7783
+ <svg
7784
+ aria-hidden="true"
7785
+ fill="none"
7786
+ focusable="false"
7787
+ role="img"
7788
+ stroke="currentColor"
7789
+ stroke-linecap="round"
7790
+ stroke-linejoin="round"
7791
+ stroke-width="1.5"
7792
+ viewBox="0 0 24 24"
7793
+ xmlns="http://www.w3.org/2000/svg"
7794
+ >
7795
+ <rect
7796
+ height="14"
7797
+ rx="2"
7798
+ ry="2"
7799
+ width="14"
7800
+ x="8"
7801
+ y="8"
7802
+ />
7803
+ <path
7804
+ d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"
7805
+ />
7806
+ </svg>
7807
+ </span>
7808
+ </button>
7665
7809
  <div
7666
- class="memori-tooltip memori-tooltip--align-left memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai"
7810
+ class="memori-tooltip memori-tooltip--align-bottomLeft memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai"
7667
7811
  >
7668
7812
  <div
7669
7813
  class="memori-tooltip--content"
@@ -7756,8 +7900,41 @@ exports[`renders ChatBubble with msg generated by AI unchanged 1`] = `
7756
7900
  <div
7757
7901
  class="memori-chat--bubble-addon"
7758
7902
  >
7903
+ <button
7904
+ class="memori-button memori-button--ghost memori-button--circle memori-button--padded memori-button--icon-only memori-chat--bubble-action-icon memori-chat--bubble-action-icon--from-user"
7905
+ title="copy"
7906
+ >
7907
+ <span
7908
+ class="memori-button--icon"
7909
+ >
7910
+ <svg
7911
+ aria-hidden="true"
7912
+ fill="none"
7913
+ focusable="false"
7914
+ role="img"
7915
+ stroke="currentColor"
7916
+ stroke-linecap="round"
7917
+ stroke-linejoin="round"
7918
+ stroke-width="1.5"
7919
+ viewBox="0 0 24 24"
7920
+ xmlns="http://www.w3.org/2000/svg"
7921
+ >
7922
+ <rect
7923
+ height="14"
7924
+ rx="2"
7925
+ ry="2"
7926
+ width="14"
7927
+ x="8"
7928
+ y="8"
7929
+ />
7930
+ <path
7931
+ d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"
7932
+ />
7933
+ </svg>
7934
+ </span>
7935
+ </button>
7759
7936
  <div
7760
- class="memori-tooltip memori-tooltip--align-left memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai"
7937
+ class="memori-tooltip memori-tooltip--align-bottomLeft memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai"
7761
7938
  >
7762
7939
  <div
7763
7940
  class="memori-tooltip--content"
@@ -8392,7 +8569,7 @@ exports[`renders ChatBubble with translation and original unchanged 1`] = `
8392
8569
  </span>
8393
8570
  </button>
8394
8571
  <div
8395
- class="memori-tooltip memori-tooltip--align-left memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai"
8572
+ class="memori-tooltip memori-tooltip--align-bottomLeft memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai"
8396
8573
  >
8397
8574
  <div
8398
8575
  class="memori-tooltip--content"
@@ -8432,7 +8609,7 @@ exports[`renders ChatBubble with user msg unchanged 1`] = `
8432
8609
  class="memori-chat--bubble-container memori-chat-scroll-item memori-chat--bubble-from-user"
8433
8610
  >
8434
8611
  <div
8435
- class="memori-chat--bubble memori-chat--user-bubble transition ease-in-out duration-300 opacity-0 scale-09 translate-x-30"
8612
+ class="memori-chat--bubble memori-chat--user-bubble memori-chat--with-addon transition ease-in-out duration-300 opacity-0 scale-09 translate-x-30"
8436
8613
  >
8437
8614
  <div
8438
8615
  class="memori-expandable memori-chat--bubble-content"
@@ -8451,6 +8628,125 @@ exports[`renders ChatBubble with user msg unchanged 1`] = `
8451
8628
  </div>
8452
8629
  </div>
8453
8630
  </div>
8631
+ <div
8632
+ class="memori-chat--bubble-addon"
8633
+ >
8634
+ <button
8635
+ class="memori-button memori-button--ghost memori-button--circle memori-button--padded memori-button--icon-only memori-chat--bubble-action-icon memori-chat--bubble-action-icon--from-user"
8636
+ title="copy"
8637
+ >
8638
+ <span
8639
+ class="memori-button--icon"
8640
+ >
8641
+ <svg
8642
+ aria-hidden="true"
8643
+ fill="none"
8644
+ focusable="false"
8645
+ role="img"
8646
+ stroke="currentColor"
8647
+ stroke-linecap="round"
8648
+ stroke-linejoin="round"
8649
+ stroke-width="1.5"
8650
+ viewBox="0 0 24 24"
8651
+ xmlns="http://www.w3.org/2000/svg"
8652
+ >
8653
+ <rect
8654
+ height="14"
8655
+ rx="2"
8656
+ ry="2"
8657
+ width="14"
8658
+ x="8"
8659
+ y="8"
8660
+ />
8661
+ <path
8662
+ d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"
8663
+ />
8664
+ </svg>
8665
+ </span>
8666
+ </button>
8667
+ </div>
8668
+ </div>
8669
+ <div
8670
+ class="memori-chat--bubble-avatar transition ease-in-out duration-300 opacity-0 scale-075 translate-x-15"
8671
+ >
8672
+ <svg
8673
+ aria-hidden="true"
8674
+ focusable="false"
8675
+ role="img"
8676
+ viewBox="0 0 1024 1024"
8677
+ xmlns="http://www.w3.org/2000/svg"
8678
+ >
8679
+ <path
8680
+ d="M858.5 763.6a374 374 0 0 0-80.6-119.5 375.63 375.63 0 0 0-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 0 0-80.6 119.5A371.7 371.7 0 0 0 136 901.8a8 8 0 0 0 8 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 0 0 8-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"
8681
+ />
8682
+ </svg>
8683
+ </div>
8684
+ </div>
8685
+ </div>
8686
+ `;
8687
+
8688
+ exports[`shows copy button for user messages 1`] = `
8689
+ <div>
8690
+ <div
8691
+ class="memori-chat--bubble-container memori-chat-scroll-item memori-chat--bubble-from-user"
8692
+ >
8693
+ <div
8694
+ class="memori-chat--bubble memori-chat--user-bubble memori-chat--with-addon transition ease-in-out duration-300 opacity-0 scale-09 translate-x-30"
8695
+ >
8696
+ <div
8697
+ class="memori-expandable memori-chat--bubble-content"
8698
+ >
8699
+ <div
8700
+ class="memori-expandable--inner"
8701
+ style="max-height: 9999px;"
8702
+ >
8703
+ <div
8704
+ class="memori-chat--bubble-content"
8705
+ dir="auto"
8706
+ >
8707
+ <p>
8708
+ Mostra i pulsanti copia sul messaggio utente.
8709
+ </p>
8710
+ </div>
8711
+ </div>
8712
+ </div>
8713
+ <div
8714
+ class="memori-chat--bubble-addon"
8715
+ >
8716
+ <button
8717
+ class="memori-button memori-button--ghost memori-button--circle memori-button--padded memori-button--icon-only memori-chat--bubble-action-icon memori-chat--bubble-action-icon--from-user"
8718
+ title="copy"
8719
+ >
8720
+ <span
8721
+ class="memori-button--icon"
8722
+ >
8723
+ <svg
8724
+ aria-hidden="true"
8725
+ fill="none"
8726
+ focusable="false"
8727
+ role="img"
8728
+ stroke="currentColor"
8729
+ stroke-linecap="round"
8730
+ stroke-linejoin="round"
8731
+ stroke-width="1.5"
8732
+ viewBox="0 0 24 24"
8733
+ xmlns="http://www.w3.org/2000/svg"
8734
+ >
8735
+ <rect
8736
+ height="14"
8737
+ rx="2"
8738
+ ry="2"
8739
+ width="14"
8740
+ x="8"
8741
+ y="8"
8742
+ />
8743
+ <path
8744
+ d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"
8745
+ />
8746
+ </svg>
8747
+ </span>
8748
+ </button>
8749
+ </div>
8454
8750
  </div>
8455
8751
  <div
8456
8752
  class="memori-chat--bubble-avatar transition ease-in-out duration-300 opacity-0 scale-075 translate-x-15"
@@ -1,3 +1,7 @@
1
+ .memori-drawer.memori-chat-history-drawer {
2
+ z-index: 10000;
3
+ }
4
+
1
5
  .memori-chat-history-drawer--card {
2
6
  max-height: 60vh;
3
7
  border: 1px solid var(--memori-border);
@@ -411,4 +415,4 @@
411
415
  color: var(--memori-primary);
412
416
  font-size: 0.875rem;
413
417
  font-weight: 500;
414
- }
418
+ }
@@ -31,6 +31,7 @@ export interface Props {
31
31
  microphoneMode?: 'CONTINUOUS' | 'HOLD_TO_TALK';
32
32
  authToken?: string;
33
33
  showUpload?: boolean;
34
+ isTyping?: boolean;
34
35
  sessionID?: string;
35
36
  memoriID?: string;
36
37
  client?: ReturnType<typeof memoriApiClient>;
@@ -52,6 +53,7 @@ const ChatInputs: React.FC<Props> = ({
52
53
  startListening,
53
54
  stopListening,
54
55
  showUpload = false,
56
+ isTyping = false,
55
57
  sessionID,
56
58
  authToken,
57
59
  memoriID,
@@ -95,6 +97,8 @@ const ChatInputs: React.FC<Props> = ({
95
97
  url?: string;
96
98
  }[]
97
99
  ) => {
100
+ if (isTyping) return;
101
+
98
102
  const mediaWithIds = files.map((file, index) => {
99
103
  const generatedMediumID = file.mediumID || `file_${Date.now()}_${index}_${Math.random().toString(36).substr(2, 9)}`;
100
104
  return {
@@ -119,7 +123,15 @@ const ChatInputs: React.FC<Props> = ({
119
123
  /**
120
124
  * Handles enter key press in textarea
121
125
  */
122
- const onTextareaPressEnter = () => {
126
+ const onTextareaPressEnter = (
127
+ e: React.KeyboardEvent<HTMLTextAreaElement>
128
+ ) => {
129
+ // Prevent default newline on Enter to keep behavior consistent
130
+ e.preventDefault();
131
+
132
+ // While the agent is typing, ignore Enter (no send, no newline)
133
+ if (isTyping) return;
134
+
123
135
  if (sendOnEnter === 'keypress' && userMessage?.length > 0) {
124
136
  stopListening();
125
137
  const mediaWithIds = documentPreviewFiles.map((file, index) => {
@@ -217,6 +229,7 @@ const ChatInputs: React.FC<Props> = ({
217
229
  <Button
218
230
  shape="circle"
219
231
  primary={!!userMessage?.length}
232
+ loading={isTyping}
220
233
  disabled={!userMessage || userMessage.length === 0}
221
234
  className="memori-chat-inputs--send"
222
235
  onClick={() => {