@memori.ai/memori-react 8.4.2 → 8.5.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 (131) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +0 -4
  3. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.d.ts +1 -0
  4. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +3 -3
  5. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  6. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +110 -8
  7. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  8. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -0
  9. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
  10. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js +42 -38
  11. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js.map +1 -1
  12. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +1 -2
  13. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/types.d.ts +2 -1
  14. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +428 -15
  15. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.d.ts +1 -0
  16. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +47 -8
  17. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  18. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +150 -0
  19. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.d.ts +9 -0
  20. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +35 -0
  21. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -0
  22. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +2 -0
  23. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -1
  24. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.d.ts +2 -1
  25. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +15 -26
  26. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  27. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js +1 -5
  28. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  29. package/dist/components/icons/Close.d.ts +2 -1
  30. package/dist/components/icons/Close.js +1 -1
  31. package/dist/components/icons/Close.js.map +1 -1
  32. package/dist/components/icons/MenuVertical.d.ts +7 -0
  33. package/dist/components/icons/MenuVertical.js +6 -0
  34. package/dist/components/icons/MenuVertical.js.map +1 -0
  35. package/dist/components/layouts/Chat.js +1 -1
  36. package/dist/components/layouts/Chat.js.map +1 -1
  37. package/dist/components/layouts/FullPage.js +1 -1
  38. package/dist/components/layouts/FullPage.js.map +1 -1
  39. package/dist/components/layouts/ZoomedFullBody.js +1 -1
  40. package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
  41. package/dist/components/layouts/chat.css +67 -80
  42. package/dist/components/ui/Drawer.d.ts +1 -0
  43. package/dist/components/ui/Drawer.js +2 -2
  44. package/dist/components/ui/Drawer.js.map +1 -1
  45. package/dist/locales/de.json +37 -1
  46. package/dist/locales/en.json +37 -1
  47. package/dist/locales/es.json +37 -1
  48. package/dist/locales/fr.json +37 -1
  49. package/dist/locales/it.json +37 -1
  50. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +0 -4
  51. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.d.ts +1 -0
  52. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +3 -3
  53. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  54. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +110 -8
  55. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  56. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -0
  57. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
  58. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js +42 -38
  59. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js.map +1 -1
  60. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +1 -2
  61. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/types.d.ts +2 -1
  62. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +428 -15
  63. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.d.ts +1 -0
  64. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +48 -9
  65. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  66. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +150 -0
  67. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.d.ts +9 -0
  68. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +32 -0
  69. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -0
  70. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +2 -0
  71. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -1
  72. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.d.ts +2 -1
  73. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +16 -27
  74. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  75. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js +1 -5
  76. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  77. package/esm/components/icons/Close.d.ts +2 -1
  78. package/esm/components/icons/Close.js +1 -1
  79. package/esm/components/icons/Close.js.map +1 -1
  80. package/esm/components/icons/MenuVertical.d.ts +7 -0
  81. package/esm/components/icons/MenuVertical.js +4 -0
  82. package/esm/components/icons/MenuVertical.js.map +1 -0
  83. package/esm/components/layouts/Chat.js +1 -1
  84. package/esm/components/layouts/Chat.js.map +1 -1
  85. package/esm/components/layouts/FullPage.js +1 -1
  86. package/esm/components/layouts/FullPage.js.map +1 -1
  87. package/esm/components/layouts/ZoomedFullBody.js +1 -1
  88. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  89. package/esm/components/layouts/chat.css +67 -80
  90. package/esm/components/ui/Drawer.d.ts +1 -0
  91. package/esm/components/ui/Drawer.js +2 -2
  92. package/esm/components/ui/Drawer.js.map +1 -1
  93. package/esm/locales/de.json +37 -1
  94. package/esm/locales/en.json +37 -1
  95. package/esm/locales/es.json +37 -1
  96. package/esm/locales/fr.json +37 -1
  97. package/esm/locales/it.json +37 -1
  98. package/package.json +1 -1
  99. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +9 -0
  100. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +0 -4
  101. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +7 -5
  102. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +148 -12
  103. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +3 -0
  104. package/src/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.ts +54 -47
  105. package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +1 -2
  106. package/src/components/MemoriArtifactSystem/components/ArtifactActions/types.ts +2 -1
  107. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +428 -15
  108. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +240 -42
  109. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +150 -0
  110. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.tsx +79 -0
  111. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +2 -0
  112. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -1
  113. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +2 -41
  114. package/src/components/MemoriArtifactSystem/context/ArtifactContext.tsx +1 -5
  115. package/src/components/icons/Close.tsx +8 -1
  116. package/src/components/icons/MenuVertical.tsx +29 -0
  117. package/src/components/layouts/Chat.tsx +3 -1
  118. package/src/components/layouts/FullPage.tsx +7 -2
  119. package/src/components/layouts/ZoomedFullBody.tsx +8 -3
  120. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +1 -1
  121. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +112 -104
  122. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +3 -0
  123. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +56 -52
  124. package/src/components/layouts/chat.css +67 -80
  125. package/src/components/ui/Drawer.tsx +3 -1
  126. package/src/components/ui/__snapshots__/Alert.test.tsx.snap +3 -0
  127. package/src/locales/de.json +37 -1
  128. package/src/locales/en.json +37 -1
  129. package/src/locales/es.json +37 -1
  130. package/src/locales/fr.json +37 -1
  131. package/src/locales/it.json +38 -1
