@memori.ai/memori-react 9.0.0-alpha.16 → 9.0.0-alpha.18
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 +4 -6944
- package/dist/components/Chat/Chat.css +11 -15
- package/dist/components/Chat/Chat.js +11 -3
- package/dist/components/Chat/Chat.js.map +1 -1
- package/dist/components/ChatBubble/ChatBubble.css +96 -22
- package/dist/components/ChatBubble/ChatBubble.js +31 -2
- package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
- package/dist/components/ChatHistoryDrawer/ChatHistory.css +1 -0
- package/dist/components/ChatInputs/ChatInputs.css +72 -147
- package/dist/components/ChatInputs/ChatInputs.js +3 -4
- package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
- package/dist/components/Header/ChatConsumptionDropdown.js +2 -1
- package/dist/components/Header/ChatConsumptionDropdown.js.map +1 -1
- package/dist/components/Header/Header.css +199 -34
- package/dist/components/Header/Header.d.ts +1 -0
- package/dist/components/Header/Header.js +42 -34
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/IconButton/IconButton.css +144 -0
- package/dist/components/IconButton/IconButton.d.ts +9 -0
- package/dist/components/IconButton/IconButton.js +36 -0
- package/dist/components/IconButton/IconButton.js.map +1 -0
- package/dist/components/KnownFacts/KnownFacts.css +22 -9
- package/dist/components/KnownFacts/KnownFacts.js +13 -4
- package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +29 -44
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +3 -2
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
- package/dist/components/MemoriWidget/MemoriWidget.css +2 -1
- package/dist/components/MemoriWidget/MemoriWidget.js +27 -30
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/components/MicrophoneButton/MicrophoneButton.css +2 -183
- package/dist/components/MicrophoneButton/MicrophoneButton.js +3 -1
- package/dist/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
- package/dist/components/MobileSessionPanel/MobileSessionPanel.css +22 -7
- package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +1 -0
- package/dist/components/MobileSessionPanel/MobileSessionPanel.js +6 -4
- package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
- package/dist/components/PositionPopover/PositionPopover.d.ts +2 -0
- package/dist/components/PositionPopover/PositionPopover.js +18 -4
- package/dist/components/PositionPopover/PositionPopover.js.map +1 -1
- package/dist/components/ShareButton/ShareButton.css +3 -2
- package/dist/components/ShareButton/ShareButton.js +3 -2
- package/dist/components/ShareButton/ShareButton.js.map +1 -1
- package/dist/components/UploadButton/UploadButton.css +2 -20
- package/dist/components/UploadButton/UploadButton.js +2 -1
- package/dist/components/UploadButton/UploadButton.js.map +1 -1
- package/dist/components/layouts/Chat.js +59 -73
- package/dist/components/layouts/Chat.js.map +1 -1
- package/dist/components/layouts/FullPage.js +53 -34
- package/dist/components/layouts/FullPage.js.map +1 -1
- package/dist/components/layouts/HiddenChat.js +3 -3
- package/dist/components/layouts/HiddenChat.js.map +1 -1
- package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +3 -3
- package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
- package/dist/components/layouts/WebsiteAssistant/website-assistant.css +28 -15
- package/dist/components/layouts/ZoomedFullBody.js +53 -34
- package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
- package/dist/components/layouts/chat.css +76 -41
- package/dist/components/layouts/fullpage.css +18 -9
- package/dist/components/layouts/hidden-chat.css +45 -69
- package/dist/components/layouts/zoomed-full-body.css +6 -5
- package/dist/helpers/positionPopover.d.ts +1 -1
- package/dist/helpers/positionPopover.js +2 -2
- package/dist/helpers/positionPopover.js.map +1 -1
- 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 +11 -15
- package/esm/components/Chat/Chat.js +11 -3
- package/esm/components/Chat/Chat.js.map +1 -1
- package/esm/components/ChatBubble/ChatBubble.css +96 -22
- package/esm/components/ChatBubble/ChatBubble.js +31 -2
- package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
- package/esm/components/ChatHistoryDrawer/ChatHistory.css +1 -0
- package/esm/components/ChatInputs/ChatInputs.css +72 -147
- package/esm/components/ChatInputs/ChatInputs.js +3 -4
- package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
- package/esm/components/Header/ChatConsumptionDropdown.js +3 -2
- package/esm/components/Header/ChatConsumptionDropdown.js.map +1 -1
- package/esm/components/Header/Header.css +199 -34
- package/esm/components/Header/Header.d.ts +1 -0
- package/esm/components/Header/Header.js +42 -34
- package/esm/components/Header/Header.js.map +1 -1
- package/esm/components/IconButton/IconButton.css +144 -0
- package/esm/components/IconButton/IconButton.d.ts +9 -0
- package/esm/components/IconButton/IconButton.js +33 -0
- package/esm/components/IconButton/IconButton.js.map +1 -0
- package/esm/components/KnownFacts/KnownFacts.css +22 -9
- package/esm/components/KnownFacts/KnownFacts.js +13 -4
- package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +29 -44
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +3 -2
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
- package/esm/components/MemoriWidget/MemoriWidget.css +2 -1
- package/esm/components/MemoriWidget/MemoriWidget.js +27 -30
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/MicrophoneButton/MicrophoneButton.css +2 -183
- package/esm/components/MicrophoneButton/MicrophoneButton.js +3 -2
- package/esm/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
- package/esm/components/MobileSessionPanel/MobileSessionPanel.css +22 -7
- package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +1 -0
- package/esm/components/MobileSessionPanel/MobileSessionPanel.js +6 -4
- package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
- package/esm/components/PositionPopover/PositionPopover.d.ts +2 -0
- package/esm/components/PositionPopover/PositionPopover.js +18 -4
- package/esm/components/PositionPopover/PositionPopover.js.map +1 -1
- package/esm/components/ShareButton/ShareButton.css +3 -2
- package/esm/components/ShareButton/ShareButton.js +4 -3
- package/esm/components/ShareButton/ShareButton.js.map +1 -1
- package/esm/components/UploadButton/UploadButton.css +2 -20
- package/esm/components/UploadButton/UploadButton.js +2 -1
- package/esm/components/UploadButton/UploadButton.js.map +1 -1
- package/esm/components/layouts/Chat.js +62 -76
- package/esm/components/layouts/Chat.js.map +1 -1
- package/esm/components/layouts/FullPage.js +54 -35
- package/esm/components/layouts/FullPage.js.map +1 -1
- package/esm/components/layouts/HiddenChat.js +3 -3
- package/esm/components/layouts/HiddenChat.js.map +1 -1
- package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +3 -3
- package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
- package/esm/components/layouts/WebsiteAssistant/website-assistant.css +28 -15
- package/esm/components/layouts/ZoomedFullBody.js +54 -35
- package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
- package/esm/components/layouts/chat.css +76 -41
- package/esm/components/layouts/fullpage.css +18 -9
- package/esm/components/layouts/hidden-chat.css +45 -69
- package/esm/components/layouts/zoomed-full-body.css +6 -5
- package/esm/helpers/positionPopover.d.ts +1 -1
- package/esm/helpers/positionPopover.js +2 -2
- package/esm/helpers/positionPopover.js.map +1 -1
- 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 +11 -15
- package/src/components/Chat/Chat.tsx +13 -2
- package/src/components/ChatBubble/ChatBubble.css +96 -22
- package/src/components/ChatBubble/ChatBubble.tsx +39 -0
- package/src/components/ChatHistoryDrawer/ChatHistory.css +1 -0
- package/src/components/ChatInputs/ChatInputs.css +72 -147
- package/src/components/ChatInputs/ChatInputs.tsx +7 -7
- package/src/components/Header/ChatConsumptionDropdown.tsx +3 -2
- package/src/components/Header/Header.css +199 -34
- package/src/components/Header/Header.tsx +120 -100
- package/src/components/Header/__snapshots__/Header.test.tsx.snap +90 -57
- package/src/components/IconButton/IconButton.css +144 -0
- package/src/components/IconButton/IconButton.tsx +89 -0
- package/src/components/KnownFacts/KnownFacts.css +22 -9
- package/src/components/KnownFacts/KnownFacts.tsx +13 -3
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +29 -44
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +11 -20
- package/src/components/MemoriWidget/MemoriWidget.css +2 -1
- package/src/components/MemoriWidget/MemoriWidget.tsx +38 -31
- package/src/components/MicrophoneButton/MicrophoneButton.css +2 -183
- package/src/components/MicrophoneButton/MicrophoneButton.tsx +5 -5
- package/src/components/MobileSessionPanel/MobileSessionPanel.css +22 -7
- package/src/components/MobileSessionPanel/MobileSessionPanel.tsx +8 -6
- package/src/components/PositionPopover/PositionPopover.tsx +30 -4
- package/src/components/ShareButton/ShareButton.css +3 -2
- package/src/components/ShareButton/ShareButton.tsx +8 -9
- package/src/components/ShareButton/__snapshots__/ShareButton.test.tsx.snap +9 -9
- package/src/components/StartPanel/StartPanel.stories.tsx +1 -1
- package/src/components/UploadButton/UploadButton.css +2 -20
- package/src/components/UploadButton/UploadButton.tsx +3 -5
- package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +29 -25
- package/src/components/layouts/Chat.tsx +210 -232
- package/src/components/layouts/FullPage.tsx +61 -40
- package/src/components/layouts/HiddenChat.tsx +5 -6
- package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.tsx +2 -2
- package/src/components/layouts/WebsiteAssistant/__snapshots__/WebsiteAssistant.test.tsx.snap +2 -0
- package/src/components/layouts/WebsiteAssistant/website-assistant.css +28 -15
- package/src/components/layouts/ZoomedFullBody.tsx +61 -40
- package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +145 -143
- package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +22 -18
- package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +10 -145
- package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +12 -10
- package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +11 -9
- package/src/components/layouts/chat.css +76 -41
- package/src/components/layouts/fullpage.css +18 -9
- package/src/components/layouts/hidden-chat.css +45 -69
- package/src/components/layouts/layouts.stories.tsx +1 -1
- package/src/components/layouts/zoomed-full-body.css +6 -5
- package/src/helpers/positionPopover.test.ts +10 -4
- package/src/helpers/positionPopover.ts +8 -5
- package/src/styles.css +1 -0
- package/src/version.ts +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/* Hold-to-talk: tooltip
|
|
1
|
+
/* Hold-to-talk: tooltip chrome only — button look owned by IconButton */
|
|
2
|
+
|
|
2
3
|
.memori-chat-inputs--mic-tooltip.memori-tooltip {
|
|
3
4
|
vertical-align: middle;
|
|
4
5
|
}
|
|
5
6
|
|
|
6
|
-
/* Library default is overflow: hidden auto + max-height — avoid scrollbars on short hint text */
|
|
7
7
|
.memori-chat-inputs--mic-tooltip .memori-tooltip--content {
|
|
8
8
|
overflow: visible;
|
|
9
9
|
max-height: none;
|
|
@@ -11,148 +11,15 @@
|
|
|
11
11
|
|
|
12
12
|
.memori-chat-inputs--mic {
|
|
13
13
|
z-index: 1;
|
|
14
|
-
width: 34px;
|
|
15
|
-
min-width: 34px;
|
|
16
|
-
height: 34px;
|
|
17
|
-
box-sizing: border-box;
|
|
18
14
|
flex-shrink: 0;
|
|
19
|
-
padding: 0;
|
|
20
|
-
border: none;
|
|
21
|
-
border-radius: 10px;
|
|
22
15
|
margin-left: 0;
|
|
23
|
-
background: transparent;
|
|
24
|
-
color: #888;
|
|
25
|
-
cursor: pointer;
|
|
26
16
|
-webkit-tap-highlight-color: transparent;
|
|
27
17
|
touch-action: manipulation;
|
|
28
18
|
-webkit-touch-callout: none;
|
|
29
|
-
transition: background 0.15s ease, color 0.15s ease;
|
|
30
19
|
-webkit-user-drag: none;
|
|
31
|
-
-khtml-user-drag: none;
|
|
32
|
-
-moz-user-drag: none;
|
|
33
|
-
-o-user-drag: none;
|
|
34
|
-
-webkit-user-select: none;
|
|
35
|
-
user-select: none;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.memori-chat-inputs--mic svg {
|
|
39
|
-
width: 18px;
|
|
40
|
-
height: 18px;
|
|
41
|
-
color: inherit;
|
|
42
|
-
font-size: 1em;
|
|
43
|
-
-webkit-user-select: none;
|
|
44
20
|
user-select: none;
|
|
45
21
|
}
|
|
46
22
|
|
|
47
|
-
.memori-chat-inputs--mic:hover {
|
|
48
|
-
background-color: #f2eef5 !important;
|
|
49
|
-
color: #555 !important;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.memori-chat-inputs--mic:active,
|
|
53
|
-
.memori-chat-inputs--mic:focus {
|
|
54
|
-
box-shadow: none !important;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.memori-chat-inputs--mic:not(.memori-chat-inputs--mic--listening):active,
|
|
58
|
-
.memori-chat-inputs--mic:not(.memori-chat-inputs--mic--listening):focus {
|
|
59
|
-
color: #555 !important;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/* Layout-scoped mic colors (FULL_PAGE / HIDDEN_CHAT / WEBSITE_ASSISTANT) */
|
|
63
|
-
.memori-widget.memori-layout-fullpage .memori-chat-inputs--mic,
|
|
64
|
-
.memori-widget.memori-layout-hidden_chat .memori-chat-inputs--mic,
|
|
65
|
-
.memori-widget.memori-layout-website_assistant .memori-chat-inputs--mic {
|
|
66
|
-
color: #9c98a4;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.memori-widget.memori-layout-fullpage .memori-chat-inputs--mic:hover {
|
|
70
|
-
background-color: #332f3a !important;
|
|
71
|
-
color: #d8d6de !important;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.memori-widget.memori-layout-hidden_chat .memori-chat-inputs--mic:hover,
|
|
75
|
-
.memori-widget.memori-layout-website_assistant .memori-chat-inputs--mic:hover {
|
|
76
|
-
background-color: transparent !important;
|
|
77
|
-
color: #d8d6de !important;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/* Enhanced touch feedback for mobile */
|
|
81
|
-
@media (hover: none) and (pointer: coarse) {
|
|
82
|
-
.memori-chat-inputs--mic:active {
|
|
83
|
-
transform: scale(0.95);
|
|
84
|
-
transition: transform 0.1s ease;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.memori-chat-inputs--mic:not(.memori-chat-inputs--mic--listening):active {
|
|
88
|
-
background-color: #f2eef5;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
@keyframes micBtnActivePulse {
|
|
93
|
-
0% {
|
|
94
|
-
transform: scale(1.25);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
25% {
|
|
98
|
-
transform: scale(1.4);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
50% {
|
|
102
|
-
transform: scale(1.3);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
75% {
|
|
106
|
-
transform: scale(1.4);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
100% {
|
|
110
|
-
transform: scale(1.2);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
.memori-chat-inputs--mic.memori-chat-inputs--mic--listening {
|
|
115
|
-
position: relative;
|
|
116
|
-
color: red !important;
|
|
117
|
-
-webkit-tap-highlight-color: transparent;
|
|
118
|
-
touch-action: manipulation;
|
|
119
|
-
-webkit-touch-callout: none;
|
|
120
|
-
transform: scale(1.5);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
.memori-chat-inputs--mic.memori-chat-inputs--mic--listening::before,
|
|
124
|
-
.memori-chat-inputs--mic.memori-chat-inputs--mic--listening::after {
|
|
125
|
-
position: absolute;
|
|
126
|
-
z-index: -1;
|
|
127
|
-
top: 0;
|
|
128
|
-
left: 0;
|
|
129
|
-
width: 100%;
|
|
130
|
-
height: 100%;
|
|
131
|
-
border-radius: 50%;
|
|
132
|
-
animation: micBtnActivePulse 2s infinite;
|
|
133
|
-
background: var(--memori-primary);
|
|
134
|
-
content: '';
|
|
135
|
-
opacity: 0.2;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
.memori-chat-inputs--mic.memori-chat-inputs--mic--listening::after {
|
|
139
|
-
top: 5%;
|
|
140
|
-
left: 5%;
|
|
141
|
-
width: 90%;
|
|
142
|
-
height: 90%;
|
|
143
|
-
animation-delay: 0.3s;
|
|
144
|
-
opacity: 0.3;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
.memori-chat-inputs--mic.memori-chat-inputs--mic--listening:active,
|
|
148
|
-
.memori-chat-inputs--mic.memori-chat-inputs--mic--listening:focus {
|
|
149
|
-
border-color: red !important;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
.memori-chat-inputs--mic.memori-chat-inputs--mic--listening svg {
|
|
153
|
-
color: red !important;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
23
|
.memori-chat-inputs--mic-tooltip.memori-tooltip--align-topLeft .memori-tooltip--content {
|
|
157
24
|
top: -50%;
|
|
158
25
|
right: 115%;
|
|
@@ -164,53 +31,5 @@
|
|
|
164
31
|
font-size: 0.85em;
|
|
165
32
|
opacity: 0;
|
|
166
33
|
text-align: center;
|
|
167
|
-
/* left: 0; */
|
|
168
34
|
transform: translateY(-100%);
|
|
169
35
|
}
|
|
170
|
-
|
|
171
|
-
/* Mobile-specific improvements for listening state */
|
|
172
|
-
@media (hover: none) and (pointer: coarse) {
|
|
173
|
-
.memori-chat-inputs--mic.memori-chat-inputs--mic--listening {
|
|
174
|
-
transform: scale(1.3);
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
.memori-chat-inputs--mic.memori-chat-inputs--mic--listening::before,
|
|
178
|
-
.memori-chat-inputs--mic.memori-chat-inputs--mic--listening::after {
|
|
179
|
-
animation-duration: 1.5s;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
[data-theme='dark'] .memori-chat-inputs--mic .lucide-mic {
|
|
184
|
-
color: #fff;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
.memori-widget.memori-layout-fullpage[data-theme='dark'] .memori-chat-inputs--mic .lucide-mic,
|
|
188
|
-
[data-theme='dark'] .memori-widget.memori-layout-fullpage .memori-chat-inputs--mic .lucide-mic,
|
|
189
|
-
.memori-widget.memori-layout-hidden_chat[data-theme='dark'] .memori-chat-inputs--mic .lucide-mic,
|
|
190
|
-
[data-theme='dark'] .memori-widget.memori-layout-hidden_chat .memori-chat-inputs--mic .lucide-mic,
|
|
191
|
-
.memori-widget.memori-layout-website_assistant[data-theme='dark'] .memori-chat-inputs--mic .lucide-mic,
|
|
192
|
-
[data-theme='dark'] .memori-widget.memori-layout-website_assistant .memori-chat-inputs--mic .lucide-mic {
|
|
193
|
-
color: inherit;
|
|
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
|
-
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React, { useState, useEffect, useRef } from 'react';
|
|
2
2
|
import { Props as ChatInputProps } from '../ChatInputs/ChatInputs';
|
|
3
3
|
import { Mic } from 'lucide-react';
|
|
4
|
-
import {
|
|
4
|
+
import { Tooltip } from '@memori.ai/ui';
|
|
5
|
+
import IconButton from '../IconButton/IconButton';
|
|
5
6
|
import { useTranslation } from 'react-i18next';
|
|
6
7
|
|
|
7
8
|
export interface Props {
|
|
@@ -112,10 +113,10 @@ const MicrophoneButton = ({
|
|
|
112
113
|
}}
|
|
113
114
|
>
|
|
114
115
|
<div onContextMenu={handleContextMenu}>
|
|
115
|
-
<
|
|
116
|
-
variant="ghost"
|
|
116
|
+
<IconButton
|
|
117
117
|
size="sm"
|
|
118
|
-
className=
|
|
118
|
+
className="memori-chat-inputs--mic"
|
|
119
|
+
recording={!!listening}
|
|
119
120
|
aria-label={listening ? listeningHint : idleHint}
|
|
120
121
|
aria-pressed={!!listening}
|
|
121
122
|
disabled={disabled}
|
|
@@ -124,7 +125,6 @@ const MicrophoneButton = ({
|
|
|
124
125
|
onMouseUp={stopHold}
|
|
125
126
|
onTouchEnd={handleTouchEnd}
|
|
126
127
|
onMouseLeave={stopHold}
|
|
127
|
-
// shape="circle"
|
|
128
128
|
icon={<Mic />}
|
|
129
129
|
/>
|
|
130
130
|
</div>
|
|
@@ -197,8 +197,7 @@
|
|
|
197
197
|
justify-content: center;
|
|
198
198
|
border: 1px solid color-mix(in srgb, var(--memori-text-color, #111827) 16%, transparent);
|
|
199
199
|
border-radius: 12px;
|
|
200
|
-
|
|
201
|
-
color: var(--memori-primary);
|
|
200
|
+
color: var(--memori-icon-button-icon, color-mix(in oklch, var(--memori-text-color, #111827) 72%, transparent));
|
|
202
201
|
}
|
|
203
202
|
|
|
204
203
|
[data-theme='dark'] .memori-mobile-session-panel--action-icon {
|
|
@@ -206,13 +205,33 @@
|
|
|
206
205
|
color: #fff;
|
|
207
206
|
}
|
|
208
207
|
|
|
208
|
+
.memori-mobile-session-panel--logout .memori-mobile-session-panel--action-icon {
|
|
209
|
+
color: #a53b45;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.memori-mobile-session-panel--action:focus-visible .memori-mobile-session-panel--action-icon {
|
|
213
|
+
color: var(--memori-primary);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.memori-mobile-session-panel--action:hover:not(:disabled) .memori-mobile-session-panel--action-icon {
|
|
217
|
+
color: var(--memori-primary);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
[data-theme='dark'] .memori-mobile-session-panel--action:focus-visible .memori-mobile-session-panel--action-icon {
|
|
221
|
+
color: var(--memori-primary);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
[data-theme='dark'] .memori-mobile-session-panel--action:hover:not(:disabled) .memori-mobile-session-panel--action-icon {
|
|
225
|
+
color: var(--memori-primary);
|
|
226
|
+
}
|
|
227
|
+
|
|
209
228
|
.memori-mobile-session-panel--action-icon svg {
|
|
210
229
|
width: 1rem;
|
|
211
230
|
max-width: 1rem;
|
|
212
231
|
height: 1rem;
|
|
213
232
|
max-height: 1rem;
|
|
214
233
|
flex-shrink: 0;
|
|
215
|
-
|
|
234
|
+
color: inherit;
|
|
216
235
|
}
|
|
217
236
|
|
|
218
237
|
.memori-mobile-session-panel--action-copy {
|
|
@@ -272,10 +291,6 @@
|
|
|
272
291
|
gap: 0.5rem;
|
|
273
292
|
}
|
|
274
293
|
|
|
275
|
-
.memori-mobile-session-panel--logout .memori-mobile-session-panel--action-icon {
|
|
276
|
-
color: #a53b45;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
294
|
.memori-mobile-session-panel--logout-label {
|
|
280
295
|
font-size: 1.02rem;
|
|
281
296
|
font-weight: 500;
|
|
@@ -79,6 +79,8 @@ export interface MobileSessionPanelProps {
|
|
|
79
79
|
history?: Message[];
|
|
80
80
|
aiUsageTitle?: string;
|
|
81
81
|
isLoggedIn?: boolean;
|
|
82
|
+
/** When false, hide profile / login / logout controls (authToken alone must not surface them). */
|
|
83
|
+
showLogin?: boolean;
|
|
82
84
|
loginLabel?: string;
|
|
83
85
|
onLogin?: () => void;
|
|
84
86
|
}
|
|
@@ -179,11 +181,14 @@ const MobileSessionPanel: React.FC<MobileSessionPanelProps> = ({
|
|
|
179
181
|
history = [],
|
|
180
182
|
aiUsageTitle,
|
|
181
183
|
isLoggedIn = false,
|
|
184
|
+
showLogin = false,
|
|
182
185
|
loginLabel = 'Log in',
|
|
183
186
|
onLogin,
|
|
184
187
|
venue,
|
|
185
188
|
setVenue,
|
|
186
189
|
}) => {
|
|
190
|
+
const showAuthControls = showLogin;
|
|
191
|
+
const showProfileControls = showAuthControls && isLoggedIn;
|
|
187
192
|
const panelRef = useRef<HTMLElement>(null);
|
|
188
193
|
const dialogRef = useRef<HTMLDivElement>(null);
|
|
189
194
|
const panelTitleId = 'mobile-session-panel-title';
|
|
@@ -465,7 +470,7 @@ const MobileSessionPanel: React.FC<MobileSessionPanelProps> = ({
|
|
|
465
470
|
{!isPopover && <div className="memori-mobile-session-panel--handle" />}
|
|
466
471
|
{activeView === 'session' ? (
|
|
467
472
|
<>
|
|
468
|
-
{
|
|
473
|
+
{showProfileControls && (
|
|
469
474
|
<div className="memori-mobile-session-panel--user">
|
|
470
475
|
<div className="memori-dropdown--avatar-wrap">
|
|
471
476
|
{avatarURL ? (
|
|
@@ -582,9 +587,6 @@ const MobileSessionPanel: React.FC<MobileSessionPanelProps> = ({
|
|
|
582
587
|
{resolvedKnownFactsHint}
|
|
583
588
|
</span>
|
|
584
589
|
</span>
|
|
585
|
-
<span className="memori-mobile-session-panel--action-trailing">
|
|
586
|
-
<ChevronRight size={16} />
|
|
587
|
-
</span>
|
|
588
590
|
</Button>
|
|
589
591
|
</li>
|
|
590
592
|
)}
|
|
@@ -671,7 +673,7 @@ const MobileSessionPanel: React.FC<MobileSessionPanelProps> = ({
|
|
|
671
673
|
</li>
|
|
672
674
|
))}
|
|
673
675
|
</ul>
|
|
674
|
-
{
|
|
676
|
+
{showProfileControls && (
|
|
675
677
|
<Button
|
|
676
678
|
variant="toolbar"
|
|
677
679
|
size="sm"
|
|
@@ -687,7 +689,7 @@ const MobileSessionPanel: React.FC<MobileSessionPanelProps> = ({
|
|
|
687
689
|
</span>
|
|
688
690
|
</Button>
|
|
689
691
|
)}
|
|
690
|
-
{!isLoggedIn && (
|
|
692
|
+
{showAuthControls && !isLoggedIn && (
|
|
691
693
|
<div className="memori-mobile-session-panel--login-cta-wrap">
|
|
692
694
|
<Button
|
|
693
695
|
variant="toolbar"
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
useAlertManager,
|
|
6
6
|
createAlertOptions,
|
|
7
7
|
} from '@memori.ai/ui';
|
|
8
|
+
import IconButton from '../IconButton/IconButton';
|
|
8
9
|
import { MapPin, Pencil } from 'lucide-react';
|
|
9
10
|
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
10
11
|
import { useTranslation } from 'react-i18next';
|
|
@@ -31,16 +32,21 @@ export interface PositionPopoverProps {
|
|
|
31
32
|
triggerButtonVariant?: React.ComponentProps<typeof Button>['variant'];
|
|
32
33
|
triggerAriaLabel: string;
|
|
33
34
|
positionerClassName?: string;
|
|
35
|
+
/** When true, start browser geolocation as soon as the popover opens. */
|
|
36
|
+
autoStartGeolocation?: boolean;
|
|
34
37
|
}
|
|
35
38
|
|
|
36
39
|
export interface PositionPopoverContentProps {
|
|
37
40
|
venue?: Venue;
|
|
38
41
|
setVenue: (venue?: Venue) => void;
|
|
42
|
+
/** When true, start browser geolocation as soon as the panel mounts (e.g. StartPanel CTA). */
|
|
43
|
+
autoStartGeolocation?: boolean;
|
|
39
44
|
}
|
|
40
45
|
|
|
41
46
|
export const PositionPopoverContent: React.FC<PositionPopoverContentProps> = ({
|
|
42
47
|
venue,
|
|
43
48
|
setVenue,
|
|
49
|
+
autoStartGeolocation = false,
|
|
44
50
|
}) => {
|
|
45
51
|
const { t } = useTranslation();
|
|
46
52
|
const { add } = useAlertManager();
|
|
@@ -55,6 +61,7 @@ export const PositionPopoverContent: React.FC<PositionPopoverContentProps> = ({
|
|
|
55
61
|
const [suggestions, setSuggestions] = useState<NominatimItem[]>([]);
|
|
56
62
|
const geoGenRef = useRef(0);
|
|
57
63
|
const autocompleteInputRef = useRef<HTMLInputElement>(null);
|
|
64
|
+
const autoStartedRef = useRef(false);
|
|
58
65
|
|
|
59
66
|
const sharingActive = geolocationLoading || hasShareableCoords(venue);
|
|
60
67
|
|
|
@@ -200,6 +207,17 @@ export const PositionPopoverContent: React.FC<PositionPopoverContentProps> = ({
|
|
|
200
207
|
startGeolocation();
|
|
201
208
|
}, [geolocationLoading, setVenue, sharingActive, startGeolocation]);
|
|
202
209
|
|
|
210
|
+
useEffect(() => {
|
|
211
|
+
if (!autoStartGeolocation) {
|
|
212
|
+
autoStartedRef.current = false;
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
if (autoStartedRef.current) return;
|
|
216
|
+
if (hasShareableCoords(venue) || geolocationLoading) return;
|
|
217
|
+
autoStartedRef.current = true;
|
|
218
|
+
startGeolocation();
|
|
219
|
+
}, [autoStartGeolocation, geolocationLoading, startGeolocation, venue]);
|
|
220
|
+
|
|
203
221
|
useEffect(() => {
|
|
204
222
|
if (!editingLocation) return;
|
|
205
223
|
const id = requestAnimationFrame(() => {
|
|
@@ -313,9 +331,10 @@ const PositionPopover: React.FC<PositionPopoverProps> = ({
|
|
|
313
331
|
open,
|
|
314
332
|
onOpenChange,
|
|
315
333
|
triggerClassName,
|
|
316
|
-
triggerButtonVariant = '
|
|
334
|
+
triggerButtonVariant = 'toolbar',
|
|
317
335
|
triggerAriaLabel,
|
|
318
336
|
positionerClassName,
|
|
337
|
+
autoStartGeolocation = false,
|
|
319
338
|
}) => {
|
|
320
339
|
const sharingActive = hasShareableCoords(venue);
|
|
321
340
|
|
|
@@ -333,15 +352,16 @@ const PositionPopover: React.FC<PositionPopoverProps> = ({
|
|
|
333
352
|
className: triggerClassName,
|
|
334
353
|
render: (props: React.ComponentProps<typeof Button>) => {
|
|
335
354
|
return (
|
|
336
|
-
<
|
|
355
|
+
<IconButton
|
|
337
356
|
{...props}
|
|
338
357
|
type="button"
|
|
339
358
|
variant={triggerButtonVariant}
|
|
359
|
+
active={open}
|
|
340
360
|
className={cx(
|
|
341
361
|
'memori-header--button',
|
|
342
362
|
'memori-header--button--position',
|
|
343
363
|
sharingActive && 'memori-header--button--position--active',
|
|
344
|
-
|
|
364
|
+
triggerClassName
|
|
345
365
|
)}
|
|
346
366
|
aria-label={triggerAriaLabel}
|
|
347
367
|
aria-expanded={open}
|
|
@@ -357,7 +377,13 @@ const PositionPopover: React.FC<PositionPopoverProps> = ({
|
|
|
357
377
|
),
|
|
358
378
|
},
|
|
359
379
|
}}
|
|
360
|
-
content={
|
|
380
|
+
content={
|
|
381
|
+
<PositionPopoverContent
|
|
382
|
+
venue={venue}
|
|
383
|
+
setVenue={setVenue}
|
|
384
|
+
autoStartGeolocation={open && autoStartGeolocation}
|
|
385
|
+
/>
|
|
386
|
+
}
|
|
361
387
|
>
|
|
362
388
|
{null}
|
|
363
389
|
</Popover>
|
|
@@ -23,8 +23,9 @@
|
|
|
23
23
|
max-height: 1rem;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
.memori-share-button .memori-button.memori-button--active:not(:disabled):not(.memori-button--disabled) {
|
|
27
|
-
|
|
26
|
+
.memori-share-button .memori-icon-button.memori-button.memori-button--active:not(:disabled):not(.memori-button--disabled) {
|
|
27
|
+
/* Soft active owned by IconButton.css */
|
|
28
|
+
box-shadow: none;
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
.memori-share-button--trigger-menu-item {
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
createAlertOptions,
|
|
17
17
|
Tooltip,
|
|
18
18
|
} from '@memori.ai/ui';
|
|
19
|
+
import IconButton from '../IconButton/IconButton';
|
|
19
20
|
import cx from 'classnames';
|
|
20
21
|
import {
|
|
21
22
|
Tenant,
|
|
@@ -549,28 +550,26 @@ const ShareButton: React.FC<Props> = ({
|
|
|
549
550
|
showChevron={false}
|
|
550
551
|
className="memori-share-button--trigger"
|
|
551
552
|
render={(props: React.ButtonHTMLAttributes<HTMLButtonElement>) => (
|
|
552
|
-
<
|
|
553
|
+
<IconButton
|
|
553
554
|
{...props}
|
|
554
555
|
variant={triggerVariant}
|
|
556
|
+
active={isShareMenuOpen}
|
|
555
557
|
title={String(triggerLabel || t('widget.share') || 'Share')}
|
|
556
558
|
aria-label={String(
|
|
557
559
|
triggerLabel || t('widget.share') || 'Share'
|
|
558
560
|
)}
|
|
559
561
|
icon={<Share2 aria-hidden />}
|
|
560
|
-
className={cx(
|
|
561
|
-
|
|
562
|
-
'
|
|
563
|
-
|
|
564
|
-
},
|
|
565
|
-
isShareMenuOpen && 'memori-button--active'
|
|
566
|
-
)}
|
|
562
|
+
className={cx({
|
|
563
|
+
'memori-share-button--trigger-menu-item':
|
|
564
|
+
triggerMode === 'menu-item',
|
|
565
|
+
})}
|
|
567
566
|
>
|
|
568
567
|
{triggerMode === 'menu-item' || triggerLabel ? (
|
|
569
568
|
<span className="memori-header--action-label">
|
|
570
569
|
{triggerLabel || t('widget.share')}
|
|
571
570
|
</span>
|
|
572
571
|
) : undefined}
|
|
573
|
-
</
|
|
572
|
+
</IconButton>
|
|
574
573
|
)}
|
|
575
574
|
/>
|
|
576
575
|
</Tooltip>
|
|
@@ -16,7 +16,7 @@ exports[`renders ShareButton aligned left unchanged 1`] = `
|
|
|
16
16
|
aria-expanded="false"
|
|
17
17
|
aria-haspopup="menu"
|
|
18
18
|
aria-label="widget.share"
|
|
19
|
-
class="memori-button memori-button--
|
|
19
|
+
class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button"
|
|
20
20
|
id="base-ui-:r1e:"
|
|
21
21
|
tabindex="0"
|
|
22
22
|
title="widget.share"
|
|
@@ -99,7 +99,7 @@ exports[`renders ShareButton unchanged 1`] = `
|
|
|
99
99
|
aria-expanded="false"
|
|
100
100
|
aria-haspopup="menu"
|
|
101
101
|
aria-label="widget.share"
|
|
102
|
-
class="memori-button memori-button--
|
|
102
|
+
class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button"
|
|
103
103
|
id="base-ui-:r6:"
|
|
104
104
|
tabindex="0"
|
|
105
105
|
title="widget.share"
|
|
@@ -182,7 +182,7 @@ exports[`renders ShareButton with button not primary unchanged 1`] = `
|
|
|
182
182
|
aria-expanded="false"
|
|
183
183
|
aria-haspopup="menu"
|
|
184
184
|
aria-label="widget.share"
|
|
185
|
-
class="memori-button memori-button--
|
|
185
|
+
class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button"
|
|
186
186
|
id="base-ui-:ru:"
|
|
187
187
|
tabindex="0"
|
|
188
188
|
title="widget.share"
|
|
@@ -265,7 +265,7 @@ exports[`renders ShareButton with other tenant img set unchanged 1`] = `
|
|
|
265
265
|
aria-expanded="false"
|
|
266
266
|
aria-haspopup="menu"
|
|
267
267
|
aria-label="widget.share"
|
|
268
|
-
class="memori-button memori-button--
|
|
268
|
+
class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button"
|
|
269
269
|
id="base-ui-:r1u:"
|
|
270
270
|
tabindex="0"
|
|
271
271
|
title="widget.share"
|
|
@@ -348,7 +348,7 @@ exports[`renders ShareButton with share chat unchanged 1`] = `
|
|
|
348
348
|
aria-expanded="false"
|
|
349
349
|
aria-haspopup="menu"
|
|
350
350
|
aria-label="widget.share"
|
|
351
|
-
class="memori-button memori-button--
|
|
351
|
+
class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button"
|
|
352
352
|
id="base-ui-:r26:"
|
|
353
353
|
tabindex="0"
|
|
354
354
|
title="widget.share"
|
|
@@ -431,7 +431,7 @@ exports[`renders ShareButton with tenant img set unchanged 1`] = `
|
|
|
431
431
|
aria-expanded="false"
|
|
432
432
|
aria-haspopup="menu"
|
|
433
433
|
aria-label="widget.share"
|
|
434
|
-
class="memori-button memori-button--
|
|
434
|
+
class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button"
|
|
435
435
|
id="base-ui-:r1m:"
|
|
436
436
|
tabindex="0"
|
|
437
437
|
title="widget.share"
|
|
@@ -514,7 +514,7 @@ exports[`renders ShareButton with title unchanged 1`] = `
|
|
|
514
514
|
aria-expanded="false"
|
|
515
515
|
aria-haspopup="menu"
|
|
516
516
|
aria-label="widget.share"
|
|
517
|
-
class="memori-button memori-button--
|
|
517
|
+
class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button"
|
|
518
518
|
id="base-ui-:rm:"
|
|
519
519
|
tabindex="0"
|
|
520
520
|
title="widget.share"
|
|
@@ -597,7 +597,7 @@ exports[`renders ShareButton with url unchanged 1`] = `
|
|
|
597
597
|
aria-expanded="false"
|
|
598
598
|
aria-haspopup="menu"
|
|
599
599
|
aria-label="widget.share"
|
|
600
|
-
class="memori-button memori-button--
|
|
600
|
+
class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button"
|
|
601
601
|
id="base-ui-:re:"
|
|
602
602
|
tabindex="0"
|
|
603
603
|
title="widget.share"
|
|
@@ -680,7 +680,7 @@ exports[`renders ShareButton without qr code unchanged 1`] = `
|
|
|
680
680
|
aria-expanded="false"
|
|
681
681
|
aria-haspopup="menu"
|
|
682
682
|
aria-label="widget.share"
|
|
683
|
-
class="memori-button memori-button--
|
|
683
|
+
class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button"
|
|
684
684
|
id="base-ui-:r16:"
|
|
685
685
|
tabindex="0"
|
|
686
686
|
title="widget.share"
|
|
@@ -64,29 +64,11 @@
|
|
|
64
64
|
display: inline-flex;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
/* Main Upload Button */
|
|
68
|
-
.memori--unified-upload-button {
|
|
67
|
+
/* Main Upload Button — chrome from IconButton */
|
|
68
|
+
.memori--unified-upload-button.memori-icon-button {
|
|
69
69
|
position: relative;
|
|
70
|
-
display: flex;
|
|
71
|
-
width: 40px;
|
|
72
|
-
height: 40px;
|
|
73
|
-
align-items: center;
|
|
74
|
-
justify-content: center;
|
|
75
|
-
border: 1px solid #e0e0e0;
|
|
76
|
-
border-radius: 50%;
|
|
77
|
-
background-color: #f5f5f5;
|
|
78
|
-
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
|
|
79
|
-
cursor: pointer;
|
|
80
|
-
transition: all 0.2s ease;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
.memori--unified-upload-button:hover {
|
|
84
|
-
background-color: #efefef;
|
|
85
|
-
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
|
86
|
-
transform: translateY(-1px);
|
|
87
70
|
}
|
|
88
71
|
|
|
89
|
-
/* Document Button */
|
|
90
72
|
.memori--document-upload-button {
|
|
91
73
|
position: relative;
|
|
92
74
|
display: flex;
|
|
@@ -7,6 +7,7 @@ import React, {
|
|
|
7
7
|
} from 'react';
|
|
8
8
|
import { Upload as UploadIcon } from 'lucide-react';
|
|
9
9
|
import { Spin, Tooltip, useAlertManager } from '@memori.ai/ui';
|
|
10
|
+
import IconButton from '../IconButton/IconButton';
|
|
10
11
|
import cx from 'classnames';
|
|
11
12
|
import UploadDocuments from './UploadDocuments/UploadDocuments';
|
|
12
13
|
import UploadImages from './UploadImages/UploadImages';
|
|
@@ -590,13 +591,10 @@ ${file.textAssetUrl || ''}
|
|
|
590
591
|
const isUploadDisabled = disabled || isLoading || hasReachedMediaLimit;
|
|
591
592
|
|
|
592
593
|
const uploadButton = (
|
|
593
|
-
<
|
|
594
|
+
<IconButton
|
|
594
595
|
ref={buttonRef}
|
|
595
596
|
type="button"
|
|
596
597
|
className={cx(
|
|
597
|
-
'memori-button',
|
|
598
|
-
'memori-button--circle',
|
|
599
|
-
'memori-button--icon-only',
|
|
600
598
|
'memori-share-button--button',
|
|
601
599
|
'memori--conversation-button',
|
|
602
600
|
'memori--unified-upload-button'
|
|
@@ -611,7 +609,7 @@ ${file.textAssetUrl || ''}
|
|
|
611
609
|
) : (
|
|
612
610
|
<UploadIcon className="memori--upload-icon" />
|
|
613
611
|
)}
|
|
614
|
-
</
|
|
612
|
+
</IconButton>
|
|
615
613
|
);
|
|
616
614
|
|
|
617
615
|
return (
|