@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
@@ -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
  }>;
@@ -1,6 +1,7 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useCallback } from 'react';
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useState, useCallback, useEffect } from 'react';
3
3
  import { useTranslation } from 'react-i18next';
4
+ import { Transition, Menu } from '@headlessui/react';
4
5
  import Button from '../../../ui/Button';
5
6
  import Close from '../../../icons/Close';
6
7
  import ArtifactActions from '../ArtifactActions/ArtifactActions';
@@ -8,13 +9,32 @@ import { useArtifact } from '../../context/ArtifactContext';
8
9
  import ArtifactPreview from '../ArtifactPreview/ArtifactPreview';
9
10
  import cx from 'classnames';
10
11
  import Drawer from '../../../ui/Drawer';
11
- import Fullscreen from '../../../icons/Fullscreen';
12
- import FullscreenExit from '../../../icons/FullscreenExit';
12
+ import MenuVertical from '../../../icons/MenuVertical';
13
+ import Download from '../../../icons/Download';
14
+ import Link from '../../../icons/Link';
15
+ import PrintIcon from '../../../icons/Print';
16
+ import { useCopyArtifact } from '../ArtifactActions/hooks/useCopyArtifact';
17
+ import TabSwitch from './components/TabSwitch';
18
+ import './components/TabSwitch.css';
13
19
  const ArtifactDrawer = ({ isChatLogPanel = false, }) => {
14
20
  const { state, openArtifact, closeArtifact, toggleFullscreen } = useArtifact();
15
21
  const { t } = useTranslation();
16
22
  const [showHistory, setShowHistory] = useState(false);
17
23
  const [isAnimating, setIsAnimating] = useState(false);
24
+ const [isMobile, setIsMobile] = useState(false);
25
+ const [activeTab, setActiveTab] = useState('preview');
26
+ const handleTabChange = useCallback((tab) => {
27
+ setActiveTab(tab);
28
+ }, [activeTab]);
29
+ const { copyState, formats, handleCopy: handleCopyFormat, handleCopyClick, } = useCopyArtifact(state.currentArtifact || { content: '', mimeType: 'text/plain' }, () => console.log('Copy completed'), () => console.log('Download completed'), () => console.log('Print completed'));
30
+ useEffect(() => {
31
+ const checkMobile = () => {
32
+ setIsMobile(window.innerWidth <= 768);
33
+ };
34
+ checkMobile();
35
+ window.addEventListener('resize', checkMobile);
36
+ return () => window.removeEventListener('resize', checkMobile);
37
+ }, []);
18
38
  const handleCopy = useCallback(async () => {
19
39
  if (!state.currentArtifact)
20
40
  return;
@@ -60,9 +80,14 @@ const ArtifactDrawer = ({ isChatLogPanel = false, }) => {
60
80
  const toggleHistory = useCallback(() => {
61
81
  setShowHistory(prev => !prev);
62
82
  }, []);
83
+ const handleMobileOpenExternal = useCallback(() => {
84
+ handleOpenExternal();
85
+ }, [handleOpenExternal]);
63
86
  if (!state.currentArtifact) {
64
87
  return null;
65
88
  }
89
+ const hasPreview = state.currentArtifact.mimeType === 'html' ||
90
+ state.currentArtifact.mimeType === 'markdown';
66
91
  const ContentContainer = useCallback(({ children }) => {
67
92
  if (isChatLogPanel) {
68
93
  return (_jsx("div", { style: isChatLogPanel ? { minHeight: '75vh', maxHeight: '75vh' } : {}, className: "memori-artifact-panel", children: children }));
@@ -70,14 +95,28 @@ const ArtifactDrawer = ({ isChatLogPanel = false, }) => {
70
95
  else {
71
96
  return (_jsx(Drawer, { open: state.isDrawerOpen, onClose: handleClose, placement: "right", width: "50%", className: state.isFullscreen
72
97
  ? 'memori-artifact-panel-drawer-fullscreen'
73
- : 'memori-artifact-panel-drawer', widthMd: "100%", widthLg: "50%", closable: false, animated: true, showBackdrop: false, confirmDialogTitle: t('artifact.confirmDialogTitle') ||
98
+ : 'memori-artifact-panel-drawer', widthMd: "100%", widthLg: "50%", closable: false, animated: true, showBackdrop: false, preventBackdropClose: true, confirmDialogTitle: t('artifact.confirmDialogTitle') ||
74
99
  'Are you sure you want to close this artifact?', confirmDialogMessage: t('artifact.confirmDialogMessage') ||
75
100
  'This action cannot be undone.', children: children }));
76
101
  }
77
- }, [isChatLogPanel, handleClose, state.isDrawerOpen, state.isFullscreen, t]);
78
- return (_jsxs(ContentContainer, { children: [_jsxs("div", { className: "memori-artifact-drawer-container-actions", children: [!isChatLogPanel && (_jsx(Button, { onClick: handleToggleFullscreen, className: cx('memori-artifact-drawer-fullscreen', 'memori-button--circle', 'memori-button--icon-only'), ghost: true, icon: state.isFullscreen ? (_jsx(Fullscreen, { className: "memori-artifact-panel--close-icon" })) : (_jsx(FullscreenExit, { className: "memori-artifact-panel--close-icon" })), title: state.isFullscreen
79
- ? t('artifact.exitFullscreen') || 'Exit Fullscreen'
80
- : t('artifact.fullscreen') || 'Fullscreen' })), _jsx(ArtifactActions, { artifact: state.currentArtifact, onCopy: handleCopy, onDownload: handleDownload, loading: false, onPrint: handlePrint, onOpenExternal: handleOpenExternal })] }), _jsx(Button, { onClick: closeArtifact, className: cx('memori-artifact-drawer--close', 'memori-button--circle', 'memori-button--icon-only'), ghost: true, title: t('artifact.close') || 'Close', children: _jsx(Close, { className: "memori-artifact-panel--close-icon" }) }), _jsx("div", { className: "memori-artifact-panel--header" }), _jsx("div", { className: "memori-artifact-panel--content", children: _jsx("div", { className: "memori-artifact-panel--main", children: _jsx(ArtifactPreview, { artifact: state.currentArtifact }) }) })] }));
102
+ }, [isChatLogPanel, handleClose, state.isDrawerOpen, state.isFullscreen]);
103
+ return (_jsxs(ContentContainer, { children: [_jsx("div", { className: "memori-artifact-drawer-container-actions", children: !isMobile && (_jsxs(_Fragment, { children: [_jsx(TabSwitch, { activeTab: activeTab, onTabChange: handleTabChange, hasPreview: hasPreview }), _jsx(ArtifactActions, { artifact: state.currentArtifact, onCopy: handleCopy, onDownload: handleDownload, loading: false, onPrint: handlePrint, onOpenExternal: handleOpenExternal, isMobile: isMobile }), _jsx(Button, { onClick: closeArtifact, className: cx('memori-artifact-drawer--close', 'memori-button--icon-only'), ghost: true, title: t('artifact.close') || 'Close', children: _jsx(Close, { className: "memori-artifact-panel--close-icon" }) })] })) }), _jsxs("div", { className: "memori-artifact-drawer-top-right", children: [isMobile && (_jsxs(_Fragment, { children: [_jsx(TabSwitch, { activeTab: activeTab, onTabChange: handleTabChange, hasPreview: hasPreview }), _jsxs(Menu, { as: "div", className: "memori-mobile-actions-menu", children: [_jsx(Menu.Button, { as: "div", className: "memori-mobile-actions-trigger", children: _jsx(Button, { className: cx('memori-button', 'memori-button--more-options', 'memori-button--icon-only'), ghost: true, title: t('artifact.actions') || 'Actions', children: _jsx(MenuVertical, { className: "memori-artifact-action-icon" }) }) }), _jsx(Transition, { as: React.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: _jsx(Menu.Items, { className: "memori-mobile-dropdown", children: _jsxs("div", { className: "memori-mobile-dropdown-list", children: [_jsx(Button, { onClick: handleCopy, disabled: false, className: "memori-artifact-action-btn", ghost: true, title: t('artifact.copy') || 'Copy', children: _jsx("span", { className: "memori-artifact-action-text", children: t('artifact.copy') || 'Copy' }) }), formats.map(format => {
104
+ const getIcon = () => {
105
+ switch (format.action) {
106
+ case 'copy':
107
+ return (_jsx(Link, { className: "memori-artifact-action-icon" }));
108
+ case 'download':
109
+ return (_jsx(Download, { className: "memori-artifact-action-icon" }));
110
+ case 'print':
111
+ case 'pdf':
112
+ return (_jsx(PrintIcon, { className: "memori-artifact-action-icon" }));
113
+ default:
114
+ return (_jsx(Link, { className: "memori-artifact-action-icon" }));
115
+ }
116
+ };
117
+ return (_jsx(Button, { onClick: () => handleCopyFormat(format), disabled: copyState.loading &&
118
+ copyState.activeFormat === format.id, className: "memori-artifact-action-btn", ghost: true, icon: getIcon(), title: format.label, children: _jsx("span", { className: "memori-artifact-action-text", children: format.label }) }, format.id));
119
+ }), _jsx(Button, { onClick: handleMobileOpenExternal, disabled: false, 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' }) })] }) }) })] })] })), isMobile && (_jsx(Button, { onClick: closeArtifact, className: cx('memori-artifact-drawer--close', 'memori-button--icon-only'), ghost: true, title: t('artifact.close') || 'Close', children: _jsx(Close, { className: "memori-artifact-panel--close-icon" }) }))] }), _jsx("div", { className: "memori-artifact-panel--header" }), _jsx("div", { className: "memori-artifact-panel--content", children: _jsx("div", { className: "memori-artifact-panel--main", children: _jsx(ArtifactPreview, { artifact: state.currentArtifact, activeTab: activeTab }) }) })] }));
81
120
  };
82
121
  export default ArtifactDrawer;
83
122
  //# 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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"}