@@ -6,15 +6,19 @@
6
6
  background: none;
7
7
  }
8
8
 
9
- .memori-widget > .memori-spin.memori-chat-layout {
9
+ .memori-widget > .memori-spin.memori-chat-layout {
10
10
  display: flex;
11
11
  height: 100%;
12
12
  flex-direction: column;
13
13
  }
14
14
 
15
-
16
15
  .memori-chat-layout--header {
17
16
  text-align: right;
17
+ transition: all 0.05s ease-in-out;
18
+ }
19
+
20
+ .memori-chat-layout--header-with-artifact {
21
+ display: none;
18
22
  }
19
23
 
20
24
  .memori-chat-layout .memori-header {
@@ -22,17 +26,16 @@
22
26
  width: auto;
23
27
  }
24
28
 
25
- .memori-chat-layout-controls-hide{
29
+ .memori-chat-layout-controls-hide {
26
30
  display: none;
27
31
  }
28
32
 
29
- .memori-chat-layout-artifact-panel-full-screen{
33
+ .memori-chat-layout-artifact-panel-full-screen {
30
34
  width: 100%;
31
35
  height: 100%;
32
- flex:1 1;
36
+ flex: 1 1;
33
37
  }
34
38
 
35
-
36
39
  .memori-chat-layout--main {
37
40
  position: relative;
38
41
  display: flex;
@@ -48,7 +51,9 @@
48
51
  }
49
52
 
50
53
  .memori-chat-layout--main-with-artifact {
54
+ display: flex;
51
55
  flex-direction: row;
56
+ align-items: center;
52
57
  justify-content: space-between;
53
58
  padding: 1rem;
54
59
  gap: 1rem;
@@ -62,12 +67,14 @@
62
67
  height: calc(100% - 50px);
63
68
  max-height: calc(100% - 50px);
64
69
  flex: 1;
70
+ padding-bottom: 3rem;
65
71
  transition: all 0.05s ease-in-out;
66
72
  }
67
73
 
68
74
  .memori-chat-layout--controls-with-artifact {
69
75
  max-height: 100%;
70
- flex: 0 0 45%;
76
+ flex: 0 0 50%;
77
+ padding-bottom: 2.5rem;
71
78
  margin: 0;
72
79
  }
73
80
 
@@ -78,7 +85,7 @@
78
85
  width: 100%;
79
86
  min-width: 0;
80
87
  height: 100%;
81
- flex: 0 0 45%;
88
+ flex: 0 0 50%;
82
89
  flex-direction: column;
83
90
  border: 1px solid rgba(255, 255, 255, 0.3);
84
91
  border-radius: 12px;
@@ -107,8 +114,6 @@
107
114
  }
108
115
  }
109
116
 
110
-
111
-
112
117
  .memori-chat-layout .memori--avatar {
113
118
  top: 0;
114
119
  }
@@ -151,9 +156,6 @@
151
156
  margin: 0 auto;
152
157
  }
153
158
 
154
-
155
-
156
-
157
159
  .memori-chat-layout .memori-chat--content {
158
160
  padding: 0;
159
161
  }
@@ -181,6 +183,10 @@
181
183
  .memori-chat-layout--controls .memori-chat--wrapper {
182
184
  padding: 0;
183
185
  }
186
+
187
+ .memori--powered-by {
188
+ display: none;
189
+ }
184
190
  }
185
191
 
186
192
  @media (max-width: 480px) {
@@ -226,8 +232,13 @@
226
232
  }
227
233
 
228
234
  @keyframes background-shimmer {
229
- 0%, 100% { background-position: 200% 200%; }
230
- 50% { background-position: -200% -200%; }
235
+ 0%,
236
+ 100% {
237
+ background-position: 200% 200%;
238
+ }
239
+ 50% {
240
+ background-position: -200% -200%;
241
+ }
231
242
  }
232
243
 
233
244
  /* Enhanced micro-interactions */
@@ -269,8 +280,12 @@
269
280
  }
270
281
 
271
282
  @keyframes loading-shimmer {
272
- 0% { left: -100%; }
273
- 100% { left: 100%; }
283
+ 0% {
284
+ left: -100%;
285
+ }
286
+ 100% {
287
+ left: 100%;
288
+ }
274
289
  }
275
290
 
276
291
  /* Success animations */
@@ -279,9 +294,15 @@
279
294
  }
280
295
 
281
296
  @keyframes success-pulse {
282
- 0% { transform: scale(1); }
283
- 50% { transform: scale(1.02); }
284
- 100% { transform: scale(1); }
297
+ 0% {
298
+ transform: scale(1);
299
+ }
300
+ 50% {
301
+ transform: scale(1.02);
302
+ }
303
+ 100% {
304
+ transform: scale(1);
305
+ }
285
306
  }
286
307
 
287
308
  /* Error states */
@@ -290,9 +311,16 @@
290
311
  }
291
312
 
