@memori.ai/memori-react 8.41.4 → 8.41.5

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 (187) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js +6 -3
  3. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  4. package/dist/components/FilePreview/FilePreview.js +1 -3
  5. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  6. package/dist/components/MediaWidget/MediaItemWidget.js +1 -3
  7. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  8. package/dist/components/MediaWidget/MediaPreviewModal.js +2 -6
  9. package/dist/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  10. package/dist/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  11. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js +117 -0
  12. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  13. package/dist/helpers/message.d.ts +1 -1
  14. package/dist/helpers/message.js +4 -4
  15. package/dist/helpers/message.js.map +1 -1
  16. package/dist/helpers/nats/natsBundled.js +13224 -0
  17. package/dist/helpers/utils.js +9 -3
  18. package/dist/helpers/utils.js.map +1 -1
  19. package/dist/version.d.ts +1 -1
  20. package/dist/version.js +1 -1
  21. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js +6 -3
  22. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  23. package/esm/components/FilePreview/FilePreview.js +1 -3
  24. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  25. package/esm/components/MediaWidget/MediaItemWidget.js +2 -4
  26. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  27. package/esm/components/MediaWidget/MediaPreviewModal.js +2 -6
  28. package/esm/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  29. package/esm/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  30. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js +112 -0
  31. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  32. package/esm/helpers/message.d.ts +1 -1
  33. package/esm/helpers/message.js +2 -2
  34. package/esm/helpers/message.js.map +1 -1
  35. package/esm/helpers/nats/natsBundled.js +13225 -0
  36. package/esm/helpers/utils.js +9 -3
  37. package/esm/helpers/utils.js.map +1 -1
  38. package/esm/version.d.ts +1 -1
  39. package/esm/version.js +1 -1
  40. package/package.json +1 -1
  41. package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +8 -4
  42. package/src/components/FilePreview/FilePreview.tsx +1 -3
  43. package/src/components/MediaWidget/MediaItemWidget.tsx +2 -3
  44. package/src/components/MediaWidget/MediaPreviewModal.tsx +2 -6
  45. package/src/helpers/message.test.ts +28 -1
  46. package/src/helpers/message.ts +4 -4
  47. package/src/helpers/utils.test.ts +49 -0
  48. package/src/helpers/utils.ts +16 -3
  49. package/src/version.ts +1 -1
  50. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -367
  51. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -36
  52. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +0 -116
  53. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +0 -1
  54. package/dist/components/DrawerFooter/DrawerFooter.css +0 -62
  55. package/dist/components/DrawerFooter/DrawerFooter.d.ts +0 -12
  56. package/dist/components/DrawerFooter/DrawerFooter.js +0 -10
  57. package/dist/components/DrawerFooter/DrawerFooter.js.map +0 -1
  58. package/dist/components/MobileSessionPanel/MobileSessionPanel.css +0 -437
  59. package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +0 -62
  60. package/dist/components/MobileSessionPanel/MobileSessionPanel.js +0 -292
  61. package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +0 -1
  62. package/dist/components/PositionPopover/PositionPopover.css +0 -219
  63. package/dist/components/PositionPopover/PositionPopover.d.ts +0 -20
  64. package/dist/components/PositionPopover/PositionPopover.js +0 -187
  65. package/dist/components/PositionPopover/PositionPopover.js.map +0 -1
  66. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.d.ts +0 -4
  67. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +0 -41
  68. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +0 -1
  69. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +0 -690
  70. package/dist/components/layouts/fullpage.css +0 -396
  71. package/dist/helpers/usePressTooltip.d.ts +0 -13
  72. package/dist/helpers/usePressTooltip.js +0 -23
  73. package/dist/helpers/usePressTooltip.js.map +0 -1
  74. package/dist/icons/FacebookIcon.d.ts +0 -3
  75. package/dist/icons/FacebookIcon.js +0 -6
  76. package/dist/icons/FacebookIcon.js.map +0 -1
  77. package/dist/icons/LinkedinIcon.d.ts +0 -3
  78. package/dist/icons/LinkedinIcon.js +0 -6
  79. package/dist/icons/LinkedinIcon.js.map +0 -1
  80. package/dist/icons/MemoriIcon.d.ts +0 -3
  81. package/dist/icons/MemoriIcon.js +0 -8
  82. package/dist/icons/MemoriIcon.js.map +0 -1
  83. package/dist/icons/TelegramIcon.d.ts +0 -3
  84. package/dist/icons/TelegramIcon.js +0 -6
  85. package/dist/icons/TelegramIcon.js.map +0 -1
  86. package/dist/icons/TwitterIcon.d.ts +0 -3
  87. package/dist/icons/TwitterIcon.js +0 -6
  88. package/dist/icons/TwitterIcon.js.map +0 -1
  89. package/dist/icons/WhatsappIcon.d.ts +0 -3
  90. package/dist/icons/WhatsappIcon.js +0 -6
  91. package/dist/icons/WhatsappIcon.js.map +0 -1
  92. package/dist/icons/artifacts/DocumentIcon.d.ts +0 -3
  93. package/dist/icons/artifacts/DocumentIcon.js +0 -6
  94. package/dist/icons/artifacts/DocumentIcon.js.map +0 -1
  95. package/dist/icons/artifacts/HtmlIcon.d.ts +0 -3
  96. package/dist/icons/artifacts/HtmlIcon.js +0 -6
  97. package/dist/icons/artifacts/HtmlIcon.js.map +0 -1
  98. package/dist/icons/artifacts/JavascriptIcon.d.ts +0 -3
  99. package/dist/icons/artifacts/JavascriptIcon.js +0 -6
  100. package/dist/icons/artifacts/JavascriptIcon.js.map +0 -1
  101. package/dist/icons/artifacts/MarkdownIcon.d.ts +0 -3
  102. package/dist/icons/artifacts/MarkdownIcon.js +0 -6
  103. package/dist/icons/artifacts/MarkdownIcon.js.map +0 -1
  104. package/dist/icons/artifacts/PythonIcon.d.ts +0 -3
  105. package/dist/icons/artifacts/PythonIcon.js +0 -6
  106. package/dist/icons/artifacts/PythonIcon.js.map +0 -1
  107. package/dist/icons/artifacts/SvgIcon.d.ts +0 -3
  108. package/dist/icons/artifacts/SvgIcon.js +0 -6
  109. package/dist/icons/artifacts/SvgIcon.js.map +0 -1
  110. package/dist/icons/artifacts/XmlIcon.d.ts +0 -3
  111. package/dist/icons/artifacts/XmlIcon.js +0 -6
  112. package/dist/icons/artifacts/XmlIcon.js.map +0 -1
  113. package/dist/icons/artifacts/cssIcon.d.ts +0 -3
  114. package/dist/icons/artifacts/cssIcon.js +0 -6
  115. package/dist/icons/artifacts/cssIcon.js.map +0 -1
  116. package/dist/testUtils.d.ts +0 -5
  117. package/dist/testUtils.js +0 -18
  118. package/dist/testUtils.js.map +0 -1
  119. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -367
  120. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -36
  121. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +0 -113
  122. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +0 -1
  123. package/esm/components/DrawerFooter/DrawerFooter.css +0 -62
  124. package/esm/components/DrawerFooter/DrawerFooter.d.ts +0 -12
  125. package/esm/components/DrawerFooter/DrawerFooter.js +0 -8
  126. package/esm/components/DrawerFooter/DrawerFooter.js.map +0 -1
  127. package/esm/components/MobileSessionPanel/MobileSessionPanel.css +0 -437
  128. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +0 -62
  129. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +0 -289
  130. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +0 -1
  131. package/esm/components/PositionPopover/PositionPopover.css +0 -219
  132. package/esm/components/PositionPopover/PositionPopover.d.ts +0 -20
  133. package/esm/components/PositionPopover/PositionPopover.js +0 -182
  134. package/esm/components/PositionPopover/PositionPopover.js.map +0 -1
  135. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.d.ts +0 -4
  136. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +0 -38
  137. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +0 -1
  138. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +0 -690
  139. package/esm/components/layouts/fullpage.css +0 -396
  140. package/esm/helpers/usePressTooltip.d.ts +0 -13
  141. package/esm/helpers/usePressTooltip.js +0 -20
  142. package/esm/helpers/usePressTooltip.js.map +0 -1
  143. package/esm/icons/FacebookIcon.d.ts +0 -3
  144. package/esm/icons/FacebookIcon.js +0 -4
  145. package/esm/icons/FacebookIcon.js.map +0 -1
  146. package/esm/icons/LinkedinIcon.d.ts +0 -3
  147. package/esm/icons/LinkedinIcon.js +0 -4
  148. package/esm/icons/LinkedinIcon.js.map +0 -1
  149. package/esm/icons/MemoriIcon.d.ts +0 -3
  150. package/esm/icons/MemoriIcon.js +0 -6
  151. package/esm/icons/MemoriIcon.js.map +0 -1
  152. package/esm/icons/TelegramIcon.d.ts +0 -3
  153. package/esm/icons/TelegramIcon.js +0 -4
  154. package/esm/icons/TelegramIcon.js.map +0 -1
  155. package/esm/icons/TwitterIcon.d.ts +0 -3
  156. package/esm/icons/TwitterIcon.js +0 -4
  157. package/esm/icons/TwitterIcon.js.map +0 -1
  158. package/esm/icons/WhatsappIcon.d.ts +0 -3
  159. package/esm/icons/WhatsappIcon.js +0 -4
  160. package/esm/icons/WhatsappIcon.js.map +0 -1
  161. package/esm/icons/artifacts/DocumentIcon.d.ts +0 -3
  162. package/esm/icons/artifacts/DocumentIcon.js +0 -4
  163. package/esm/icons/artifacts/DocumentIcon.js.map +0 -1
  164. package/esm/icons/artifacts/HtmlIcon.d.ts +0 -3
  165. package/esm/icons/artifacts/HtmlIcon.js +0 -4
  166. package/esm/icons/artifacts/HtmlIcon.js.map +0 -1
  167. package/esm/icons/artifacts/JavascriptIcon.d.ts +0 -3
  168. package/esm/icons/artifacts/JavascriptIcon.js +0 -4
  169. package/esm/icons/artifacts/JavascriptIcon.js.map +0 -1
  170. package/esm/icons/artifacts/MarkdownIcon.d.ts +0 -3
  171. package/esm/icons/artifacts/MarkdownIcon.js +0 -4
  172. package/esm/icons/artifacts/MarkdownIcon.js.map +0 -1
  173. package/esm/icons/artifacts/PythonIcon.d.ts +0 -3
  174. package/esm/icons/artifacts/PythonIcon.js +0 -4
  175. package/esm/icons/artifacts/PythonIcon.js.map +0 -1
  176. package/esm/icons/artifacts/SvgIcon.d.ts +0 -3
  177. package/esm/icons/artifacts/SvgIcon.js +0 -4
  178. package/esm/icons/artifacts/SvgIcon.js.map +0 -1
  179. package/esm/icons/artifacts/XmlIcon.d.ts +0 -3
  180. package/esm/icons/artifacts/XmlIcon.js +0 -4
  181. package/esm/icons/artifacts/XmlIcon.js.map +0 -1
  182. package/esm/icons/artifacts/cssIcon.d.ts +0 -3
  183. package/esm/icons/artifacts/cssIcon.js +0 -4
  184. package/esm/icons/artifacts/cssIcon.js.map +0 -1
  185. package/esm/testUtils.d.ts +0 -5
  186. package/esm/testUtils.js +0 -15
  187. package/esm/testUtils.js.map +0 -1
