@memori.ai/memori-react 8.4.1 → 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 (143) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/components/LoginDrawer/LoginDrawer.d.ts +1 -2
  3. package/dist/components/LoginDrawer/LoginDrawer.js +2 -105
  4. package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
  5. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +0 -4
  6. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.d.ts +1 -0
  7. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +3 -3
  8. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  9. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +110 -8
  10. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  11. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -0
  12. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
  13. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js +42 -38
  14. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js.map +1 -1
  15. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +1 -2
  16. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/types.d.ts +2 -1
  17. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +428 -15
  18. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.d.ts +1 -0
  19. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +47 -8
  20. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  21. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +150 -0
  22. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.d.ts +9 -0
  23. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +35 -0
  24. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -0
  25. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +2 -0
  26. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -1
  27. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.d.ts +2 -1
  28. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +15 -26
  29. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  30. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js +1 -5
  31. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  32. package/dist/components/MemoriWidget/MemoriWidget.js +1 -1
  33. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  34. package/dist/components/icons/Close.d.ts +2 -1
  35. package/dist/components/icons/Close.js +1 -1
  36. package/dist/components/icons/Close.js.map +1 -1
  37. package/dist/components/icons/MenuVertical.d.ts +7 -0
  38. package/dist/components/icons/MenuVertical.js +6 -0
  39. package/dist/components/icons/MenuVertical.js.map +1 -0
  40. package/dist/components/layouts/Chat.js +1 -1
  41. package/dist/components/layouts/Chat.js.map +1 -1
  42. package/dist/components/layouts/FullPage.js +1 -1
  43. package/dist/components/layouts/FullPage.js.map +1 -1
  44. package/dist/components/layouts/ZoomedFullBody.js +1 -1
  45. package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
  46. package/dist/components/layouts/chat.css +73 -85
  47. package/dist/components/ui/Drawer.d.ts +1 -0
  48. package/dist/components/ui/Drawer.js +2 -2
  49. package/dist/components/ui/Drawer.js.map +1 -1
  50. package/dist/locales/de.json +37 -1
  51. package/dist/locales/en.json +37 -1
  52. package/dist/locales/es.json +37 -1
  53. package/dist/locales/fr.json +37 -1
  54. package/dist/locales/it.json +37 -1
  55. package/esm/components/LoginDrawer/LoginDrawer.d.ts +1 -2
  56. package/esm/components/LoginDrawer/LoginDrawer.js +3 -106
  57. package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
  58. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +0 -4
  59. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.d.ts +1 -0
  60. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +3 -3
  61. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  62. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +110 -8
  63. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  64. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -0
  65. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
  66. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js +42 -38
  67. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js.map +1 -1
  68. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +1 -2
  69. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/types.d.ts +2 -1
  70. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +428 -15
  71. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.d.ts +1 -0
  72. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +48 -9
  73. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  74. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +150 -0
  75. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.d.ts +9 -0
  76. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +32 -0
  77. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -0
  78. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +2 -0
  79. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -1
  80. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.d.ts +2 -1
  81. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +16 -27
  82. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  83. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js +1 -5
  84. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  85. package/esm/components/MemoriWidget/MemoriWidget.js +1 -1
  86. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  87. package/esm/components/icons/Close.d.ts +2 -1
  88. package/esm/components/icons/Close.js +1 -1
  89. package/esm/components/icons/Close.js.map +1 -1
  90. package/esm/components/icons/MenuVertical.d.ts +7 -0
  91. package/esm/components/icons/MenuVertical.js +4 -0
  92. package/esm/components/icons/MenuVertical.js.map +1 -0
  93. package/esm/components/layouts/Chat.js +1 -1
  94. package/esm/components/layouts/Chat.js.map +1 -1
  95. package/esm/components/layouts/FullPage.js +1 -1
  96. package/esm/components/layouts/FullPage.js.map +1 -1
  97. package/esm/components/layouts/ZoomedFullBody.js +1 -1
  98. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  99. package/esm/components/layouts/chat.css +73 -85
  100. package/esm/components/ui/Drawer.d.ts +1 -0
  101. package/esm/components/ui/Drawer.js +2 -2
  102. package/esm/components/ui/Drawer.js.map +1 -1
  103. package/esm/locales/de.json +37 -1
  104. package/esm/locales/en.json +37 -1
  105. package/esm/locales/es.json +37 -1
  106. package/esm/locales/fr.json +37 -1
  107. package/esm/locales/it.json +37 -1
  108. package/package.json +1 -1
  109. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +9 -0
  110. package/src/components/LoginDrawer/LoginDrawer.tsx +46 -221
  111. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +0 -4
  112. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +7 -5
  113. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +148 -12
  114. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +3 -0
  115. package/src/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.ts +54 -47
  116. package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +1 -2
  117. package/src/components/MemoriArtifactSystem/components/ArtifactActions/types.ts +2 -1
  118. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +428 -15
  119. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +240 -42
  120. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +150 -0
  121. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.tsx +79 -0
  122. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +2 -0
  123. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -1
  124. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +2 -41
  125. package/src/components/MemoriArtifactSystem/context/ArtifactContext.tsx +1 -5
  126. package/src/components/MemoriWidget/MemoriWidget.tsx +0 -1
  127. package/src/components/icons/Close.tsx +8 -1
  128. package/src/components/icons/MenuVertical.tsx +29 -0
  129. package/src/components/layouts/Chat.tsx +3 -1
  130. package/src/components/layouts/FullPage.tsx +7 -2
  131. package/src/components/layouts/ZoomedFullBody.tsx +8 -3
  132. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +1 -1
  133. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +112 -104
  134. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +3 -0
  135. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +56 -52
  136. package/src/components/layouts/chat.css +73 -85
  137. package/src/components/ui/Drawer.tsx +3 -1
  138. package/src/components/ui/__snapshots__/Alert.test.tsx.snap +3 -0
  139. package/src/locales/de.json +37 -1
  140. package/src/locales/en.json +37 -1
  141. package/src/locales/es.json +37 -1
  142. package/src/locales/fr.json +37 -1
  143. package/src/locales/it.json +38 -1