292
313
  @keyframes error-shake {
293
- 0%, 100% { transform: translateX(0); }
294
- 25% { transform: translateX(-4px); }
295
- 75% { transform: translateX(4px); }
314
+ 0%,
315
+ 100% {
316
+ transform: translateX(0);
317
+ }
318
+ 25% {
319
+ transform: translateX(-4px);
320
+ }
321
+ 75% {
322
+ transform: translateX(4px);
323
+ }
296
324
  }
297
325
 
298
326
  /* Focus states for accessibility */
@@ -306,11 +334,11 @@
306
334
  .memori-chat-layout--main {
307
335
  border: 2px solid #333;
308
336
  }
309
-
337
+
310
338
  .memori-chat-layout--controls {
311
339
  border: 2px solid #333;
312
340
  }
313
-
341
+
314
342
  .memori-chat-layout--artifact-panel {
315
343
  border: 2px solid #333;
316
344
  }
@@ -325,40 +353,39 @@
325
353
  animation: none;
326
354
  transition: none;
327
355
  }
328
-
356
+
329
357
  .memori-chat-layout--main:hover {
330
358
  transform: none;
331
359
  }
332
-
360
+
333
361
  .memori-chat-layout--controls:hover {
334
362
  transform: none;
335
363
  }
336
-
364
+
337
365
  .memori-chat-layout--artifact-panel:hover {
338
366
  transform: none;
339
367
  }
340
-
368
+
341
369
  .memori-chat-layout--artifact-panel-enter {
342
370
  animation: none;
343
371
  opacity: 1;
344
372
  transform: translateX(0) scale(1);
345
373
  }
346
-
374
+
347
375
  .memori-chat-layout--artifact-drawer {
348
376
  transition: none;
349
377
  }
350
-
378
+
351
379
  .memori-chat-layout--artifact-drawer .memori-artifact-drawer {
352
380
  animation: none;
353
381
  transition: none;
354
382
  }
355
-
356
- .memori-chat-layout--artifact-drawer[data-headlessui-state~="open"] .memori-artifact-drawer {
383
+
384
+ .memori-chat-layout--artifact-drawer[data-headlessui-state~='open'] .memori-artifact-drawer {
357
385
  transform: translateX(0);
358
386
  }
359
387
  }
360
388
 