@@ -1,367 +0,0 @@
1
- .memori-chat-resume-drawer {
2
- position: fixed;
3
- z-index: 1200;
4
- inset: 0;
5
- pointer-events: none;
6
- }
7
-
8
- .memori-chat-resume-drawer--backdrop {
9
- position: absolute;
10
- border: 0;
11
- background: rgba(0, 0, 0, 0);
12
- cursor: default;
13
- inset: 0;
14
- opacity: 0;
15
- transition: opacity 280ms cubic-bezier(0.32, 0.72, 0, 1);
16
- }
17
-
18
- .memori-chat-resume-drawer--panel {
19
- position: absolute;
20
- top: 0;
21
- right: 0;
22
- display: flex;
23
- width: min(100%, 430px);
24
- height: 100%;
25
- flex-direction: column;
26
- /* background: var(--memori-main-background); */
27
- box-shadow: -10px 0 30px rgba(0, 0, 0, 0.16);
28
- transform: translateX(100%);
29
- transition: transform 280ms cubic-bezier(0.32, 0.72, 0, 1);
30
- }
31
-
32
- .memori-chat-resume-drawer--embedded-shell {
33
- display: flex;
34
- height: 100%;
35
- min-height: 0;
36
- flex: 1;
37
- }
38
-
39
- .memori-chat-resume-drawer--panel-embedded {
40
- position: relative;
41
- width: 100%;
42
- height: 100%;
43
- box-shadow: none;
44
- transform: none;
45
- }
46
-
47
- .memori-chat-resume-drawer--open {
48
- pointer-events: auto;
49
- }
50
-
51
- .memori-chat-resume-drawer--open .memori-chat-resume-drawer--backdrop {
52
- opacity: 0.4;
53
- }
54
-
55
- .memori-chat-resume-drawer--open .memori-chat-resume-drawer--panel {
56
- transform: translateX(0);
57
- }
58
-
59
- .memori-chat-resume-drawer--header {
60
- display: flex;
61
- align-items: center;
62
- padding: 14px 16px 12px;
63
- /* border-bottom: 0.5px solid var(--color-border-tertiary, var(--memori-border-color, #e5e7eb)); */
64
- gap: 8px;
65
- }
66
-
67
- .memori-chat-resume-drawer--header-icon-button {
68
- display: inline-flex;
69
- width: 28px;
70
- min-width: 28px;
71
- height: 28px;
72
- align-items: center;
73
- justify-content: center;
74
- padding: 0;
75
- border: none;
76
- border-radius: 999px;
77
- background: transparent;
78
- color: var(--color-text-primary, var(--memori-text-color));
79
- cursor: pointer;
80
- }
81
-
82
- .memori-chat-resume-drawer--header-main {
83
- min-width: 0;
84
- flex: 1;
85
- }
86
-
87
- .memori-chat-resume-drawer--title {
88
- overflow: hidden;
89
- margin: 0;
90
- color: var(--color-text-primary, var(--memori-text-color));
91
- font-size: 15px;
92
- font-weight: 500;
93
- text-overflow: ellipsis;
94
- white-space: nowrap;
95
- }
96
-
97
- .memori-chat-resume-drawer--subtitle {
98
- overflow: hidden;
99
- margin: 2px 0 0;
100
- color: color-mix(in oklch, var(--memori-text-color) 66%, transparent);
101
- font-size: 12px;
102
- text-overflow: ellipsis;
103
- white-space: nowrap;
104
- }
105
-
106
- .memori-chat-resume-drawer--summary-banner {
107
- display: flex;
108
- align-items: flex-start;
109
- padding: 10px 12px;
110
- border: 1px solid var(--color-border-tertiary, var(--memori-border-color, #e5e7eb));
111
- border-radius: 8px;
112
- margin: 12px 16px 0;
113
- background: var(--color-background-secondary, var(--memori-secondary-background));
114
- gap: 8px;
115
- }
116
-
117
- .memori-chat-resume-drawer--summary-icon {
118
- margin-top: 1px;
119
- color: color-mix(in oklch, var(--memori-text-color) 68%, transparent);
120
- }
121
-
122
- .memori-chat-resume-drawer--summary-title {
123
- margin: 0 0 2px;
124
- color: var(--color-text-primary, var(--memori-text-color));
125
- font-size: 14px;
126
- font-weight: 600;
127
- }
128
-
129
- .memori-chat-resume-drawer--summary-text {
130
- margin: 0;
131
- color: color-mix(in oklch, var(--memori-text-color) 72%, transparent);
132
- font-size: 14px;
133
- line-height: 1.35;
134
- }
135
-
136
- .memori-chat-resume-drawer--thread {
137
- display: flex;
138
- overflow: hidden;
139
- min-height: 0;
140
- flex: 1;
141
- flex-direction: column;
142
- padding: var(--memori-spacing-lg);
143
- }
144
-
145
- .memori-chat-resume-drawer--embedded-chat {
146
- min-height: 0;
147
- flex: 1;
148
- }
149
-
150
- .memori-chat-resume-drawer--embedded-chat .memori-chat--wrapper {
151
- height: 100%;
152
- }
153
-
154
- .memori-chat-resume-drawer--embedded-chat .memori-chat--history {
155
- height: 100%;
156
- border-radius: 0;
157
- margin: 0;
158
- background: transparent;
159
- }
160
-
161
- .memori-chat-resume-drawer--embedded-chat .memori-chat--content {
162
- padding: 0;
163
- }
164
-
165
- .memori-chat-resume-drawer--embedded-chat .memori-chat--cover {
166
- display: none;
167
- }
168
-
169
- .memori-chat-resume-drawer--embedded-chat .memori-chat--bubble-container {
170
- padding-right: var(--memori-spacing-md);
171
- padding-left: 0;
172
- }
173
-
174
- .memori-chat-resume-drawer--embedded-chat .memori-chat--bubble-message-row {
175
- align-items: flex-start;
176
- }
177
-
178
- /* .memori-chat-resume-drawer--embedded-chat .memori-chat--bubble-container,
179
- .memori-chat-resume-drawer--embedded-chat .memori-chat--timestamp,
180
- .memori-chat-resume-drawer--embedded-chat .memori-media-widget,
181
- .memori-chat-resume-drawer--embedded-chat .memori-chat--bubble-shell {
182
- padding-right: 0;
183
- padding-left: 0;
184
- /* margin-top: var(--memori-spacing-sm);
185
- } */
186
-
187
- .memori-chat-resume-drawer--message-group {
188
- display: flex;
189
- width: 100%;
190
- gap: 8px;
191
- }
192
-
193
- .memori-chat-resume-drawer--message-group-assistant {
194
- justify-content: flex-start;
195
- }
196
-
197
- .memori-chat-resume-drawer--message-group-user {
198
- justify-content: flex-end;
199
- }
200
-
201
- .memori-chat-resume-drawer--avatar {
202
- display: inline-flex;
203
- width: 28px;
204
- min-width: 28px;
205
- height: 28px;
206
- align-items: center;
207
- justify-content: center;
208
- border-radius: 999px;
209
- background: linear-gradient(135deg, #b5a2ff 0%, #8b72ff 100%);
210
- color: #fff;
211
- font-size: 11px;
212
- font-weight: 600;
213
- }
214
-
215
- .memori-chat-resume-drawer--message-content {
216
- display: flex;
217
- max-width: 82%;
218
- flex-direction: column;
219
- gap: 6px;
220
- }
221
-
222
- .memori-chat-resume-drawer--message-group-user .memori-chat-resume-drawer--message-content {
223
- align-items: flex-end;
224
- }
225
-
226
- .memori-chat-resume-drawer--timestamp {
227
- color: color-mix(in oklch, var(--memori-text-color) 64%, transparent);
228
- font-size: 12px;
229
- line-height: 1;
230
- }
231
-
232
- .memori-chat-resume-drawer--attachment-pill {
233
- display: flex;
234
- align-items: center;
235
- padding: 8px 10px;
236
- border: 1px solid var(--color-border-tertiary, var(--memori-border-color, #e5e7eb));
237
- border-radius: 8px;
238
- background: var(--color-background-secondary, var(--memori-secondary-background));
239
- gap: 8px;
240
- }
241
-
242
- .memori-chat-resume-drawer--attachment-ext {
243
- display: inline-flex;
244
- min-width: 34px;
245
- align-items: center;
246
- justify-content: center;
247
- padding: 4px 8px;
248
- border-radius: 6px;
249
- background: #d9e8ff;
250
- color: #2f5fa8;
251
- font-size: 11px;
252
- font-weight: 600;
253
- }
254
-
255
- .memori-chat-resume-drawer--attachment-meta {
256
- display: flex;
257
- min-width: 0;
258
- flex-direction: column;
259
- }
260
-
261
- .memori-chat-resume-drawer--attachment-name {
262
- overflow: hidden;
263
- color: var(--color-text-primary, var(--memori-text-color));
264
- font-size: 13px;
265
- text-overflow: ellipsis;
266
- white-space: nowrap;
267
- }
268
-
269
- .memori-chat-resume-drawer--attachment-info {
270
- color: color-mix(in oklch, var(--memori-text-color) 70%, transparent);
271
- font-size: 12px;
272
- }
273
-
274
- .memori-chat-resume-drawer--bubble {
275
- padding: 10px 12px;
276
- color: var(--color-text-primary, var(--memori-text-color));
277
- font-size: 14px;
278
- line-height: 1.4;
279
- white-space: pre-wrap;
280
- }
281
-
282
- .memori-chat-resume-drawer--bubble-assistant {
283
- border: 0.5px solid var(--color-border-tertiary, var(--memori-border-color, #e5e7eb));
284
- border-radius: 4px 12px 12px 12px;
285
- background: var(--color-background-secondary, var(--memori-secondary-background));
286
- }
287
-
288
- .memori-chat-resume-drawer--bubble-user {
289
- border-radius: 12px 4px 12px 12px;
290
- background: var(--memori-primary);
291
- color: #fff;
292
- }
293
-
294
- .memori-chat-resume-drawer--interrupted {
295
- display: inline-flex;
296
- align-items: center;
297
- color: color-mix(in oklch, var(--memori-text-color) 72%, transparent);
298
- font-size: 14px;
299
- gap: 6px;
300
- }
301
-
302
- .memori-chat-resume-drawer--actions {
303
- display: flex;
304
- flex-direction: column;
305
- flex-shrink: 0;
306
- padding: 16px 24px;
307
- margin-bottom: 1rem;
308
- /* border-top: 0.5px solid var(--color-border-tertiary, var(--memori-border-color, #e5e7eb)); */
309
- /* background: var(--memori-main-background); */
310
- gap: 12px;
311
- }
312
-
313
- .memori-chat-history-drawer--header-download-button {
314
- display: flex;
315
- align-self: baseline;
316
- }
317
-
318
- .memori-chat-resume-drawer--chips-row {
319
- display: flex;
320
- flex-wrap: wrap;
321
- gap: 8px;
322
- }
323
-
324
- .memori-chat-resume-drawer--chip {
325
- min-height: 32px;
326
- padding: 0 14px;
327
- border: 0.5px solid color-mix(in oklch, var(--memori-text-color) 20%, transparent);
328
- border-radius: 20px;
329
- background: transparent;
330
- color: color-mix(in oklch, var(--memori-text-color) 85%, transparent);
331
- cursor: pointer;
332
- font-size: 12px;
333
- font-weight: 500;
334
- }
335
-
336
- .memori-chat-resume-drawer--resume-cta {
337
- width: 100%;
338
- min-height: 44px;
339
- border-radius: 10px;
340
- font-size: 14px;
341
- font-weight: 500;
342
- }
343
-
344
- .memori-chat-resume-drawer--skeletons {
345
- display: flex;
346
- flex-direction: column;
347
- gap: 12px;
348
- }
349
-
350
- .memori-chat-resume-drawer--skeleton-bubble {
351
- width: 72%;
352
- height: 54px;
353
- border-radius: 12px;
354
- animation: memori-chat-resume-shimmer 1.2s infinite;
355
- background: linear-gradient(90deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.08) 50%, rgba(0, 0, 0, 0.04) 100%);
356
- background-size: 200% 100%;
357
- }
358
-
359
- @keyframes memori-chat-resume-shimmer {
360
- from {
361
- background-position: 200% 0;
362
- }
363
-
364
- to {
365
- background-position: -200% 0;
366
- }
367
- }
@@ -1,36 +0,0 @@
1
- import { Message } from '@memori.ai/memori-api-client/dist/types';
2
- export interface ResumeDrawerMessage {
3
- id: string;
4
- role: 'user' | 'assistant';
5
- content: string;
6
- timestamp: string;
7
- status?: 'completed' | 'interrupted';
8
- media?: Message['media'];
9
- attachment?: {
10
- name: string;
11
- type: string;
12
- size: string;
13
- ext: string;
14
- };
15
- }
16
- export interface ChatResumeDrawerProps {
17
- isOpen: boolean;
18
- onClose: () => void;
19
- onBack?: () => void;
20
- onExportChat: () => void;
21
- embedded?: boolean;
22
- session: {
23
- title: string;
24
- subtitle: string;
25
- summary: string;
26
- messages: ResumeDrawerMessage[];
27
- quickActions: {
28
- label: string;
29
- prompt: string;
30
- }[];
31
- };
32
- onResume: (prompt?: string) => void;
33
- isLoading?: boolean;
34
- }
35
- declare const ChatResumeDrawer: ({ isOpen, onClose, onBack, embedded, session, onResume, isLoading, onExportChat, }: ChatResumeDrawerProps) => JSX.Element | null;
36
- export default ChatResumeDrawer;
@@ -1,116 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const ui_1 = require("@memori.ai/ui");
7
- const lucide_react_1 = require("lucide-react");
8
- const react_i18next_1 = require("react-i18next");
9
- const utils_1 = require("../../helpers/utils");
10
- const Chat_1 = tslib_1.__importDefault(require("../Chat/Chat"));
11
- const ANIMATION_DURATION_MS = 280;
12
- const EMPTY_MEMORI = {
13
- memoriID: 'chat-resume-drawer',
14
- name: 'AI',
15
- culture: 'it-IT',
16
- coverURL: '',
17
- avatarURL: '',
18
- enableBoardOfExperts: false,
19
- };
20
- const NOOP = () => { };
21
- const stripMarkdownChars = (value) => {
22
- return value
23
- .replace(/[#*_`~>\-[\]()]/g, ' ')
24
- .replace(/\s+/g, ' ')
25
- .trim();
26
- };
27
- const escapeAttachmentAttr = (value) => value.replaceAll('"', '"');
28
- const ChatResumeDrawer = ({ isOpen, onClose, onBack, embedded = false, session, onResume, isLoading = false, onExportChat, }) => {
29
- const { t } = (0, react_i18next_1.useTranslation)();
30
- const dialogRef = (0, react_1.useRef)(null);
31
- const panelRef = (0, react_1.useRef)(null);
32
- const backButtonRef = (0, react_1.useRef)(null);
33
- const titleId = 'chat-resume-drawer-title';
34
- const [shouldRender, setShouldRender] = (0, react_1.useState)(isOpen);
35
- const [isVisible, setIsVisible] = (0, react_1.useState)(isOpen);
36
- (0, react_1.useEffect)(() => {
37
- if (isOpen) {
38
- setShouldRender(true);
39
- requestAnimationFrame(() => setIsVisible(true));
40
- return;
41
- }
42
- setIsVisible(false);
43
- const timeout = window.setTimeout(() => {
44
- setShouldRender(false);
45
- }, ANIMATION_DURATION_MS);
46
- return () => window.clearTimeout(timeout);
47
- }, [isOpen]);
48
- (0, react_1.useEffect)(() => {
49
- var _a;
50
- if (!isOpen)
51
- return;
52
- (_a = backButtonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
53
- }, [isOpen]);
54
- (0, react_1.useEffect)(() => {
55
- if (!isOpen || embedded)
56
- return;
57
- const previouslyFocused = document.activeElement;
58
- const root = dialogRef.current;
59
- if (!root)
60
- return;
61
- const handleKeyDown = (event) => {
62
- if (event.key === 'Escape') {
63
- onClose();
64
- return;
65
- }
66
- if (event.key !== 'Tab')
67
- return;
68
- const focusableElements = root.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
69
- if (!focusableElements.length)
70
- return;
71
- const first = focusableElements[0];
72
- const last = focusableElements[focusableElements.length - 1];
73
- const active = document.activeElement;
74
- if (event.shiftKey && active === first) {
75
- event.preventDefault();
76
- last.focus();
77
- }
78
- else if (!event.shiftKey && active === last) {
79
- event.preventDefault();
80
- first.focus();
81
- }
82
- };
83
- document.addEventListener('keydown', handleKeyDown);
84
- return () => {
85
- document.removeEventListener('keydown', handleKeyDown);
86
- previouslyFocused === null || previouslyFocused === void 0 ? void 0 : previouslyFocused.focus();
87
- };
88
- }, [embedded, isOpen, onClose]);
89
- const safeTitle = (0, react_1.useMemo)(() => {
90
- const cleaned = stripMarkdownChars((0, utils_1.stripHTML)(session.title || ''));
91
- return cleaned || 'Conversazione';
92
- }, [session.title]);
93
- const history = (0, react_1.useMemo)(() => session.messages.map(message => {
94
- const attachmentTag = message.attachment
95
- ? `<document_attachment filename="${escapeAttachmentAttr(message.attachment.name)}" type="${escapeAttachmentAttr(message.attachment.type)}"></document_attachment>`
96
- : '';
97
- const interruptedText = message.role === 'assistant' && message.status === 'interrupted'
98
- ? 'Risposta interrotta - sessione in pausa'
99
- : message.content;
100
- return {
101
- fromUser: message.role === 'user',
102
- text: `${interruptedText}${attachmentTag}`,
103
- timestamp: message.timestamp,
104
- media: message.media || [],
105
- };
106
- }), [session.messages]);
107
- if (!embedded && !shouldRender)
108
- return null;
109
- const content = ((0, jsx_runtime_1.jsxs)("div", { ref: panelRef, className: `memori-chat-resume-drawer--panel ${embedded ? 'memori-chat-resume-drawer--panel-embedded' : ''}`, onClick: event => event.stopPropagation(), children: [(0, jsx_runtime_1.jsxs)("header", { className: "memori-chat-resume-drawer--header", children: [(0, jsx_runtime_1.jsx)(ui_1.Button, { ref: backButtonRef, variant: "ghost", type: "button", className: "memori-chat-resume-drawer--header-icon-button", onClick: onBack || onClose, "aria-label": String(t('back', { defaultValue: 'Back' })), children: (0, jsx_runtime_1.jsx)(lucide_react_1.ArrowLeft, { size: 16, "aria-hidden": true }) }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-resume-drawer--header-main", children: [(0, jsx_runtime_1.jsx)("h2", { id: titleId, className: "memori-chat-resume-drawer--title", title: safeTitle, children: safeTitle }), (0, jsx_runtime_1.jsx)("p", { className: "memori-chat-resume-drawer--subtitle", children: session.subtitle })] }), (0, jsx_runtime_1.jsx)(ui_1.Button, { variant: "ghost", size: "sm", className: "memori-chat-history-drawer--header-download-button", "aria-label": String(t('download', { defaultValue: 'Download' })), title: String(t('download', { defaultValue: 'Download' })), icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Download, { "aria-hidden": true }), onClick: onExportChat })] }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-resume-drawer--thread", children: [isLoading && ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-resume-drawer--skeletons", children: [0, 1, 2].map(item => ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-resume-drawer--skeleton-bubble" }, item))) })), !isLoading && ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-resume-drawer--embedded-chat", children: (0, jsx_runtime_1.jsx)(Chat_1.default, { memori: EMPTY_MEMORI, sessionID: "chat-resume-drawer", history: history, pushMessage: NOOP, simulateUserPrompt: NOOP, setSendOnEnter: NOOP, setAttachmentsMenuOpen: NOOP, onChangeUserMessage: NOOP, sendMessage: NOOP, setEnableFocusChatInput: NOOP, stopAudio: NOOP, startListening: NOOP, stopListening: NOOP, showInputs: false, showAIicon: true, showCopyButton: true, isHistoryView: true, isChatlogPanel: true }) }))] }), (0, jsx_runtime_1.jsx)("footer", { className: "memori-chat-resume-drawer--actions", children: (0, jsx_runtime_1.jsxs)(ui_1.Button, { className: "memori-chat-resume-drawer--resume-cta", variant: "primary", onClick: () => onResume(), children: [t('chatResume.resume', { defaultValue: 'Resume conversation' }), ' ', (0, jsx_runtime_1.jsx)(lucide_react_1.ArrowUpRight, { size: 16, "aria-hidden": true })] }) })] }));
110
- if (embedded) {
111
- return ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-resume-drawer--embedded-shell", children: content }));
112
- }
113
- return ((0, jsx_runtime_1.jsxs)("div", { ref: dialogRef, className: `memori-chat-resume-drawer ${isVisible ? 'memori-chat-resume-drawer--open' : ''}`, role: "dialog", "aria-modal": "true", "aria-labelledby": titleId, children: [(0, jsx_runtime_1.jsx)(ui_1.Button, { className: "memori-chat-resume-drawer--backdrop", type: "button", "aria-label": String(t('close', { defaultValue: 'Close' })), onClick: onClose }), content] }));
114
- };
115
- exports.default = ChatResumeDrawer;
116
- //# sourceMappingURL=ChatResumeDrawer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatResumeDrawer.js","sourceRoot":"","sources":["../../../src/components/ChatHistoryDrawer/ChatResumeDrawer.tsx"],"names":[],"mappings":"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"}
@@ -1,62 +0,0 @@
1
- .memori-drawer-footer {
2
- flex-shrink: 0;
3
- padding: var(--memori-spacing-md);
4
- border-top: 1px solid var(--memori-border-color, #e5e7eb);
5
- box-shadow: 0 -8px 24px -8px rgba(0, 0, 0, 0.06), 0 -2px 8px -2px rgba(0, 0, 0, 0.03);
6
- }
7
-
8
- .memori-drawer-footer__inner {
9
- display: flex;
10
- flex-direction: row;
11
- flex-wrap: wrap;
12
- align-items: center;
13
- justify-content: space-between;
14
- gap: var(--memori-spacing-lg);
15
- }
16
-
17
- .memori-drawer-footer__start {
18
- display: flex;
19
- align-items: center;
20
- gap: var(--memori-spacing-md);
21
- }
22
-
23
- .memori-drawer-footer__end {
24
- display: flex;
25
- align-items: center;
26
- justify-content: flex-end;
27
- margin-left: auto;
28
- gap: var(--memori-spacing-md);
29
- }
30
-
31
- .memori-drawer-footer__end .memori-button {
32
- min-height: 44px;
33
- padding: 10px var(--memori-spacing-lg);
34
- border-radius: 10px;
35
- font-weight: 500;
36
- transition: transform 0.15s ease, box-shadow 0.15s ease;
37
- }
38
-
39
- .memori-drawer-footer__end .memori-button:hover:not([disabled]) {
40
- transform: translateY(-1px);
41
- }
42
-
43
- .memori-drawer-footer__inner--centered {
44
- justify-content: center;
45
- }
46
-
47
- @media (max-width: 768px) {
48
- .memori-drawer-footer {
49
- padding: var(--memori-spacing-md) var(--memori-spacing-lg);
50
- }
51
-
52
- .memori-drawer-footer__inner {
53
- flex-direction: column;
54
- align-items: stretch;
55
- gap: var(--memori-spacing-md);
56
- }
57
-
58
- .memori-drawer-footer__end {
59
- justify-content: flex-end;
60
- margin-left: 0;
61
- }
62
- }
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- export interface DrawerFooterProps {
3
- children?: React.ReactNode;
4
- start?: React.ReactNode;
5
- end?: React.ReactNode;
6
- center?: React.ReactNode;
7
- closeLabel?: string;
8
- onClose?: () => void;
9
- className?: string;
10
- }
11
- declare const DrawerFooter: React.FC<DrawerFooterProps>;
12
- export default DrawerFooter;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const ui_1 = require("@memori.ai/ui");
5
- const DrawerFooter = ({ children, start, end, center, closeLabel, onClose, className = '', }) => {
6
- const hasSlots = start != null || end != null || center != null || closeLabel != null;
7
- return ((0, jsx_runtime_1.jsx)("footer", { className: `memori-drawer-footer ${className}`.trim(), children: center != null ? ((0, jsx_runtime_1.jsx)("div", { className: "memori-drawer-footer__inner memori-drawer-footer__inner--centered", children: center })) : children != null && !hasSlots ? ((0, jsx_runtime_1.jsx)("div", { className: "memori-drawer-footer__inner memori-drawer-footer__inner--centered", children: children })) : ((0, jsx_runtime_1.jsxs)("div", { className: "memori-drawer-footer__inner", children: [start != null && ((0, jsx_runtime_1.jsx)("div", { className: "memori-drawer-footer__start", children: start })), (0, jsx_runtime_1.jsxs)("div", { className: "memori-drawer-footer__end", children: [end, closeLabel != null && onClose != null && ((0, jsx_runtime_1.jsx)(ui_1.Button, { variant: "primary", onClick: onClose, children: closeLabel }))] })] })) }));
8
- };
9
- exports.default = DrawerFooter;
10
- //# sourceMappingURL=DrawerFooter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DrawerFooter.js","sourceRoot":"","sources":["../../../src/components/DrawerFooter/DrawerFooter.tsx"],"names":[],"mappings":";;;AACA,sCAAuC;AAgBvC,MAAM,YAAY,GAAgC,CAAC,EACjD,QAAQ,EACR,KAAK,EACL,GAAG,EACH,MAAM,EACN,UAAU,EACV,OAAO,EACP,SAAS,GAAG,EAAE,GACf,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC;IAEtF,OAAO,CACL,mCAAQ,SAAS,EAAE,wBAAwB,SAAS,EAAE,CAAC,IAAI,EAAE,YAC1D,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAChB,gCAAK,SAAS,EAAC,mEAAmE,YAC/E,MAAM,GACH,CACP,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAClC,gCAAK,SAAS,EAAC,mEAAmE,YAC/E,QAAQ,GACL,CACP,CAAC,CAAC,CAAC,CACF,iCAAK,SAAS,EAAC,6BAA6B,aACzC,KAAK,IAAI,IAAI,IAAI,CAChB,gCAAK,SAAS,EAAC,6BAA6B,YAAE,KAAK,GAAO,CAC3D,EACD,iCAAK,SAAS,EAAC,2BAA2B,aACvC,GAAG,EACH,UAAU,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,CACxC,uBAAC,WAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,OAAO,YACvC,UAAU,GACJ,CACV,IACG,IACF,CACP,GACM,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}