@@ -20,6 +20,8 @@
20
20
  /* Override drawer width for ArtifactDrawer */
21
21
  .memori-artifact-panel-drawer {
22
22
  --memori-drawer--width-lg: 46%;
23
+ /* Ensure drawer doesn't block left side chat interaction */
24
+ pointer-events: none;
23
25
  }
24
26
 
25
27
  /* Main Drawer Container (Mobile Only) */
@@ -31,6 +33,7 @@
31
33
 
32
34
  .memori-artifact-panel-drawer > div > div > div {
33
35
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
36
+ pointer-events: auto;
34
37
  }
35
38
  /* Web Split Panel Container */
36
39
  .memori-artifact-panel {
@@ -154,7 +157,7 @@
154
157
  .memori-artifact-panel--close-icon {
155
158
  width: 18px;
156
159
  height: 18px;
157
- fill: #000 !important;
160
+ color: #000 !important;
158
161
  }
159
162
 
160
163
  /* Web Split Panel Content */
@@ -346,19 +349,263 @@
346
349
  margin-right: 0.5rem;
347
350
  }
348
351
 
349
- .memori-artifact-drawer--close {
350
- position: absolute;
351
- z-index: 10;
352
- top: 1.5rem;
353
- right: 1.5rem;
354
- margin-left: 0.5rem;
355
- }
356
352
 
357
353
  .memori-artifact-drawer-fullscreen {
358
354
  display: flex;
359
355
  margin-left: 0.5rem;
360
356
  }
361
357
 