361
-
362
389
  .memori-chat-layout--artifact-drawer {
363
390
  position: fixed;
364
391
  z-index: 1000;
@@ -380,13 +407,12 @@
380
407
 
381
408
  /* Mobile drawer animations */
382
409
 
383
-
384
- .memori-chat-layout--artifact-drawer[data-headlessui-state~="open"] {
410
+ .memori-chat-layout--artifact-drawer[data-headlessui-state~='open'] {
385
411
  opacity: 1;
386
412
  visibility: visible;
387
413
  }
388
414
 
389
- .memori-chat-layout--artifact-drawer[data-headlessui-state~="open"] .memori-artifact-drawer {
415
+ .memori-chat-layout--artifact-drawer[data-headlessui-state~='open'] .memori-artifact-drawer {
390
416
  transform: translateX(0);
391
417
  }
392
418
 
@@ -413,7 +439,8 @@
413
439
  }
414
440
 
415
441
  /* Adjust chat layout when drawer is open */
416
- .memori-chat-layout:has(.memori-chat-layout--artifact-drawer .memori-artifact-drawer[data-headlessui-state~="open"]) .memori-chat-layout--controls {
442
+ .memori-chat-layout:has(.memori-chat-layout--artifact-drawer .memori-artifact-drawer[data-headlessui-state~='open'])
443
+ .memori-chat-layout--controls {
417
444
  margin-right: 50%;
418
445
  filter: blur(1px);
419
446
  opacity: 0.8;
@@ -421,49 +448,9 @@
421
448
  transition: all 0.05s ease-in-out;
422
449
  }
423
450
 
424
- .memori-chat-layout:has(.memori-chat-layout--artifact-drawer .memori-artifact-drawer[data-headlessui-state~="open"]) .memori-chat-layout--main {
451
+ .memori-chat-layout:has(.memori-chat-layout--artifact-drawer .memori-artifact-drawer[data-headlessui-state~='open'])
452
+ .memori-chat-layout--main {
425
453
  backdrop-filter: blur(5px);
426
454
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(248, 250, 252, 0.02) 100%);
427
455
  transition: all 0.05s ease-in-out;
428
456
  }
429
-
430
- /* Mobile adjustments */
431
- @media (max-width: 1024px) {
432
- .memori-chat-layout--main {
433
- flex-direction: column !important;
434
- padding: 0.5rem !important;
435
- backdrop-filter: blur(10px) !important;
436
- background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(248, 250, 252, 0.02) 100%) !important;
437
- gap: 0.5rem !important;
438
- }
439
-
440
- .memori-chat-layout--artifact-panel {
441
- display: none !important;
442
- }
443
-
444
- .memori-chat-layout--controls {
445
- max-height: calc(100% - 50px) !important;
446
- flex: 1 !important;
447
- border: 1px solid rgba(255, 255, 255, 0.3) !important;
448
- margin: 0 !important;
449
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
450
- }
451
-
452
- /* Remove all drawer animations and effects on mobile */
453
- .memori-chat-layout:has(.memori-chat-layout--artifact-drawer .memori-artifact-drawer[data-headlessui-state~="open"]) .memori-chat-layout--controls {
454
- margin-right: 0;
455
- filter: none;
456
- opacity: 1;
457
- transform: none;
458
- }
459
-
460
- .memori-chat-layout:has(.memori-chat-layout--artifact-drawer .memori-artifact-drawer[data-headlessui-state~="open"]) .memori-chat-layout--main {
461
- backdrop-filter: none;
462
- background: none;
463
- }
464
-
465
- .memori-chat-layout--artifact-drawer {
466
- backdrop-filter: none !important;
467
- background: none !important;
468
- }
469
- }
@@ -24,6 +24,7 @@ export interface Props {
24
24
  confirmDialogTitle?: string;
25
25
  confirmDialogMessage?: string;
26
26
  showBackdrop?: boolean;
27
+ preventBackdropClose?: boolean;
27
28
  }
28
29
  declare const Drawer: FC<Props>;
29
30
  export default Drawer;
@@ -10,7 +10,7 @@ const Close_1 = tslib_1.__importDefault(require("../icons/Close"));
10
10
  const classnames_1 = tslib_1.__importDefault(require("classnames"));
11
11
  const react_i18next_1 = require("react-i18next");
12
12
  const ConfirmDialog_1 = tslib_1.__importDefault(require("./ConfirmDialog"));
13
- const Drawer = ({ title, open = false, data, onClose = () => { }, children, width = '80%', footer, showBackdrop = true, extra, className, placement = 'right', description, loading = false, animated = true, closable = true, widthMd = '80%', widthLg = '60%', confirmDialogTitle, confirmDialogMessage, }) => {
13
+ const Drawer = ({ title, open = false, data, onClose = () => { }, children, width = '80%', footer, showBackdrop = true, extra, className, placement = 'right', description, loading = false, animated = true, closable = true, widthMd = '80%', widthLg = '60%', confirmDialogTitle, confirmDialogMessage, preventBackdropClose = false, }) => {
14
14
  const [originalData, setOriginalData] = (0, react_1.useState)(null);
15
15
  const [confirmDialogOpen, setConfirmDialogOpen] = (0, react_1.useState)(false);
16
16
  const { t } = (0, react_i18next_1.useTranslation)();
@@ -40,7 +40,7 @@ const Drawer = ({ title, open = false, data, onClose = () => { }, children, widt
40
40
  setConfirmDialogOpen(false);
41
41
  onClose();
42
42
  }, [onClose]);
43
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ConfirmDialog_1.default, { isOpen: confirmDialogOpen, onClose: () => setConfirmDialogOpen(false), onConfirm: handleConfirmUnsavedChanges, title: confirmDialogTitle || t('confirmDialog.title'), message: confirmDialogMessage || t('confirmDialog.message'), confirmText: t('confirm') || 'Confirm', cancelText: t('cancel') || 'Cancel' }), (0, jsx_runtime_1.jsx)(react_2.Transition, { appear: true, show: open, as: react_1.default.Fragment, children: (0, jsx_runtime_1.jsxs)(react_2.Dialog, { open: open, onClose: handleClose, className: (0, classnames_1.default)('memori-drawer', className), children: [showBackdrop && ((0, jsx_runtime_1.jsx)(react_2.Transition.Child, { as: react_1.default.Fragment, enter: "ease-out duration-300", enterFrom: "opacity-0", enterTo: "opacity-100", leave: "ease-in duration-200", leaveFrom: "opacity-100", leaveTo: "opacity-0", children: (0, jsx_runtime_1.jsx)("div", { className: "memori-drawer--backdrop" }) })), (0, jsx_runtime_1.jsx)("div", { className: "memori-drawer--container", children: (0, jsx_runtime_1.jsx)("div", { className: "memori-drawer--container-scrollable", children: (0, jsx_runtime_1.jsx)(react_2.Transition.Child, { static: true, as: react_1.default.Fragment, enter: "ease-out duration-300", enterFrom: animated ? 'max-w-0 opacity-0' : 'opacity-0', enterTo: "max-w-80 opacity-100", leave: "ease-in duration-200", leaveFrom: "max-w-80 opacity-100", leaveTo: animated ? 'max-w-0 opacity-0' : 'opacity-0', children: (0, jsx_runtime_1.jsxs)(react_2.Dialog.Panel, { className: (0, classnames_1.default)('memori-drawer--panel', {
43
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ConfirmDialog_1.default, { isOpen: confirmDialogOpen, onClose: () => setConfirmDialogOpen(false), onConfirm: handleConfirmUnsavedChanges, title: confirmDialogTitle || t('confirmDialog.title'), message: confirmDialogMessage || t('confirmDialog.message'), confirmText: t('confirm') || 'Confirm', cancelText: t('cancel') || 'Cancel' }), (0, jsx_runtime_1.jsx)(react_2.Transition, { appear: true, show: open, as: react_1.default.Fragment, children: (0, jsx_runtime_1.jsxs)(react_2.Dialog, { open: open, onClose: preventBackdropClose ? () => { } : handleClose, className: (0, classnames_1.default)('memori-drawer', className), children: [showBackdrop && ((0, jsx_runtime_1.jsx)(react_2.Transition.Child, { as: react_1.default.Fragment, enter: "ease-out duration-300", enterFrom: "opacity-0", enterTo: "opacity-100", leave: "ease-in duration-200", leaveFrom: "opacity-100", leaveTo: "opacity-0", children: (0, jsx_runtime_1.jsx)("div", { className: "memori-drawer--backdrop" }) })), (0, jsx_runtime_1.jsx)("div", { className: "memori-drawer--container", children: (0, jsx_runtime_1.jsx)("div", { className: "memori-drawer--container-scrollable", children: (0, jsx_runtime_1.jsx)(react_2.Transition.Child, { static: true, as: react_1.default.Fragment, enter: "ease-out duration-300", enterFrom: animated ? 'max-w-0 opacity-0' : 'opacity-0', enterTo: "max-w-80 opacity-100", leave: "ease-in duration-200", leaveFrom: "max-w-80 opacity-100", leaveTo: animated ? 'max-w-0 opacity-0' : 'opacity-0', children: (0, jsx_runtime_1.jsxs)(react_2.Dialog.Panel, { className: (0, classnames_1.default)('memori-drawer--panel', {
44
44
  'memori-drawer--panel-left': placement === 'left',
45
45
  'memori-drawer--with-footer': !!footer,
46
46
  }), style: {
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.js","sourceRoot":"","sources":["../../../src/components/ui/Drawer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Drawer.js","sourceRoot":"","sources":["../../../src/components/ui/Drawer.tsx"],"names":[],"mappings":"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"}
@@ -188,7 +188,43 @@
188
188
  "generatedAt": "Generiert am",
189
189
  "open": "Öffnen",
190
190
  "code": "Code",
191
- "preview": "Vorschau"
191
+ "preview": "Vorschau",
192
+ "copied": "Kopiert!",
193
+ "error": "Fehler",
194
+ "generatingPdf": "PDF wird generiert...",
195
+ "copying": "Kopiere...",
196
+ "moreCopyOptions": "Weitere Kopieroptionen",
197
+ "copyAs": "Kopieren als",
198
+ "downloadAsMarkdown": "Als Markdown herunterladen",
199
+ "downloadRawMarkdownText": "Rohmarkdown-Text herunterladen",
200
+ "downloadAsPdf": "Als PDF herunterladen",
201
+ "exportAsPdfDocument": "Als PDF-Dokument exportieren",
202
+ "downloadAsHtml": "Als HTML herunterladen",
203
+ "downloadFormattedHtml": "Formatiertes HTML herunterladen",
204
+ "viewMode": "Ansichtsmodus",
205
+ "codeMode": "Code-Modus",
206
+ "refresh": "Aktualisieren",
207
+ "share": "Teilen",
208
+ "downloadAsJson": "Als JSON herunterladen",
209
+ "downloadJsonData": "JSON-Daten herunterladen",
210
+ "downloadAsPng": "Als PNG herunterladen",
211
+ "downloadPngImage": "PNG-Bild herunterladen",
212
+ "downloadAsJpeg": "Als JPEG herunterladen",
213
+ "downloadJpegImage": "JPEG-Bild herunterladen",
214
+ "downloadAsGif": "Als GIF herunterladen",
215
+ "downloadGifImage": "GIF-Bild herunterladen",
216
+ "downloadAsWebp": "Als WebP herunterladen",
217
+ "downloadWebpImage": "WebP-Bild herunterladen",
218
+ "copyAsSvg": "Als SVG kopieren",
219
+ "copySvgSourceCode": "SVG-Quellcode kopieren",
220
+ "copyAsPlainText": "Als Klartext kopieren",
221
+ "copyAsText": "Als Text kopieren",
222
+ "copyAsLanguage": "Als {{language}} kopieren",
223
+ "copyLanguageCode": "{{language}}-Code kopieren",
224
+ "copyWithoutSyntaxHighlighting": "Ohne Syntaxhervorhebung kopieren",
225
+ "copyTextContent": "Textinhalt kopieren",
226
+ "pdfExportNotSupported": "PDF-Export wird in diesem Browser nicht unterstützt",
227
+ "popupBlocked": "Popup blockiert! Bitte aktivieren Sie Popups zum Drucken."
192
228
  },
193
229
  "upload": {
194
230
  "loginRequired": "Login erforderlich",
@@ -199,7 +199,43 @@
199
199
  "copy": "Copy",
200
200
  "open": "Open",
201
201
  "code": "Code",
202
- "preview": "Preview"
202
+ "preview": "Preview",
203
+ "copied": "Copied!",
204
+ "error": "Error",
205
+ "generatingPdf": "Generating PDF...",
206
+ "copying": "Copying...",
207
+ "moreCopyOptions": "More copy options",
208
+ "copyAs": "Copy as",
209
+ "downloadAsMarkdown": "Download as Markdown",
210
+ "downloadRawMarkdownText": "Download raw markdown text",
211
+ "downloadAsPdf": "Download as PDF",
212
+ "exportAsPdfDocument": "Export as PDF document",
213
+ "downloadAsHtml": "Download as HTML",
214
+ "downloadFormattedHtml": "Download formatted HTML",
215
+ "viewMode": "View Mode",
216
+ "codeMode": "Code Mode",
217
+ "refresh": "Refresh",
218
+ "share": "Share",
219
+ "downloadAsJson": "Download as JSON",
220
+ "downloadJsonData": "Download JSON data",
221
+ "downloadAsPng": "Download as PNG",
222
+ "downloadPngImage": "Download PNG image",
223
+ "downloadAsJpeg": "Download as JPEG",
224
+ "downloadJpegImage": "Download JPEG image",
225
+ "downloadAsGif": "Download as GIF",
226
+ "downloadGifImage": "Download GIF image",
227
+ "downloadAsWebp": "Download as WebP",
228
+ "downloadWebpImage": "Download WebP image",
229
+ "copyAsSvg": "Copy as SVG",
230
+ "copySvgSourceCode": "Copy SVG source code",
231
+ "copyAsPlainText": "Copy as Plain Text",
232
+ "copyAsText": "Copy as text",
233
+ "copyAsLanguage": "Copy as {{language}}",
234
+ "copyLanguageCode": "Copy {{language}} code",
235
+ "copyWithoutSyntaxHighlighting": "Copy without syntax highlighting",
236
+ "copyTextContent": "Copy text content",
237
+ "pdfExportNotSupported": "PDF export is not supported in this browser",
238
+ "popupBlocked": "Popup blocked! Please enable popups to print."
203
239
  },
204
240
  "upload": {
205
241
  "loginRequired": "Login required",
@@ -188,7 +188,43 @@
188
188
  "generatedAt": "Generado el",
189
189
  "open": "Abrir",
190
190
  "code": "Código",
191
- "preview": "Vista previa"
191
+ "preview": "Vista previa",
192
+ "copied": "¡Copiado!",
193
+ "error": "Error",
194
+ "generatingPdf": "Generando PDF...",
195
+ "copying": "Copiando...",
196
+ "moreCopyOptions": "Más opciones de copia",
197
+ "copyAs": "Copiar como",
198
+ "downloadAsMarkdown": "Descargar como Markdown",
199
+ "downloadRawMarkdownText": "Descargar texto markdown sin formato",
200
+ "downloadAsPdf": "Descargar como PDF",
201
+ "exportAsPdfDocument": "Exportar como documento PDF",
202
+ "downloadAsHtml": "Descargar como HTML",
203
+ "downloadFormattedHtml": "Descargar HTML formateado",
204
+ "viewMode": "Modo Vista",
205
+ "codeMode": "Modo Código",
206
+ "refresh": "Actualizar",
207
+ "share": "Compartir",
208
+ "downloadAsJson": "Descargar como JSON",
209
+ "downloadJsonData": "Descargar datos JSON",
210
+ "downloadAsPng": "Descargar como PNG",
211
+ "downloadPngImage": "Descargar imagen PNG",
212
+ "downloadAsJpeg": "Descargar como JPEG",
213
+ "downloadJpegImage": "Descargar imagen JPEG",
214
+ "downloadAsGif": "Descargar como GIF",
215
+ "downloadGifImage": "Descargar imagen GIF",
216
+ "downloadAsWebp": "Descargar como WebP",
217
+ "downloadWebpImage": "Descargar imagen WebP",
218
+ "copyAsSvg": "Copiar como SVG",
219
+ "copySvgSourceCode": "Copiar código fuente SVG",
220
+ "copyAsPlainText": "Copiar como texto plano",
221
+ "copyAsText": "Copiar como texto",
222
+ "copyAsLanguage": "Copiar como {{language}}",
223
+ "copyLanguageCode": "Copiar código {{language}}",
224
+ "copyWithoutSyntaxHighlighting": "Copiar sin resaltado de sintaxis",
225
+ "copyTextContent": "Copiar contenido de texto",
226
+ "pdfExportNotSupported": "La exportación PDF no es compatible con este navegador",
227
+ "popupBlocked": "¡Popup bloqueado! Por favor, habilita los popups para imprimir."
192
228
  },
193
229
  "upload": {
194
230
  "loginRequired": "Connexion requise",
@@ -197,7 +197,43 @@
197
197
  "generatedAt": "Généré le",
198
198
  "open": "Ouvrir",
199
199
  "code": "Code",
200
- "preview": "Aperçu"
200
+ "preview": "Aperçu",
201
+ "copied": "Copié !",
202
+ "error": "Erreur",
203
+ "generatingPdf": "Génération du PDF...",
204
+ "copying": "Copie en cours...",
205
+ "moreCopyOptions": "Plus d'options de copie",
206
+ "copyAs": "Copier en tant que",
207
+ "downloadAsMarkdown": "Télécharger en Markdown",
208
+ "downloadRawMarkdownText": "Télécharger le texte markdown brut",
209
+ "downloadAsPdf": "Télécharger en PDF",
210
+ "exportAsPdfDocument": "Exporter en document PDF",
211
+ "downloadAsHtml": "Télécharger en HTML",
212
+ "downloadFormattedHtml": "Télécharger le HTML formaté",
213
+ "viewMode": "Mode Affichage",
214
+ "codeMode": "Mode Code",
215
+ "refresh": "Actualiser",
216
+ "share": "Partager",
217
+ "downloadAsJson": "Télécharger en JSON",
218
+ "downloadJsonData": "Télécharger les données JSON",
219
+ "downloadAsPng": "Télécharger en PNG",
220
+ "downloadPngImage": "Télécharger l'image PNG",
221
+ "downloadAsJpeg": "Télécharger en JPEG",
222
+ "downloadJpegImage": "Télécharger l'image JPEG",
223
+ "downloadAsGif": "Télécharger en GIF",
224
+ "downloadGifImage": "Télécharger l'image GIF",
225
+ "downloadAsWebp": "Télécharger en WebP",
226
+ "downloadWebpImage": "Télécharger l'image WebP",
227
+ "copyAsSvg": "Copier en SVG",
228
+ "copySvgSourceCode": "Copier le code source SVG",
229
+ "copyAsPlainText": "Copier en texte brut",
230
+ "copyAsText": "Copier en texte",
231
+ "copyAsLanguage": "Copier en {{language}}",
232
+ "copyLanguageCode": "Copier le code {{language}}",
233
+ "copyWithoutSyntaxHighlighting": "Copier sans coloration syntaxique",
234
+ "copyTextContent": "Copier le contenu texte",
235
+ "pdfExportNotSupported": "L'exportation PDF n'est pas prise en charge dans ce navigateur",
236
+ "popupBlocked": "Popup bloqué ! Veuillez activer les popups pour imprimer."
201
237
  },
202
238
  "upload": {
203
239
  "loginRequired": "Connexion requise",
@@ -202,7 +202,43 @@
202
202
  "generatedAt": "Generato il",
203
203
  "open": "Apri",
204
204
  "code": "Codice",
205
- "preview": "Anteprima"
205
+ "preview": "Anteprima",
206
+ "copied": "Copiato!",
207
+ "error": "Errore",
208
+ "generatingPdf": "Generazione PDF...",
209
+ "copying": "Copia in corso...",
210
+ "moreCopyOptions": "Altre opzioni di copia",
211
+ "copyAs": "Copia come",
212
+ "downloadAsMarkdown": "Scarica come Markdown",
213
+ "downloadRawMarkdownText": "Scarica testo markdown grezzo",
214
+ "downloadAsPdf": "Scarica come PDF",
215
+ "exportAsPdfDocument": "Esporta come documento PDF",
216
+ "downloadAsHtml": "Scarica come HTML",
217
+ "downloadFormattedHtml": "Scarica HTML formattato",
218
+ "viewMode": "Modalità Visualizzazione",
219
+ "codeMode": "Modalità Codice",
220
+ "refresh": "Aggiorna",
221
+ "share": "Condividi",
222
+ "downloadAsJson": "Scarica come JSON",
223
+ "downloadJsonData": "Scarica dati JSON",
224
+ "downloadAsPng": "Scarica come PNG",
225
+ "downloadPngImage": "Scarica immagine PNG",
226
+ "downloadAsJpeg": "Scarica come JPEG",
227
+ "downloadJpegImage": "Scarica immagine JPEG",
228
+ "downloadAsGif": "Scarica come GIF",
229
+ "downloadGifImage": "Scarica immagine GIF",
230
+ "downloadAsWebp": "Scarica come WebP",
231
+ "downloadWebpImage": "Scarica immagine WebP",
232
+ "copyAsSvg": "Copia come SVG",
233
+ "copySvgSourceCode": "Copia codice sorgente SVG",
234
+ "copyAsPlainText": "Copia come testo normale",
235
+ "copyAsText": "Copia come testo",
236
+ "copyAsLanguage": "Copia come {{language}}",
237
+ "copyLanguageCode": "Copia codice {{language}}",
238
+ "copyWithoutSyntaxHighlighting": "Copia senza evidenziazione sintassi",
239
+ "copyTextContent": "Copia contenuto testo",
240
+ "pdfExportNotSupported": "L'esportazione PDF non è supportata in questo browser",
241
+ "popupBlocked": "Popup bloccato! Abilita i popup per stampare."
206
242
  },
207
243
  "media": {
208
244
  "title": "Titolo",
@@ -91,10 +91,6 @@
91
91
  display: none;
92
92
  }
93
93
 
94
- .memori-artifact-action-text {
95
- display: none;
96
- }
97
-
98
94
  .memori-artifact-action-btn {
99
95
  min-width: 2.5rem;
100
96
  justify-content: center;
@@ -7,5 +7,6 @@ declare const ArtifactActions: React.FC<{
7
7
  onPrint: () => void;
8
8
  onOpenExternal: () => void;
9
9
  loading: boolean;
10
+ isMobile?: boolean;
10
11
  }>;
11
12
  export default ArtifactActions;
@@ -7,8 +7,8 @@ import Link from '../../../icons/Link';
7
7
  import PrintIcon from '../../../icons/Print';
8
8
  import { CopyButtonWithDropdown } from './';
9
9
  import { Menu, Transition } from '@headlessui/react';
10
- import MenuHorizontal from '../../../icons/MenuHorizontal';
11
- const ArtifactActions = ({ artifact, onCopy, onDownload, onPrint, onOpenExternal, loading = false, }) => {
10
+ import MenuVertical from '../../../icons/MenuVertical';
11
+ const ArtifactActions = ({ artifact, onCopy, onDownload, onPrint, onOpenExternal, loading = false, isMobile = false, }) => {
12
12
  const { t } = useTranslation();
13
13
  const getFileExtension = useCallback((mimeType) => {
14
14
  const extensions = {
@@ -124,7 +124,7 @@ const ArtifactActions = ({ artifact, onCopy, onDownload, onPrint, onOpenExternal
124
124
  console.error('External open failed:', error);
125
125
  }
126
126
  }, [artifact, getMimeTypeString, onOpenExternal]);
127
- return (_jsx("div", { className: "memori-artifact-actions", children: _jsxs("div", { className: "memori-artifact-actions-row", children: [_jsx(CopyButtonWithDropdown, { artifact: artifact, onCopy: onCopy, onDownload: onDownload, onPrint: onPrint, loading: loading, className: "memori-artifact-action-btn" }), _jsxs(Menu, { as: "div", className: "memori-copy-menu-wrapper", children: [_jsx(Menu.Button, { as: "div", className: "memori-copy-button-trigger", children: _jsx(Button, { disabled: loading, className: cx('memori-button', 'memori-button--circle', 'memori-button--icon-only'), ghost: true, title: "More copy options", children: _jsx(MenuHorizontal, { className: "memori-artifact-action-icon" }) }) }), _jsx(Transition, { as: React.Fragment, enter: "memori-copy-dropdown-enter", enterFrom: "memori-copy-dropdown-enter-from", enterTo: "memori-copy-dropdown-enter-to", leave: "memori-copy-dropdown-leave", leaveFrom: "memori-copy-dropdown-leave-from", leaveTo: "memori-copy-dropdown-leave-to", children: _jsx(Menu.Items, { className: "memori-copy-dropdown", style: { minWidth: '200px' }, children: _jsxs("div", { className: "memori-copy-dropdown-list", children: [_jsx(Button, { onClick: handlePrint, disabled: loading, className: "memori-artifact-action-btn", ghost: true, icon: _jsx(PrintIcon, { className: "memori-artifact-action-icon" }), title: t('artifact.print') || 'Print', children: _jsx("span", { className: "memori-artifact-action-text", children: t('artifact.print') || 'Print' }) }), _jsx(Button, { onClick: handleOpenExternal, disabled: loading, className: "memori-artifact-action-btn", ghost: true, icon: _jsx(Link, { className: "memori-artifact-action-icon" }), title: t('artifact.external') || 'External', children: _jsx("span", { className: "memori-artifact-action-text", children: t('artifact.external') || 'External' }) })] }) }) })] })] }) }));
127
+ return (_jsx("div", { className: "memori-artifact-actions", children: _jsxs("div", { className: "memori-artifact-actions-row", children: [_jsx(CopyButtonWithDropdown, { artifact: artifact, onCopy: onCopy, onDownload: onDownload, onPrint: onPrint, loading: loading, className: "memori-artifact-action-btn" }), isMobile && _jsxs(Menu, { as: "div", className: "memori-copy-menu-wrapper", children: [_jsx(Menu.Button, { as: "div", className: "memori-copy-button-trigger", children: _jsx(Button, { disabled: loading, className: cx('memori-button', 'memori-button--more-options', 'memori-button--icon-only'), ghost: true, title: "More copy options", children: _jsx(MenuVertical, { className: "memori-artifact-action-icon" }) }) }), _jsx(Transition, { as: React.Fragment, enter: "memori-copy-dropdown-enter", enterFrom: "memori-copy-dropdown-enter-from", enterTo: "memori-copy-dropdown-enter-to", leave: "memori-copy-dropdown-leave", leaveFrom: "memori-copy-dropdown-leave-from", leaveTo: "memori-copy-dropdown-leave-to", children: _jsx(Menu.Items, { className: "memori-copy-dropdown", style: { minWidth: '200px' }, children: _jsxs("div", { className: "memori-copy-dropdown-list", children: [_jsx(Button, { onClick: handlePrint, disabled: loading, className: "memori-artifact-action-btn", ghost: true, icon: _jsx(PrintIcon, { className: "memori-artifact-action-icon" }), title: t('artifact.print') || 'Print', children: _jsx("span", { className: "memori-artifact-action-text", children: t('artifact.print') || 'Print' }) }), _jsx(Button, { onClick: handleOpenExternal, disabled: loading, className: "memori-artifact-action-btn", ghost: true, icon: _jsx(Link, { className: "memori-artifact-action-icon" }), title: t('artifact.external') || 'External', children: _jsx("span", { className: "memori-artifact-action-text", children: t('artifact.external') || 'External' }) })] }) }) })] })] }) }));
128
128
  };
129
129
  export default ArtifactActions;
130
130
  //# sourceMappingURL=ArtifactActions.js.map