@memori.ai/memori-react 9.0.0-alpha.12 → 9.0.0-alpha.13
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.
- package/CHANGELOG.md +2 -0
- package/dist/components/Chat/Chat.css +19 -0
- package/dist/components/ChatInputs/ChatInputs.css +77 -3
- package/dist/components/ChatTextArea/ChatTextArea.css +5 -25
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +7 -2
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +31 -14
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +169 -138
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +7 -7
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +7 -2
- package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -0
- package/dist/components/MemoriWidget/MemoriWidget.js +5 -1
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/components/MicrophoneButton/MicrophoneButton.css +22 -0
- package/dist/components/layouts/chat.css +22 -2
- package/dist/components/layouts/fullpage.css +5 -5
- package/dist/components/layouts/zoomed-full-body.css +5 -5
- package/dist/styles.css +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/esm/components/Chat/Chat.css +19 -0
- package/esm/components/ChatInputs/ChatInputs.css +77 -3
- package/esm/components/ChatTextArea/ChatTextArea.css +5 -25
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +7 -2
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +31 -14
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +169 -138
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +8 -8
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +7 -2
- package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -0
- package/esm/components/MemoriWidget/MemoriWidget.js +5 -1
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/MicrophoneButton/MicrophoneButton.css +22 -0
- package/esm/components/layouts/chat.css +22 -2
- package/esm/components/layouts/fullpage.css +5 -5
- package/esm/components/layouts/zoomed-full-body.css +5 -5
- package/esm/styles.css +1 -1
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/components/Chat/Chat.css +19 -0
- package/src/components/ChatInputs/ChatInputs.css +77 -3
- package/src/components/ChatTextArea/ChatTextArea.css +5 -25
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +7 -2
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +31 -14
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +169 -138
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +63 -72
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +7 -2
- package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -0
- package/src/components/MemoriWidget/MemoriWidget.tsx +5 -1
- package/src/components/MicrophoneButton/MicrophoneButton.css +22 -0
- package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +5 -1
- package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +10 -2
- package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +5 -1
- package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +5 -1
- package/src/components/layouts/chat.css +22 -2
- package/src/components/layouts/fullpage.css +5 -5
- package/src/components/layouts/zoomed-full-body.css +5 -5
- package/src/styles.css +2 -5
- package/src/version.ts +1 -1
|
@@ -29,6 +29,31 @@
|
|
|
29
29
|
max-width: 100vw;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
+
@media (max-width: 1260px) {
|
|
33
|
+
.memori-drawer--right.memori-drawer--size-md.memori-artifact-panel-drawer,
|
|
34
|
+
.memori-drawer--right.memori-artifact-panel-drawer-fullscreen {
|
|
35
|
+
--memori-modal-size-md: 100%;
|
|
36
|
+
width: 100% !important;
|
|
37
|
+
max-width: 100% !important;
|
|
38
|
+
height: 100% !important;
|
|
39
|
+
max-height: 100dvh !important;
|
|
40
|
+
border-radius: 0;
|
|
41
|
+
border-left: none;
|
|
42
|
+
box-shadow: none;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.memori-artifact-panel-drawer .memori-drawer__body,
|
|
46
|
+
.memori-artifact-panel-drawer-fullscreen .memori-drawer__body {
|
|
47
|
+
display: flex;
|
|
48
|
+
overflow: hidden;
|
|
49
|
+
height: 100%;
|
|
50
|
+
min-height: 0;
|
|
51
|
+
flex: 1 1 auto;
|
|
52
|
+
flex-direction: column;
|
|
53
|
+
padding: 0;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
32
57
|
.memori-drawer--right.memori-artifact-panel-drawer-fullscreen {
|
|
33
58
|
--memori-modal-size-md: 100%;
|
|
34
59
|
width: 100% !important;
|
|
@@ -328,13 +353,6 @@ body:has(.memori-artifact-panel-drawer-fullscreen) .memori-drawer__backdrop,
|
|
|
328
353
|
gap: var(--memori-spacing-sm);
|
|
329
354
|
}
|
|
330
355
|
|
|
331
|
-
.memori-artifact-panel-drawer-fullscreen > div > div > div {
|
|
332
|
-
width: 100% !important;
|
|
333
|
-
max-width: 100% !important;
|
|
334
|
-
box-shadow: none !important;
|
|
335
|
-
transform: translateX(0) !important;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
356
|
.memori-artifact-drawer--header-actions {
|
|
339
357
|
z-index: 100;
|
|
340
358
|
display: flex;
|
|
@@ -678,24 +696,26 @@ body:has(.memori-artifact-panel-drawer-fullscreen) .memori-drawer__backdrop,
|
|
|
678
696
|
}
|
|
679
697
|
|
|
680
698
|
.memori-artifact-drawer--close-desktop {
|
|
681
|
-
width:
|
|
682
|
-
min-width:
|
|
683
|
-
height:
|
|
684
|
-
min-height:
|
|
699
|
+
width: 38px;
|
|
700
|
+
min-width: 38px;
|
|
701
|
+
height: 38px;
|
|
702
|
+
min-height: 38px;
|
|
685
703
|
padding: 0;
|
|
686
|
-
border:
|
|
704
|
+
border: 1px solid color-mix(in srgb, var(--memori-text-color, #111827) 16%, transparent);
|
|
687
705
|
margin: 0;
|
|
688
706
|
margin-left: 0 !important;
|
|
689
707
|
}
|
|
690
708
|
|
|
691
709
|
.memori-artifact-drawer--close-desktop:hover {
|
|
692
|
-
color: #
|
|
710
|
+
border-color: color-mix(in srgb, var(--memori-text-color, #111827) 16%, transparent);
|
|
711
|
+
background: color-mix(in srgb, var(--memori-text-color, #111827) 8%, transparent);
|
|
712
|
+
color: inherit !important;
|
|
693
713
|
}
|
|
694
714
|
|
|
695
715
|
.memori-artifact-drawer--close-desktop:hover .memori-artifact-panel--close-icon,
|
|
696
716
|
.memori-artifact-drawer--close:hover .memori-artifact-panel--close-icon {
|
|
697
|
-
color:
|
|
698
|
-
stroke:
|
|
717
|
+
color: inherit !important;
|
|
718
|
+
stroke: currentColor;
|
|
699
719
|
}
|
|
700
720
|
|
|
701
721
|
/* Mobile Drawer Panel */
|
|
@@ -744,48 +764,108 @@ body:has(.memori-artifact-panel-drawer-fullscreen) .memori-drawer__backdrop,
|
|
|
744
764
|
display: none;
|
|
745
765
|
}
|
|
746
766
|
|
|
747
|
-
/* Mobile header: full-width
|
|
767
|
+
/* Mobile header: full-width toolbar — tabs left, more+close right */
|
|
748
768
|
.memori-artifact-drawer-top-right {
|
|
769
|
+
display: flex;
|
|
770
|
+
overflow: visible;
|
|
749
771
|
width: 100%;
|
|
772
|
+
box-sizing: border-box;
|
|
773
|
+
flex-shrink: 0;
|
|
774
|
+
align-items: center;
|
|
750
775
|
justify-content: space-between;
|
|
751
776
|
padding: var(--memori-spacing-sm) var(--memori-spacing-md);
|
|
752
777
|
border-bottom: 1px solid var(--memori-border-color);
|
|
753
|
-
margin
|
|
778
|
+
margin: 0;
|
|
779
|
+
background: var(--memori-secondary-background);
|
|
780
|
+
gap: var(--memori-spacing-sm);
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
.memori-artifact-drawer-top-right-actions {
|
|
784
|
+
display: inline-flex;
|
|
785
|
+
flex-shrink: 0;
|
|
786
|
+
align-items: center;
|
|
787
|
+
margin-left: auto;
|
|
788
|
+
gap: var(--memori-spacing-sm);
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
.memori-artifact-drawer-top-right .memori-mobile-actions-menu {
|
|
792
|
+
margin-left: 0;
|
|
754
793
|
}
|
|
755
794
|
|
|
756
|
-
/*
|
|
795
|
+
/* Tabs.Root from @memori.ai/ui defaults to width:100% — that pushes actions off-screen */
|
|
796
|
+
.memori-artifact-drawer-top-right .memori-tab-switch,
|
|
797
|
+
.memori-artifact-drawer-top-right .memori-tabs {
|
|
798
|
+
width: auto;
|
|
799
|
+
max-width: fit-content;
|
|
800
|
+
flex: 0 0 auto;
|
|
801
|
+
justify-content: flex-start;
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
.memori-artifact-drawer-top-right .memori-tab-switch__tab {
|
|
805
|
+
min-width: 40px;
|
|
806
|
+
flex: 0 0 auto;
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
/* Make mobile action buttons match header toolbar buttons */
|
|
757
810
|
.memori-artifact-drawer-top-right .memori-button--more-options,
|
|
758
811
|
.memori-artifact-drawer-top-right .memori-artifact-drawer--close {
|
|
759
812
|
display: flex;
|
|
760
|
-
width:
|
|
761
|
-
min-width:
|
|
762
|
-
height:
|
|
763
|
-
min-height:
|
|
813
|
+
width: 38px;
|
|
814
|
+
min-width: 38px;
|
|
815
|
+
height: 38px;
|
|
816
|
+
min-height: 38px;
|
|
764
817
|
align-items: center;
|
|
765
818
|
justify-content: center;
|
|
766
819
|
padding: 0;
|
|
767
|
-
border: 1px solid var(--memori-
|
|
820
|
+
border: 1px solid color-mix(in srgb, var(--memori-text-color, #111827) 16%, transparent);
|
|
768
821
|
border-radius: var(--memori-radius-box);
|
|
822
|
+
margin-left: 0;
|
|
769
823
|
}
|
|
770
824
|
|
|
771
|
-
.memori-artifact-drawer-top-right .memori-
|
|
772
|
-
|
|
825
|
+
.memori-artifact-drawer-top-right .memori-button--more-options:hover,
|
|
826
|
+
.memori-artifact-drawer-top-right .memori-artifact-drawer--close:hover {
|
|
827
|
+
border-color: color-mix(in srgb, var(--memori-text-color, #111827) 16%, transparent);
|
|
828
|
+
background: color-mix(in srgb, var(--memori-text-color, #111827) 8%, transparent);
|
|
773
829
|
}
|
|
774
830
|
|
|
775
|
-
/*
|
|
776
|
-
.memori-artifact-drawer
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
831
|
+
/* Content fills remaining viewport under the toolbar (no floating card) */
|
|
832
|
+
.memori-artifact-panel-drawer .memori-artifact-panel--content,
|
|
833
|
+
.memori-artifact-panel-drawer-fullscreen .memori-artifact-panel--content {
|
|
834
|
+
overflow: hidden;
|
|
835
|
+
width: 100%;
|
|
836
|
+
height: auto;
|
|
837
|
+
min-height: 0;
|
|
838
|
+
max-height: none;
|
|
839
|
+
flex: 1 1 auto;
|
|
840
|
+
gap: 0;
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
.memori-artifact-panel-drawer .memori-artifact-panel--main,
|
|
844
|
+
.memori-artifact-panel-drawer-fullscreen .memori-artifact-panel--main {
|
|
845
|
+
overflow: hidden;
|
|
846
|
+
min-height: 0;
|
|
847
|
+
flex: 1 1 auto;
|
|
782
848
|
}
|
|
783
849
|
|
|
784
|
-
|
|
785
|
-
.memori-artifact-drawer-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
850
|
+
.memori-artifact-panel-drawer .memori-artifact-preview,
|
|
851
|
+
.memori-artifact-panel-drawer-fullscreen .memori-artifact-preview,
|
|
852
|
+
.memori-artifact-panel-drawer .memori-artifact-preview-content,
|
|
853
|
+
.memori-artifact-panel-drawer-fullscreen .memori-artifact-preview-content,
|
|
854
|
+
.memori-artifact-panel-drawer .memori-artifact-tab-content--active,
|
|
855
|
+
.memori-artifact-panel-drawer-fullscreen .memori-artifact-tab-content--active,
|
|
856
|
+
.memori-artifact-panel-drawer .memori-artifact-content,
|
|
857
|
+
.memori-artifact-panel-drawer-fullscreen .memori-artifact-content {
|
|
858
|
+
border-radius: 0;
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
.memori-artifact-panel-drawer .memori-artifact-tab-content--active,
|
|
862
|
+
.memori-artifact-panel-drawer-fullscreen .memori-artifact-tab-content--active {
|
|
863
|
+
padding: 0;
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
.memori-artifact-panel-drawer .memori-artifact-preview-content,
|
|
867
|
+
.memori-artifact-panel-drawer-fullscreen .memori-artifact-preview-content {
|
|
868
|
+
background: transparent;
|
|
789
869
|
}
|
|
790
870
|
}
|
|
791
871
|
|
|
@@ -954,139 +1034,90 @@ body:has(.memori-artifact-panel-drawer-fullscreen) .memori-drawer__backdrop,
|
|
|
954
1034
|
z-index: 1001;
|
|
955
1035
|
display: flex;
|
|
956
1036
|
align-items: center;
|
|
957
|
-
padding: 0rem 1rem;
|
|
958
1037
|
gap: var(--memori-spacing-sm);
|
|
959
1038
|
}
|
|
960
1039
|
|
|
961
|
-
/* Mobile Actions Dropdown */
|
|
1040
|
+
/* Mobile Actions Dropdown — portaled popup (not under .top-right) */
|
|
962
1041
|
.memori-mobile-actions-menu {
|
|
963
1042
|
position: relative;
|
|
964
1043
|
display: inline-block;
|
|
965
|
-
margin-left: auto;
|
|
966
1044
|
}
|
|
967
1045
|
|
|
968
1046
|
.memori-mobile-actions-trigger {
|
|
969
1047
|
display: inline-block;
|
|
970
1048
|
}
|
|
971
1049
|
|
|
1050
|
+
.memori-dropdown__popup.memori-mobile-dropdown,
|
|
972
1051
|
.memori-mobile-dropdown {
|
|
973
|
-
|
|
974
|
-
z-index: 1000;
|
|
975
|
-
top: 100%;
|
|
976
|
-
right: 0;
|
|
1052
|
+
z-index: 1100;
|
|
977
1053
|
min-width: 200px;
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
}
|
|
991
|
-
|
|
992
|
-
.memori-artifact-panel--header {
|
|
993
|
-
margin-bottom: var(--memori-spacing-sm);
|
|
994
|
-
}
|
|
995
|
-
|
|
996
|
-
.memori-mobile-dropdown {
|
|
997
|
-
right: 0;
|
|
998
|
-
left: auto;
|
|
999
|
-
min-width: 180px;
|
|
1000
|
-
max-width: calc(100vw - 2rem);
|
|
1001
|
-
}
|
|
1002
|
-
|
|
1003
|
-
.memori-mobile-dropdown-list {
|
|
1004
|
-
padding: 0.25rem;
|
|
1005
|
-
gap: var(--memori-spacing-xs);
|
|
1006
|
-
}
|
|
1007
|
-
|
|
1008
|
-
.memori-mobile-dropdown .memori-artifact-action-btn {
|
|
1009
|
-
min-height: 44px; /* Ensure touch-friendly size */
|
|
1010
|
-
padding: 0.625rem 0.75rem;
|
|
1011
|
-
font-size: var(--memori-text-size-small);
|
|
1012
|
-
}
|
|
1013
|
-
|
|
1014
|
-
.memori-mobile-dropdown .memori-artifact-action-text {
|
|
1015
|
-
color: var(--artifact-drawer-text);
|
|
1016
|
-
font-size: 0.8125rem;
|
|
1017
|
-
font-weight: var(--memori-text-weight-semibold);
|
|
1018
|
-
}
|
|
1019
|
-
|
|
1020
|
-
.memori-mobile-dropdown .memori-artifact-action-icon {
|
|
1021
|
-
width: 16px;
|
|
1022
|
-
height: 16px;
|
|
1023
|
-
flex-shrink: 0;
|
|
1024
|
-
}
|
|
1025
|
-
}
|
|
1026
|
-
|
|
1027
|
-
.memori-mobile-dropdown-list {
|
|
1028
|
-
display: flex;
|
|
1029
|
-
flex-direction: column;
|
|
1030
|
-
padding: 0.5rem;
|
|
1031
|
-
gap: var(--memori-spacing-xs);
|
|
1054
|
+
max-width: min(280px, calc(100vw - 1.5rem));
|
|
1055
|
+
padding: var(--memori-spacing-xs);
|
|
1056
|
+
border: 1px solid var(--memori-border-color);
|
|
1057
|
+
border-radius: var(--memori-radius-box);
|
|
1058
|
+
/* Soft contrast vs canvas — not pure white / not heavy fill */
|
|
1059
|
+
background: color-mix(
|
|
1060
|
+
in srgb,
|
|
1061
|
+
var(--memori-text-color) 6%,
|
|
1062
|
+
var(--memori-secondary-background)
|
|
1063
|
+
) !important;
|
|
1064
|
+
box-shadow: var(--memori-shadow-lg);
|
|
1065
|
+
color: var(--memori-text-color);
|
|
1032
1066
|
}
|
|
1033
1067
|
|
|
1034
|
-
.memori-mobile-dropdown .memori-artifact-action-btn
|
|
1068
|
+
.memori-mobile-dropdown .memori-artifact-action-btn,
|
|
1069
|
+
.memori-mobile-dropdown .memori-dropdown__item,
|
|
1070
|
+
.memori-dropdown__popup.memori-mobile-dropdown .memori-dropdown__item {
|
|
1035
1071
|
display: flex;
|
|
1036
1072
|
width: 100%;
|
|
1073
|
+
min-height: 40px;
|
|
1037
1074
|
align-items: center;
|
|
1038
1075
|
justify-content: flex-start;
|
|
1039
|
-
padding:
|
|
1076
|
+
padding: 0.5rem 0.75rem;
|
|
1040
1077
|
border: 1px solid transparent;
|
|
1041
|
-
border-radius: var(--
|
|
1078
|
+
border-radius: var(--memori-radius-box);
|
|
1042
1079
|
background: transparent;
|
|
1043
|
-
color: var(--
|
|
1044
|
-
text-align: left;
|
|
1045
|
-
transition: all 0.2s ease;
|
|
1046
|
-
}
|
|
1047
|
-
|
|
1048
|
-
.memori-mobile-dropdown .memori-artifact-action-btn:hover {
|
|
1049
|
-
border-color: var(--memori-primary);
|
|
1050
|
-
background: var(--memori-primary-subtle);
|
|
1051
|
-
color: var(--memori-primary);
|
|
1052
|
-
}
|
|
1053
|
-
|
|
1054
|
-
.memori-mobile-dropdown .memori-artifact-action-text {
|
|
1055
|
-
overflow: visible;
|
|
1056
|
-
margin-left: var(--memori-spacing-sm);
|
|
1057
|
-
color: inherit;
|
|
1080
|
+
color: var(--memori-text-color);
|
|
1058
1081
|
font-size: var(--memori-text-size-small);
|
|
1059
1082
|
font-weight: var(--memori-text-weight-medium);
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
/* Mobile Dropdown Animations */
|
|
1064
|
-
.memori-mobile-dropdown-enter {
|
|
1065
|
-
transition: all 0.2s ease-out;
|
|
1083
|
+
gap: var(--memori-spacing-sm);
|
|
1084
|
+
text-align: left;
|
|
1066
1085
|
}
|
|
1067
1086
|
|
|
1068
|
-
.memori-mobile-dropdown-
|
|
1069
|
-
|
|
1070
|
-
|
|
1087
|
+
.memori-mobile-dropdown .memori-artifact-action-btn:hover,
|
|
1088
|
+
.memori-mobile-dropdown .memori-dropdown__item:hover:not([data-disabled]),
|
|
1089
|
+
.memori-dropdown__popup.memori-mobile-dropdown .memori-dropdown__item:hover:not([data-disabled]),
|
|
1090
|
+
.memori-dropdown__popup.memori-mobile-dropdown .memori-dropdown__item[data-highlighted]:not([data-disabled]) {
|
|
1091
|
+
border-color: transparent;
|
|
1092
|
+
background: color-mix(in srgb, var(--memori-text-color) 10%, transparent) !important;
|
|
1093
|
+
color: var(--memori-text-color);
|
|
1071
1094
|
}
|
|
1072
1095
|
|
|
1073
|
-
.memori-mobile-dropdown-
|
|
1074
|
-
|
|
1075
|
-
|
|
1096
|
+
.memori-mobile-dropdown .memori-artifact-action-icon,
|
|
1097
|
+
.memori-mobile-dropdown .memori-dropdown__item-icon,
|
|
1098
|
+
.memori-mobile-dropdown .memori-dropdown__item-icon svg {
|
|
1099
|
+
width: 16px;
|
|
1100
|
+
height: 16px;
|
|
1101
|
+
flex-shrink: 0;
|
|
1102
|
+
color: inherit;
|
|
1103
|
+
fill: none !important;
|
|
1104
|
+
stroke: currentColor;
|
|
1076
1105
|
}
|
|
1077
1106
|
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1107
|
+
@media (max-width: 1260px) {
|
|
1108
|
+
.memori-artifact-drawer--close {
|
|
1109
|
+
margin-left: 0;
|
|
1110
|
+
}
|
|
1081
1111
|
|
|
1082
|
-
.memori-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
}
|
|
1112
|
+
.memori-artifact-panel--header {
|
|
1113
|
+
margin-bottom: var(--memori-spacing-sm);
|
|
1114
|
+
}
|
|
1086
1115
|
|
|
1087
|
-
.memori-mobile-dropdown
|
|
1088
|
-
|
|
1089
|
-
|
|
1116
|
+
.memori-dropdown__popup.memori-mobile-dropdown,
|
|
1117
|
+
.memori-mobile-dropdown {
|
|
1118
|
+
min-width: 180px;
|
|
1119
|
+
max-width: calc(100vw - 1.5rem);
|
|
1120
|
+
}
|
|
1090
1121
|
}
|
|
1091
1122
|
|
|
1092
1123
|
/* Focus and Accessibility */
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
Download,
|
|
17
17
|
Link as LinkIcon,
|
|
18
18
|
Printer,
|
|
19
|
+
Copy,
|
|
19
20
|
} from 'lucide-react';
|
|
20
21
|
import ArtifactActions from '../ArtifactActions/ArtifactActions';
|
|
21
22
|
import { useArtifact } from '../../context/ArtifactContext';
|
|
@@ -152,7 +153,7 @@ const ArtifactDrawer: React.FC<{
|
|
|
152
153
|
anchor="right"
|
|
153
154
|
size="md"
|
|
154
155
|
className={
|
|
155
|
-
state.isFullscreen
|
|
156
|
+
state.isFullscreen || isMobile
|
|
156
157
|
? 'memori-artifact-panel-drawer-fullscreen'
|
|
157
158
|
: 'memori-artifact-panel-drawer'
|
|
158
159
|
}
|
|
@@ -295,43 +296,45 @@ const ArtifactDrawer: React.FC<{
|
|
|
295
296
|
hasPreview={hasPreview}
|
|
296
297
|
/>
|
|
297
298
|
)}
|
|
298
|
-
<
|
|
299
|
-
<Dropdown
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
<
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
299
|
+
<div className="memori-artifact-drawer-top-right-actions">
|
|
300
|
+
<Dropdown className="memori-mobile-actions-menu">
|
|
301
|
+
<Dropdown.Trigger
|
|
302
|
+
showChevron={false}
|
|
303
|
+
className="memori-mobile-actions-trigger"
|
|
304
|
+
render={(
|
|
305
|
+
props: React.ButtonHTMLAttributes<HTMLButtonElement>
|
|
306
|
+
) => (
|
|
307
|
+
<Button
|
|
308
|
+
{...props}
|
|
309
|
+
className={cx(
|
|
310
|
+
'memori-button',
|
|
311
|
+
'memori-button--more-options',
|
|
312
|
+
'memori-button--icon-only'
|
|
313
|
+
)}
|
|
314
|
+
variant="ghost"
|
|
315
|
+
title={t('artifact.actions') || 'Actions'}
|
|
316
|
+
>
|
|
317
|
+
<MoreVertical className="memori-artifact-action-icon" />
|
|
318
|
+
</Button>
|
|
319
|
+
)}
|
|
320
|
+
/>
|
|
321
|
+
<Dropdown.Menu
|
|
322
|
+
className="memori-mobile-dropdown"
|
|
323
|
+
placement="bottom"
|
|
324
|
+
align="end"
|
|
325
|
+
sideOffset={8}
|
|
326
|
+
container={surfaceEl ?? undefined}
|
|
327
|
+
>
|
|
328
|
+
<Dropdown.Item
|
|
324
329
|
className="memori-artifact-action-btn"
|
|
325
|
-
|
|
326
|
-
|
|
330
|
+
onClick={handleCopy}
|
|
331
|
+
icon={<Copy className="memori-artifact-action-icon" />}
|
|
332
|
+
label={t('artifact.copy') || 'Copy'}
|
|
327
333
|
>
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
</span>
|
|
331
|
-
</Button>
|
|
334
|
+
{t('artifact.copy') || 'Copy'}
|
|
335
|
+
</Dropdown.Item>
|
|
332
336
|
|
|
333
337
|
{formats.map(format => {
|
|
334
|
-
// Get appropriate icon based on action type
|
|
335
338
|
const getIcon = () => {
|
|
336
339
|
switch (format.action) {
|
|
337
340
|
case 'copy':
|
|
@@ -355,27 +358,24 @@ const ArtifactDrawer: React.FC<{
|
|
|
355
358
|
};
|
|
356
359
|
|
|
357
360
|
return (
|
|
358
|
-
<
|
|
361
|
+
<Dropdown.Item
|
|
359
362
|
key={format.id}
|
|
363
|
+
className="memori-artifact-action-btn"
|
|
360
364
|
onClick={() => handleCopyFormat(format)}
|
|
361
365
|
disabled={
|
|
362
366
|
copyState.loading &&
|
|
363
367
|
copyState.activeFormat === format.id
|
|
364
368
|
}
|
|
365
|
-
className="memori-artifact-action-btn"
|
|
366
|
-
variant="ghost"
|
|
367
369
|
icon={getIcon()}
|
|
368
|
-
|
|
370
|
+
label={format.label}
|
|
369
371
|
>
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
</span>
|
|
373
|
-
</Button>
|
|
372
|
+
{format.label}
|
|
373
|
+
</Dropdown.Item>
|
|
374
374
|
);
|
|
375
375
|
})}
|
|
376
376
|
|
|
377
|
-
|
|
378
|
-
|
|
377
|
+
<Dropdown.Item
|
|
378
|
+
className="memori-artifact-action-btn"
|
|
379
379
|
onClick={() =>
|
|
380
380
|
handleOpenExternal(
|
|
381
381
|
state.currentArtifact ?? {
|
|
@@ -388,38 +388,29 @@ const ArtifactDrawer: React.FC<{
|
|
|
388
388
|
}
|
|
389
389
|
)
|
|
390
390
|
}
|
|
391
|
-
disabled={false}
|
|
392
|
-
className="memori-artifact-action-btn"
|
|
393
|
-
variant="ghost"
|
|
394
391
|
icon={<LinkIcon className="memori-artifact-action-icon" />}
|
|
395
|
-
|
|
392
|
+
label={t('artifact.external') || 'External'}
|
|
396
393
|
>
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
394
|
+
{t('artifact.external') || 'External'}
|
|
395
|
+
</Dropdown.Item>
|
|
396
|
+
</Dropdown.Menu>
|
|
397
|
+
</Dropdown>
|
|
398
|
+
<Button
|
|
399
|
+
onClick={closeArtifact}
|
|
400
|
+
className={cx(
|
|
401
|
+
'memori-artifact-drawer--close',
|
|
402
|
+
'memori-button--icon-only'
|
|
403
|
+
)}
|
|
404
|
+
variant="ghost"
|
|
405
|
+
aria-label={t('artifact.close') || 'Close'}
|
|
406
|
+
title={t('artifact.close') || 'Close'}
|
|
407
|
+
icon={
|
|
408
|
+
<X className="memori-artifact-panel--close-icon" aria-hidden />
|
|
409
|
+
}
|
|
410
|
+
/>
|
|
411
|
+
</div>
|
|
404
412
|
</>
|
|
405
413
|
)}
|
|
406
|
-
|
|
407
|
-
{/* Close Button */}
|
|
408
|
-
{isMobile && (
|
|
409
|
-
<Button
|
|
410
|
-
onClick={closeArtifact}
|
|
411
|
-
className={cx(
|
|
412
|
-
'memori-artifact-drawer--close',
|
|
413
|
-
'memori-button--icon-only'
|
|
414
|
-
)}
|
|
415
|
-
variant="ghost"
|
|
416
|
-
aria-label={t('artifact.close') || 'Close'}
|
|
417
|
-
title={t('artifact.close') || 'Close'}
|
|
418
|
-
icon={
|
|
419
|
-
<X className="memori-artifact-panel--close-icon" aria-hidden />
|
|
420
|
-
}
|
|
421
|
-
/>
|
|
422
|
-
)}
|
|
423
414
|
</div>
|
|
424
415
|
|
|
425
416
|
{/* Content */}
|
package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
.memori-tab-switch {
|
|
2
2
|
display: flex;
|
|
3
|
+
width: auto;
|
|
3
4
|
max-width: fit-content;
|
|
5
|
+
flex: 0 0 auto;
|
|
4
6
|
align-items: center;
|
|
5
|
-
justify-content:
|
|
7
|
+
justify-content: flex-start;
|
|
6
8
|
}
|
|
7
9
|
|
|
8
10
|
.memori-tab-switch__list {
|
|
9
11
|
display: flex;
|
|
12
|
+
width: auto;
|
|
13
|
+
flex: 0 0 auto;
|
|
10
14
|
gap: var(--memori-spacing-xs);
|
|
11
15
|
}
|
|
12
16
|
|
|
@@ -15,7 +19,8 @@
|
|
|
15
19
|
}
|
|
16
20
|
|
|
17
21
|
.memori-tab-switch__tab {
|
|
18
|
-
min-width:
|
|
22
|
+
min-width: 40px;
|
|
23
|
+
flex: 0 0 auto;
|
|
19
24
|
}
|
|
20
25
|
|
|
21
26
|
.memori-tab-switch__icon {
|
|
@@ -127,6 +127,7 @@
|
|
|
127
127
|
min-height: 0;
|
|
128
128
|
flex: 1;
|
|
129
129
|
padding: 1rem;
|
|
130
|
+
background: color-mix(in srgb, var(--memori-text-color) 4%, var(--memori-secondary-background));
|
|
130
131
|
color: var(--memori-text-color);
|
|
131
132
|
font-family: var(--memori-font-family);
|
|
132
133
|
line-height: 1.6;
|
|
@@ -2693,7 +2693,11 @@ const MemoriWidget = ({
|
|
|
2693
2693
|
}
|
|
2694
2694
|
if (integrationConfig?.blurBackground) {
|
|
2695
2695
|
integrationStylesheetParts.push(
|
|
2696
|
-
|
|
2696
|
+
`.memori-widget .memori-chat--history--has-global-background::before,
|
|
2697
|
+
.memori-widget .memori-chat-layout--main--has-background::before {
|
|
2698
|
+
filter: blur(5px);
|
|
2699
|
+
transform: scale(1.06);
|
|
2700
|
+
}`
|
|
2697
2701
|
);
|
|
2698
2702
|
}
|
|
2699
2703
|
const integrationStylesheet = `@layer integration {
|
|
@@ -192,3 +192,25 @@
|
|
|
192
192
|
[data-theme='dark'] .memori-widget.memori-layout-website_assistant .memori-chat-inputs--mic .lucide-mic {
|
|
193
193
|
color: inherit;
|
|
194
194
|
}
|
|
195
|
+
|
|
196
|
+
/* Light hover surface (#f2eef5) — keep the icon black in dark mode for contrast */
|
|
197
|
+
.memori-widget[data-theme='dark'] .memori-chat-inputs--mic:hover,
|
|
198
|
+
.memori-widget.memori-layout-fullpage[data-theme='dark'] .memori-chat-inputs--mic:hover,
|
|
199
|
+
[data-theme='dark'] .memori-widget.memori-layout-fullpage .memori-chat-inputs--mic:hover,
|
|
200
|
+
.memori-widget.memori-layout-hidden_chat[data-theme='dark'] .memori-chat-inputs--mic:hover,
|
|
201
|
+
[data-theme='dark'] .memori-widget.memori-layout-hidden_chat .memori-chat-inputs--mic:hover,
|
|
202
|
+
.memori-widget.memori-layout-website_assistant[data-theme='dark'] .memori-chat-inputs--mic:hover,
|
|
203
|
+
[data-theme='dark'] .memori-widget.memori-layout-website_assistant .memori-chat-inputs--mic:hover,
|
|
204
|
+
.memori-widget[data-theme='dark'] .memori-chat-inputs--trailing .memori-chat-inputs--mic:hover {
|
|
205
|
+
color: #000 !important;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.memori-widget[data-theme='dark'] .memori-chat-inputs--mic:hover .lucide-mic,
|
|
209
|
+
.memori-widget.memori-layout-fullpage[data-theme='dark'] .memori-chat-inputs--mic:hover .lucide-mic,
|
|
210
|
+
[data-theme='dark'] .memori-widget.memori-layout-fullpage .memori-chat-inputs--mic:hover .lucide-mic,
|
|
211
|
+
.memori-widget.memori-layout-hidden_chat[data-theme='dark'] .memori-chat-inputs--mic:hover .lucide-mic,
|
|
212
|
+
[data-theme='dark'] .memori-widget.memori-layout-hidden_chat .memori-chat-inputs--mic:hover .lucide-mic,
|
|
213
|
+
.memori-widget.memori-layout-website_assistant[data-theme='dark'] .memori-chat-inputs--mic:hover .lucide-mic,
|
|
214
|
+
[data-theme='dark'] .memori-widget.memori-layout-website_assistant .memori-chat-inputs--mic:hover .lucide-mic {
|
|
215
|
+
color: #000 !important;
|
|
216
|
+
}
|