358
+ /* New Header Actions Layout */
359
+ .memori-artifact-drawer-header-actions {
360
+ display: flex;
361
+ align-items: center;
362
+ justify-content: space-between;
363
+ padding: 1rem 1.5rem;
364
+ border-bottom: 1px solid var(--artifact-drawer-border);
365
+ background: var(--artifact-drawer-bg);
366
+ gap: 1rem;
367
+ }
368
+
369
+ /* View Mode Toggle */
370
+ .memori-artifact-view-toggle {
371
+ display: flex;
372
+ overflow: hidden;
373
+ align-items: center;
374
+ border: 1px solid var(--artifact-drawer-border);
375
+ border-radius: 8px;
376
+ background: var(--artifact-drawer-bg);
377
+ }
378
+
379
+ .memori-artifact-toggle-button {
380
+ display: flex;
381
+ min-width: 40px;
382
+ height: 36px;
383
+ align-items: center;
384
+ justify-content: center;
385
+ padding: 8px 12px;
386
+ border: none;
387
+ background: transparent;
388
+ color: var(--artifact-drawer-text-muted);
389
+ cursor: pointer;
390
+ transition: all 0.2s ease;
391
+ }
392
+
393
+ .memori-artifact-toggle-button:hover {
394
+ background: rgba(0, 123, 255, 0.1);
395
+ color: var(--artifact-drawer-accent);
396
+ }
397
+
398
+ .memori-artifact-toggle-button--active {
399
+ border: 1px solid var(--artifact-drawer-border);
400
+ background: var(--artifact-drawer-bg);
401
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
402
+ color: var(--artifact-drawer-text);
403
+ }
404
+
405
+ .memori-artifact-toggle-icon {
406
+ width: 16px;
407
+ height: 16px;
408
+ fill: currentColor;
409
+ }
410
+
411
+ /* Refresh Button */
412
+ .memori-artifact-refresh-button {
413
+ display: flex;
414
+ width: 36px;
415
+ height: 36px;
416
+ align-items: center;
417
+ justify-content: center;
418
+ border: 1px solid var(--artifact-drawer-border);
419
+ border-radius: 6px;
420
+ background: var(--artifact-drawer-bg);
421
+ color: var(--artifact-drawer-text-muted);
422
+ transition: all 0.2s ease;
423
+ }
424
+
425
+ .memori-artifact-refresh-button:hover {
426
+ border-color: var(--artifact-drawer-accent);
427
+ background: rgba(0, 123, 255, 0.05);
428
+ color: var(--artifact-drawer-accent);
429
+ }
430
+
431
+ /* Copy Group */
432
+ .memori-artifact-copy-group {
433
+ display: flex;
434
+ overflow: hidden;
435
+ align-items: center;
436
+ border: 1px solid var(--artifact-drawer-border);
437
+ border-radius: 6px;
438
+ background: var(--artifact-drawer-bg);
439
+ }
440
+
441
+ .memori-artifact-copy-button {
442
+ display: flex;
443
+ align-items: center;
444
+ padding: 8px 16px;
445
+ border: none;
446
+ border-right: 1px solid var(--artifact-drawer-border);
447
+ background: transparent;
448
+ color: var(--artifact-drawer-text);
449
+ cursor: pointer;
450
+ font-size: 14px;
451
+ font-weight: 500;
452
+ transition: all 0.2s ease;
453
+ }
454
+
455
+ .memori-artifact-copy-button:hover {
456
+ background: rgba(0, 123, 255, 0.05);
457
+ color: var(--artifact-drawer-accent);
458
+ }
459
+
460
+ .memori-artifact-copy-button--success {
461
+ background: #f0fdf4;
462
+ color: #15803d;
463
+ }
464
+
465
+ .memori-artifact-copy-button--error {
466
+ background: #fef2f2;
467
+ color: #dc2626;
468
+ }
469
+
470
+ .memori-artifact-copy-button--loading {
471
+ cursor: wait;
472
+ }
473
+
474
+ .memori-artifact-copy-text {
475
+ font-size: 14px;
476
+ font-weight: 500;
477
+ }
478
+
479
+ .memori-artifact-copy-dropdown-wrapper {
480
+ position: relative;
481
+ }
482
+
483
+ .memori-artifact-copy-dropdown-trigger {
484
+ display: flex;
485
+ }
486
+
487
+ .memori-artifact-copy-dropdown-button {
488
+ display: flex;
489
+ width: 36px;
490
+ height: 36px;
491
+ align-items: center;
492
+ justify-content: center;
493
+ padding: 8px 12px;
494
+ border: none;
495
+ background: transparent;
496
+ color: var(--artifact-drawer-text-muted);
497
+ cursor: pointer;
498
+ transition: all 0.2s ease;
499
+ }
500
+
501
+ .memori-artifact-copy-dropdown-button:hover {
502
+ background: rgba(0, 123, 255, 0.05);
503
+ color: var(--artifact-drawer-accent);
504
+ }
505
+
506
+ .memori-artifact-copy-chevron {
507
+ width: 12px;
508
+ height: 12px;
509
+ fill: currentColor;
510
+ }
511
+
512
+ .memori-artifact-copy-dropdown {
513
+ position: absolute;
514
+ z-index: 1000;
515
+ top: 100%;
516
+ right: 0;
517
+ min-width: 200px;
518
+ border: 1px solid var(--artifact-drawer-border);
519
+ border-radius: 6px;
520
+ margin-top: 4px;
521
+ background: var(--artifact-drawer-bg);
522
+ box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
523
+ }
524
+
525
+ .memori-artifact-copy-dropdown-list {
526
+ padding: 4px 0;
527
+ }
528
+
529
+ .memori-artifact-copy-dropdown-item {
530
+ display: flex;
531
+ width: 100%;
532
+ align-items: center;
533
+ padding: 8px 16px;
534
+ border: none;
535
+ background: transparent;
536
+ color: var(--artifact-drawer-text);
537
+ cursor: pointer;
538
+ font-size: 14px;
539
+ text-align: left;
540
+ transition: all 0.2s ease;
541
+ }
542
+
543
+ .memori-artifact-copy-dropdown-item:hover,
544
+ .memori-artifact-copy-dropdown-item--active {
545
+ background: rgba(0, 123, 255, 0.05);
546
+ color: var(--artifact-drawer-accent);
547
+ }
548
+
549
+ .memori-artifact-copy-dropdown-text {
550
+ margin-left: 8px;
551
+ font-size: 14px;
552
+ font-weight: 500;
553
+ }
554
+
555
+ /* Share Button */
556
+ .memori-artifact-share-button {
557
+ display: flex;
558
+ align-items: center;
559
+ padding: 8px 16px;
560
+ border: 1px solid var(--artifact-drawer-border);
561
+ border-radius: 6px;
562
+ background: var(--artifact-drawer-bg);
563
+ color: var(--artifact-drawer-text);
564
+ cursor: pointer;
565
+ font-size: 14px;
566
+ font-weight: 500;
567
+ gap: 8px;
568
+ transition: all 0.2s ease;
569
+ }
570
+
571
+ .memori-artifact-share-button:hover {
572
+ border-color: var(--artifact-drawer-accent);
573
+ background: var(--artifact-drawer-accent);
574
+ color: white;
575
+ }
576
+
577
+ .memori-artifact-share-text {
578
+ font-size: 14px;
579
+ font-weight: 500;
580
+ }
581
+
582
+ /* Close Button */
583
+ .memori-artifact-close-button {
584
+ display: flex;
585
+ width: 36px;
586
+ height: 36px;
587
+ align-items: center;
588
+ justify-content: center;
589
+ border: 1px solid var(--artifact-drawer-border);
590
+ border-radius: 6px;
591
+ background: var(--artifact-drawer-bg);
592
+ color: var(--artifact-drawer-text-muted);
593
+ cursor: pointer;
594
+ transition: all 0.2s ease;
595
+ }
596
+
597
+ .memori-artifact-close-button:hover {
598
+ border-color: #ef4444;
599
+ background: #fef2f2;
600
+ color: #ef4444;
601
+ }
602
+
603
+ /* Mobile Actions */
604
+ .memori-artifact-mobile-actions {
605
+ display: none;
606
+ }
607
+
608
+ /* Legacy container for backward compatibility */
362
609
  .memori-artifact-drawer-container-actions{
363
610
  display: flex;
364
611
  flex-flow: row;
@@ -409,6 +656,18 @@
409
656
  content: '';
410
657
  }
