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