411
658
 
659
+ .memori-button--more-options{
660
+ padding: 8px 16px;
661
+ border: 1px solid #e1e5e9;
662
+ border-radius: 6px;
663
+ border-top-color: rgb(225, 229, 233);
664
+ border-right-color: rgb(225, 229, 233);
665
+ border-bottom-color: rgb(225, 229, 233);
666
+ border-left-color: rgb(225, 229, 233);
667
+ border-bottom-right-radius: 6px;
668
+ border-top-right-radius: 6px;
669
+ }
670
+
412
671
  .memori-artifact-drawer--sidebar {
413
672
  width: 300px;
414
673
  flex-shrink: 0;
@@ -439,6 +698,14 @@
439
698
  font-family: var(--memori-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
440
699
  }
441
700
 
701
+ .memori-artifact-drawer--close {
702
+ display: flex;
703
+ align-items: center;
704
+ justify-content: center;
705
+ border-radius: 6px;
706
+ /* background: var(--artifact-drawer-bg); */
707
+ margin-left: auto;
708
+ }
442
709
 
443
710
  @media (max-width: 1024px) {
444
711
  .memori-artifact-panel-drawer > div > div > div {
@@ -461,6 +728,19 @@
461
728
  display: none !important;
462
729
  }
463
730
 
731
+ /* Mobile header actions */
732
+ .memori-artifact-drawer-header-actions {
733
+ display: none;
734
+ }
735
+
736
+ .memori-artifact-mobile-actions {
737
+ position: absolute;
738
+ z-index: 1001;
739
+ top: 1rem;
740
+ right: 1rem;
741
+ display: block;
742
+ }
743
+
464
744
  /* Mobile drawer styles */
465
745
  .memori-artifact-drawer--panel-mobile {
466
746
  position: fixed !important;
@@ -518,13 +798,6 @@
518
798
  transform: none;
519
799
  }
520
800
 
521
- .memori-artifact-drawer--close {
522
- position: absolute !important;
523
- top: 1.5rem !important;
524
- right: 1.5rem !important;
525
- margin: 0 !important;
526
- }
527
-
528
801
  .memori-artifact-drawer--content {
529
802
  overflow: hidden;
530
803
  min-height: 0;
@@ -621,6 +894,146 @@
621
894
  background-color: rgba(0, 0, 0, 0.5) !important;
622
895
  }
623
896
 
897
+ /* Top Right Header Section */
898
+ .memori-artifact-drawer-top-right {
899
+ z-index: 1001;
900
+ display: flex;
901
+ align-items: center;
902
+ gap: 0.5rem;
903
+ }
904
+
905
+ /* Mobile Actions Dropdown */
906
+ .memori-mobile-actions-menu {
907
+ position: relative;
908
+ display: inline-block;
909
+ margin-left: auto;
910
+ }
911
+
912
+ .memori-mobile-actions-trigger {
913
+ display: inline-block;
914
+ }
915
+
916
+ .memori-mobile-dropdown {
917
+ position: absolute;
918
+ z-index: 1000;
919
+ top: 100%;
920
+ right: 0;
921
+ min-width: 200px;
922
+ border: 1px solid var(--artifact-drawer-border);
923
+ border-radius: var(--artifact-drawer-radius);
924
+ margin-top: 0.5rem;
925
+ backdrop-filter: blur(10px);
926
+ background: var(--artifact-drawer-bg);
927
+ box-shadow: var(--artifact-drawer-shadow);
928
+ }
929
+
930
+ /* Mobile-specific dropdown positioning */
931
+ @media (max-width: 768px) {
932
+
933
+ .memori-artifact-drawer--close{
934
+ margin-left: 0;
935
+ }
936
+
937
+ .memori-artifact-panel--header{
938
+ margin-bottom: 0.5rem;
939
+ }
940
+
941
+ .memori-mobile-dropdown {
942
+ right: 0;
943
+ left: auto;
944
+ min-width: 180px;
945
+ max-width: calc(100vw - 2rem);
946
+ }
947
+
948
+ .memori-mobile-dropdown-list {
949
+ padding: 0.25rem;
950
+ gap: 0.125rem;
951
+ }
952
+
953
+ .memori-mobile-dropdown .memori-artifact-action-btn {
954
+ min-height: 44px; /* Ensure touch-friendly size */
955
+ padding: 0.625rem 0.75rem;
956
+ font-size: 0.875rem;
957
+ }
958
+
959
+ .memori-mobile-dropdown .memori-artifact-action-text {
960
+ color: var(--artifact-drawer-text);
961
+ font-size: 0.8125rem;
962
+ font-weight: 600;
963
+ }
964
+
965
+ .memori-mobile-dropdown .memori-artifact-action-icon {
966
+ width: 16px;
967
+ height: 16px;
968
+ flex-shrink: 0;
969
+ }
970
+ }
971
+
972
+ .memori-mobile-dropdown-list {
973
+ display: flex;
974
+ flex-direction: column;
975
+ padding: 0.5rem;
976
+ gap: 0.25rem;
977
+ }
978
+
979
+ .memori-mobile-dropdown .memori-artifact-action-btn {
980
+ display: flex;
981
+ width: 100%;
982
+ align-items: center;
983
+ justify-content: flex-start;
984
+ padding: 0.75rem 1rem;
985
+ border: 1px solid transparent;
986
+ border-radius: var(--artifact-drawer-radius);
987
+ background: transparent;
988
+ color: var(--artifact-drawer-text);
989
+ text-align: left;
990
+ transition: all 0.2s ease;
991
+ }
992
+
993
+ .memori-mobile-dropdown .memori-artifact-action-btn:hover {
994
+ border-color: var(--memori-primary);
995
+ background: var(--memori-button-hover-bg, rgba(0, 123, 255, 0.1));
996
+ color: var(--memori-primary);
997
+ }
998
+
999
+ .memori-mobile-dropdown .memori-artifact-action-text {
1000
+ overflow: visible;
1001
+ margin-left: 0.5rem;
1002
+ color: inherit;
1003
+ font-size: 0.875rem;
1004
+ font-weight: 500;
1005
+ white-space: nowrap;
1006
+ }
1007
+
1008
+ /* Mobile Dropdown Animations */
1009
+ .memori-mobile-dropdown-enter {
1010
+ transition: all 0.2s ease-out;
1011
+ }
1012
+
1013
+ .memori-mobile-dropdown-enter-from {
1014
+ opacity: 0;
1015
+ transform: translateY(-10px) scale(0.95);
1016
+ }
1017
+
1018
+ .memori-mobile-dropdown-enter-to {
1019
+ opacity: 1;
1020
+ transform: translateY(0) scale(1);
1021
+ }
1022
+
1023
+ .memori-mobile-dropdown-leave {
1024
+ transition: all 0.15s ease-in;
1025
+ }
1026
+
1027
+ .memori-mobile-dropdown-leave-from {
1028
+ opacity: 1;
1029
+ transform: translateY(0) scale(1);
1030
+ }
1031
+
1032
+ .memori-mobile-dropdown-leave-to {
1033
+ opacity: 0;
1034
+ transform: translateY(-10px) scale(0.95);
1035
+ }
1036
+
624
1037
  /* Focus and Accessibility */
625
1038
  .memori-artifact-drawer--panel:focus {
626
1039
  outline: none;
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import './components/TabSwitch.css';
2
3
  declare const ArtifactDrawer: React.FC<{
3
4
  isChatLogPanel?: boolean;
4
5
  }>;
@@ -2,8 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
6
  const react_i18next_1 = require("react-i18next");
7
+ const react_2 = require("@headlessui/react");
7
8
  const Button_1 = tslib_1.__importDefault(require("../../../ui/Button"));
8
9
  const Close_1 = tslib_1.__importDefault(require("../../../icons/Close"));
9
10
  const ArtifactActions_1 = tslib_1.__importDefault(require("../ArtifactActions/ArtifactActions"));
@@ -11,13 +12,32 @@ const ArtifactContext_1 = require("../../context/ArtifactContext");
11
12
  const ArtifactPreview_1 = tslib_1.__importDefault(require("../ArtifactPreview/ArtifactPreview"));
12
13
  const classnames_1 = tslib_1.__importDefault(require("classnames"));
13
14
  const Drawer_1 = tslib_1.__importDefault(require("../../../ui/Drawer"));
14
- const Fullscreen_1 = tslib_1.__importDefault(require("../../../icons/Fullscreen"));
15
- const FullscreenExit_1 = tslib_1.__importDefault(require("../../../icons/FullscreenExit"));
15
+ const MenuVertical_1 = tslib_1.__importDefault(require("../../../icons/MenuVertical"));
16
+ const Download_1 = tslib_1.__importDefault(require("../../../icons/Download"));
17
+ const Link_1 = tslib_1.__importDefault(require("../../../icons/Link"));
18
+ const Print_1 = tslib_1.__importDefault(require("../../../icons/Print"));
19
+ const useCopyArtifact_1 = require("../ArtifactActions/hooks/useCopyArtifact");
20
+ const TabSwitch_1 = tslib_1.__importDefault(require("./components/TabSwitch"));
21
+ require("./components/TabSwitch.css");
16
22
  const ArtifactDrawer = ({ isChatLogPanel = false, }) => {
17
23
  const { state, openArtifact, closeArtifact, toggleFullscreen } = (0, ArtifactContext_1.useArtifact)();
18
24
  const { t } = (0, react_i18next_1.useTranslation)();
19
25
  const [showHistory, setShowHistory] = (0, react_1.useState)(false);
20
26
  const [isAnimating, setIsAnimating] = (0, react_1.useState)(false);
27
+ const [isMobile, setIsMobile] = (0, react_1.useState)(false);
28
+ const [activeTab, setActiveTab] = (0, react_1.useState)('preview');
29
+ const handleTabChange = (0, react_1.useCallback)((tab) => {
30
+ setActiveTab(tab);
31
+ }, [activeTab]);
32
+ const { copyState, formats, handleCopy: handleCopyFormat, handleCopyClick, } = (0, useCopyArtifact_1.useCopyArtifact)(state.currentArtifact || { content: '', mimeType: 'text/plain' }, () => console.log('Copy completed'), () => console.log('Download completed'), () => console.log('Print completed'));
33
+ (0, react_1.useEffect)(() => {
34
+ const checkMobile = () => {
35
+ setIsMobile(window.innerWidth <= 768);
36
+ };
37
+ checkMobile();
38
+ window.addEventListener('resize', checkMobile);
39
+ return () => window.removeEventListener('resize', checkMobile);
40
+ }, []);
21
41
  const handleCopy = (0, react_1.useCallback)(async () => {
22
42
  if (!state.currentArtifact)
23
43
  return;
@@ -63,9 +83,14 @@ const ArtifactDrawer = ({ isChatLogPanel = false, }) => {
63
83
  const toggleHistory = (0, react_1.useCallback)(() => {
64
84
  setShowHistory(prev => !prev);
65
85
  }, []);
86
+ const handleMobileOpenExternal = (0, react_1.useCallback)(() => {
87
+ handleOpenExternal();
88
+ }, [handleOpenExternal]);
66
89
  if (!state.currentArtifact) {
67
90
  return null;
68
91
  }
92
+ const hasPreview = state.currentArtifact.mimeType === 'html' ||
93
+ state.currentArtifact.mimeType === 'markdown';
69
94
  const ContentContainer = (0, react_1.useCallback)(({ children }) => {
70
95
  if (isChatLogPanel) {
71
96
  return ((0, jsx_runtime_1.jsx)("div", { style: isChatLogPanel ? { minHeight: '75vh', maxHeight: '75vh' } : {}, className: "memori-artifact-panel", children: children }));
@@ -73,14 +98,28 @@ const ArtifactDrawer = ({ isChatLogPanel = false, }) => {
73
98
  else {
74
99
  return ((0, jsx_runtime_1.jsx)(Drawer_1.default, { open: state.isDrawerOpen, onClose: handleClose, placement: "right", width: "50%", className: state.isFullscreen
75
100
  ? 'memori-artifact-panel-drawer-fullscreen'
76
- : 'memori-artifact-panel-drawer', widthMd: "100%", widthLg: "50%", closable: false, animated: true, showBackdrop: false, confirmDialogTitle: t('artifact.confirmDialogTitle') ||
101
+ : 'memori-artifact-panel-drawer', widthMd: "100%", widthLg: "50%", closable: false, animated: true, showBackdrop: false, preventBackdropClose: true, confirmDialogTitle: t('artifact.confirmDialogTitle') ||
77
102
  'Are you sure you want to close this artifact?', confirmDialogMessage: t('artifact.confirmDialogMessage') ||
78
103
  'This action cannot be undone.', children: children }));
79
104
  }
80
- }, [isChatLogPanel, handleClose, state.isDrawerOpen, state.isFullscreen, t]);
81
- return ((0, jsx_runtime_1.jsxs)(ContentContainer, { children: [(0, jsx_runtime_1.jsxs)("div", { className: "memori-artifact-drawer-container-actions", children: [!isChatLogPanel && ((0, jsx_runtime_1.jsx)(Button_1.default, { onClick: handleToggleFullscreen, className: (0, classnames_1.default)('memori-artifact-drawer-fullscreen', 'memori-button--circle', 'memori-button--icon-only'), ghost: true, icon: state.isFullscreen ? ((0, jsx_runtime_1.jsx)(Fullscreen_1.default, { className: "memori-artifact-panel--close-icon" })) : ((0, jsx_runtime_1.jsx)(FullscreenExit_1.default, { className: "memori-artifact-panel--close-icon" })), title: state.isFullscreen
82
- ? t('artifact.exitFullscreen') || 'Exit Fullscreen'
83
- : t('artifact.fullscreen') || 'Fullscreen' })), (0, jsx_runtime_1.jsx)(ArtifactActions_1.default, { artifact: state.currentArtifact, onCopy: handleCopy, onDownload: handleDownload, loading: false, onPrint: handlePrint, onOpenExternal: handleOpenExternal })] }), (0, jsx_runtime_1.jsx)(Button_1.default, { onClick: closeArtifact, className: (0, classnames_1.default)('memori-artifact-drawer--close', 'memori-button--circle', 'memori-button--icon-only'), ghost: true, title: t('artifact.close') || 'Close', children: (0, jsx_runtime_1.jsx)(Close_1.default, { className: "memori-artifact-panel--close-icon" }) }), (0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-panel--header" }), (0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-panel--content", children: (0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-panel--main", children: (0, jsx_runtime_1.jsx)(ArtifactPreview_1.default, { artifact: state.currentArtifact }) }) })] }));
105
+ }, [isChatLogPanel, handleClose, state.isDrawerOpen, state.isFullscreen]);
106
+ return ((0, jsx_runtime_1.jsxs)(ContentContainer, { children: [(0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-drawer-container-actions", children: !isMobile && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(TabSwitch_1.default, { activeTab: activeTab, onTabChange: handleTabChange, hasPreview: hasPreview }), (0, jsx_runtime_1.jsx)(ArtifactActions_1.default, { artifact: state.currentArtifact, onCopy: handleCopy, onDownload: handleDownload, loading: false, onPrint: handlePrint, onOpenExternal: handleOpenExternal, isMobile: isMobile }), (0, jsx_runtime_1.jsx)(Button_1.default, { onClick: closeArtifact, className: (0, classnames_1.default)('memori-artifact-drawer--close', 'memori-button--icon-only'), ghost: true, title: t('artifact.close') || 'Close', children: (0, jsx_runtime_1.jsx)(Close_1.default, { className: "memori-artifact-panel--close-icon" }) })] })) }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-artifact-drawer-top-right", children: [isMobile && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(TabSwitch_1.default, { activeTab: activeTab, onTabChange: handleTabChange, hasPreview: hasPreview }), (0, jsx_runtime_1.jsxs)(react_2.Menu, { as: "div", className: "memori-mobile-actions-menu", children: [(0, jsx_runtime_1.jsx)(react_2.Menu.Button, { as: "div", className: "memori-mobile-actions-trigger", children: (0, jsx_runtime_1.jsx)(Button_1.default, { className: (0, classnames_1.default)('memori-button', 'memori-button--more-options', 'memori-button--icon-only'), ghost: true, title: t('artifact.actions') || 'Actions', children: (0, jsx_runtime_1.jsx)(MenuVertical_1.default, { className: "memori-artifact-action-icon" }) }) }), (0, jsx_runtime_1.jsx)(react_2.Transition, { as: react_1.default.Fragment, enter: "memori-mobile-dropdown-enter", enterFrom: "memori-mobile-dropdown-enter-from", enterTo: "memori-mobile-dropdown-enter-to", leave: "memori-mobile-dropdown-leave", leaveFrom: "memori-mobile-dropdown-leave-from", leaveTo: "memori-mobile-dropdown-leave-to", children: (0, jsx_runtime_1.jsx)(react_2.Menu.Items, { className: "memori-mobile-dropdown", children: (0, jsx_runtime_1.jsxs)("div", { className: "memori-mobile-dropdown-list", children: [(0, jsx_runtime_1.jsx)(Button_1.default, { onClick: handleCopy, disabled: false, className: "memori-artifact-action-btn", ghost: true, title: t('artifact.copy') || 'Copy', children: (0, jsx_runtime_1.jsx)("span", { className: "memori-artifact-action-text", children: t('artifact.copy') || 'Copy' }) }), formats.map(format => {
107
+ const getIcon = () => {
108
+ switch (format.action) {
109
+ case 'copy':
110
+ return ((0, jsx_runtime_1.jsx)(Link_1.default, { className: "memori-artifact-action-icon" }));
111
+ case 'download':
112
+ return ((0, jsx_runtime_1.jsx)(Download_1.default, { className: "memori-artifact-action-icon" }));
113
+ case 'print':
114
+ case 'pdf':
115
+ return ((0, jsx_runtime_1.jsx)(Print_1.default, { className: "memori-artifact-action-icon" }));
116
+ default:
117
+ return ((0, jsx_runtime_1.jsx)(Link_1.default, { className: "memori-artifact-action-icon" }));
118
+ }
119
+ };
120
+ return ((0, jsx_runtime_1.jsx)(Button_1.default, { onClick: () => handleCopyFormat(format), disabled: copyState.loading &&
121
+ copyState.activeFormat === format.id, className: "memori-artifact-action-btn", ghost: true, icon: getIcon(), title: format.label, children: (0, jsx_runtime_1.jsx)("span", { className: "memori-artifact-action-text", children: format.label }) }, format.id));
122
+ }), (0, jsx_runtime_1.jsx)(Button_1.default, { onClick: handleMobileOpenExternal, disabled: false, className: "memori-artifact-action-btn", ghost: true, icon: (0, jsx_runtime_1.jsx)(Link_1.default, { className: "memori-artifact-action-icon" }), title: t('artifact.external') || 'External', children: (0, jsx_runtime_1.jsx)("span", { className: "memori-artifact-action-text", children: t('artifact.external') || 'External' }) })] }) }) })] })] })), isMobile && ((0, jsx_runtime_1.jsx)(Button_1.default, { onClick: closeArtifact, className: (0, classnames_1.default)('memori-artifact-drawer--close', 'memori-button--icon-only'), ghost: true, title: t('artifact.close') || 'Close', children: (0, jsx_runtime_1.jsx)(Close_1.default, { className: "memori-artifact-panel--close-icon" }) }))] }), (0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-panel--header" }), (0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-panel--content", children: (0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-panel--main", children: (0, jsx_runtime_1.jsx)(ArtifactPreview_1.default, { artifact: state.currentArtifact, activeTab: activeTab }) }) })] }));
84
123
  };
85
124
  exports.default = ArtifactDrawer;
86
125
  //# sourceMappingURL=ArtifactDrawer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArtifactDrawer.js","sourceRoot":"","sources":["../../../../../src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArtifactDrawer.js","sourceRoot":"","sources":["../../../../../src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx"],"names":[],"mappings":"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"}