@memori.ai/memori-react 9.0.0-alpha.6 → 9.0.0-alpha.8
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 +20 -0
- package/dist/components/AgeVerificationModal/AgeVerificationModal.js +3 -1
- package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
- package/dist/components/Auth/Auth.js +3 -1
- package/dist/components/Auth/Auth.js.map +1 -1
- package/dist/components/Chat/Chat.js +3 -1
- package/dist/components/Chat/Chat.js.map +1 -1
- package/dist/components/ChatBubble/ChatBubble.js +3 -1
- package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
- package/dist/components/ChatHistoryDrawer/ChatHistory.js +3 -1
- package/dist/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
- package/dist/components/ContentPreviewModal/ContentPreviewModal.js +3 -1
- package/dist/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
- package/dist/components/ExpertsDrawer/ExpertsDrawer.js +3 -1
- package/dist/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
- package/dist/components/KnownFacts/KnownFacts.js +5 -3
- package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
- package/dist/components/LoginDrawer/LoginDrawer.js +3 -1
- package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +19 -5
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +4 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
- package/dist/components/MemoriWidget/MemoriWidget.css +4 -2
- package/dist/components/MemoriWidget/MemoriWidget.js +139 -130
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/components/SettingsDrawer/SettingsDrawer.js +3 -1
- package/dist/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
- package/dist/components/StartPanel/StartPanel.js +3 -1
- package/dist/components/StartPanel/StartPanel.js.map +1 -1
- package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +3 -1
- package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
- package/dist/components/UploadButton/UploadImages/UploadImages.js +3 -1
- package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
- package/dist/components/WhyThisAnswer/WhyThisAnswer.js +3 -1
- package/dist/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
- package/dist/components/layouts/HiddenChat.js +4 -223
- package/dist/components/layouts/HiddenChat.js.map +1 -1
- package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +3 -1
- package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
- package/dist/components/layouts/WebsiteAssistant/website-assistant.css +19 -0
- package/dist/components/layouts/chat.css +2 -1
- package/dist/components/layouts/fullpage.css +31 -8
- package/dist/components/layouts/hidden-chat.css +1 -6
- package/dist/components/layouts/totem.css +2 -1
- package/dist/components/layouts/zoomed-full-body.css +32 -7
- package/dist/context/widgetSurfaceContext.d.ts +3 -0
- package/dist/context/widgetSurfaceContext.js +11 -0
- package/dist/context/widgetSurfaceContext.js.map +1 -0
- package/dist/helpers/positionPopover.d.ts +1 -0
- package/dist/helpers/positionPopover.js +7 -0
- package/dist/helpers/positionPopover.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/esm/components/AgeVerificationModal/AgeVerificationModal.js +3 -1
- package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
- package/esm/components/Auth/Auth.js +3 -1
- package/esm/components/Auth/Auth.js.map +1 -1
- package/esm/components/Chat/Chat.js +3 -1
- package/esm/components/Chat/Chat.js.map +1 -1
- package/esm/components/ChatBubble/ChatBubble.js +3 -1
- package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
- package/esm/components/ChatHistoryDrawer/ChatHistory.js +3 -1
- package/esm/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
- package/esm/components/ContentPreviewModal/ContentPreviewModal.js +3 -1
- package/esm/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
- package/esm/components/ExpertsDrawer/ExpertsDrawer.js +3 -1
- package/esm/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
- package/esm/components/KnownFacts/KnownFacts.js +5 -3
- package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
- package/esm/components/LoginDrawer/LoginDrawer.js +3 -1
- package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +19 -5
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +4 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
- package/esm/components/MemoriWidget/MemoriWidget.css +4 -2
- package/esm/components/MemoriWidget/MemoriWidget.js +139 -130
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/SettingsDrawer/SettingsDrawer.js +3 -1
- package/esm/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
- package/esm/components/StartPanel/StartPanel.js +3 -1
- package/esm/components/StartPanel/StartPanel.js.map +1 -1
- package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +3 -1
- package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
- package/esm/components/UploadButton/UploadImages/UploadImages.js +3 -1
- package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
- package/esm/components/WhyThisAnswer/WhyThisAnswer.js +3 -1
- package/esm/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
- package/esm/components/layouts/HiddenChat.js +6 -225
- package/esm/components/layouts/HiddenChat.js.map +1 -1
- package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +3 -1
- package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
- package/esm/components/layouts/WebsiteAssistant/website-assistant.css +19 -0
- package/esm/components/layouts/chat.css +2 -1
- package/esm/components/layouts/fullpage.css +31 -8
- package/esm/components/layouts/hidden-chat.css +1 -6
- package/esm/components/layouts/totem.css +2 -1
- package/esm/components/layouts/zoomed-full-body.css +32 -7
- package/esm/context/widgetSurfaceContext.d.ts +3 -0
- package/esm/context/widgetSurfaceContext.js +7 -0
- package/esm/context/widgetSurfaceContext.js.map +1 -0
- package/esm/helpers/positionPopover.d.ts +1 -0
- package/esm/helpers/positionPopover.js +4 -0
- package/esm/helpers/positionPopover.js.map +1 -0
- 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/AgeVerificationModal/AgeVerificationModal.tsx +3 -0
- package/src/components/Auth/Auth.tsx +3 -0
- package/src/components/Chat/Chat.tsx +3 -0
- package/src/components/ChatBubble/ChatBubble.tsx +3 -0
- package/src/components/ChatHistoryDrawer/ChatHistory.tsx +3 -0
- package/src/components/ContentPreviewModal/ContentPreviewModal.tsx +3 -0
- package/src/components/ExpertsDrawer/ExpertsDrawer.tsx +3 -0
- package/src/components/KnownFacts/KnownFacts.tsx +5 -0
- package/src/components/LoginDrawer/LoginDrawer.tsx +3 -0
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +19 -5
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +4 -0
- package/src/components/MemoriWidget/MemoriWidget.css +4 -2
- package/src/components/MemoriWidget/MemoriWidget.tsx +45 -22
- package/src/components/SettingsDrawer/SettingsDrawer.tsx +3 -0
- package/src/components/StartPanel/StartPanel.tsx +3 -0
- package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +3 -0
- package/src/components/UploadButton/UploadImages/UploadImages.tsx +3 -0
- package/src/components/WhyThisAnswer/WhyThisAnswer.tsx +3 -0
- package/src/components/layouts/HiddenChat.tsx +3 -389
- package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.tsx +4 -0
- package/src/components/layouts/WebsiteAssistant/__snapshots__/WebsiteAssistant.test.tsx.snap +48 -44
- package/src/components/layouts/WebsiteAssistant/website-assistant.css +19 -0
- package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +533 -529
- package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +1058 -1050
- package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +406 -441
- package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +584 -580
- package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +528 -524
- package/src/components/layouts/chat.css +2 -1
- package/src/components/layouts/fullpage.css +31 -8
- package/src/components/layouts/hidden-chat.css +1 -6
- package/src/components/layouts/totem.css +2 -1
- package/src/components/layouts/zoomed-full-body.css +32 -7
- package/src/context/widgetSurfaceContext.tsx +14 -0
- package/src/helpers/positionPopover.test.ts +33 -0
- package/src/helpers/positionPopover.ts +13 -0
- package/src/styles.css +61 -1
- package/src/version.ts +1 -1
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
background: none;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
.memori-widget > .memori-spin.memori-chat-layout
|
|
11
|
+
.memori-widget > .memori-spin.memori-chat-layout,
|
|
12
|
+
.memori-widget > .memori-widget__surface > .memori-spin.memori-chat-layout {
|
|
12
13
|
display: flex;
|
|
13
14
|
overflow: hidden;
|
|
14
15
|
height: 100%;
|
|
@@ -9,11 +9,13 @@
|
|
|
9
9
|
margin-left: auto;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
.memori-widget.memori-layout-fullpage > .memori-spin
|
|
12
|
+
.memori-widget.memori-layout-fullpage > .memori-spin,
|
|
13
|
+
.memori-widget.memori-layout-fullpage > .memori-widget__surface > .memori-spin {
|
|
13
14
|
display: flex;
|
|
14
|
-
|
|
15
|
-
height:
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
height: 100%;
|
|
16
17
|
min-height: 0;
|
|
18
|
+
flex: 1 1 auto;
|
|
17
19
|
flex-direction: column;
|
|
18
20
|
gap: 0;
|
|
19
21
|
}
|
|
@@ -156,7 +158,7 @@
|
|
|
156
158
|
display: flex;
|
|
157
159
|
overflow: hidden;
|
|
158
160
|
min-height: 0;
|
|
159
|
-
flex: 1 1
|
|
161
|
+
flex: 1 1 0%;
|
|
160
162
|
flex-direction: row;
|
|
161
163
|
align-items: stretch;
|
|
162
164
|
}
|
|
@@ -168,7 +170,7 @@
|
|
|
168
170
|
max-width: var(--memori-layout-max-width);
|
|
169
171
|
height: 100%;
|
|
170
172
|
min-height: 0;
|
|
171
|
-
flex: 1 1
|
|
173
|
+
flex: 1 1 0%;
|
|
172
174
|
align-items: stretch;
|
|
173
175
|
justify-content: center;
|
|
174
176
|
padding: 0 var(--memori-spacing-md) var(--memori-spacing-md);
|
|
@@ -179,10 +181,16 @@
|
|
|
179
181
|
}
|
|
180
182
|
|
|
181
183
|
.memori-widget.memori-layout-fullpage .memori--grid-column-left {
|
|
184
|
+
display: flex;
|
|
182
185
|
overflow: hidden;
|
|
183
186
|
width: 50%;
|
|
184
187
|
max-width: 420px;
|
|
188
|
+
height: 100%;
|
|
189
|
+
min-height: 0;
|
|
190
|
+
flex-direction: column;
|
|
185
191
|
flex-shrink: 0;
|
|
192
|
+
align-items: stretch;
|
|
193
|
+
align-self: stretch;
|
|
186
194
|
border: 1px solid color-mix(in srgb, var(--memori-text-color, #111827) 10%, transparent);
|
|
187
195
|
border-radius: 0.9rem;
|
|
188
196
|
margin-right: 0;
|
|
@@ -191,23 +199,35 @@
|
|
|
191
199
|
}
|
|
192
200
|
|
|
193
201
|
.memori-widget.memori-layout-fullpage .memori--grid-column-left .memori--avatar-wrapper {
|
|
194
|
-
|
|
195
|
-
|
|
202
|
+
position: relative;
|
|
203
|
+
display: flex;
|
|
204
|
+
width: 100%;
|
|
205
|
+
height: 100%;
|
|
206
|
+
min-height: 0;
|
|
207
|
+
flex: 1 1 0%;
|
|
208
|
+
align-items: stretch;
|
|
209
|
+
justify-content: center;
|
|
210
|
+
padding-top: 0;
|
|
196
211
|
}
|
|
197
212
|
|
|
198
213
|
.memori-widget.memori-layout-fullpage .memori--grid-column-left .memori--avatar-wrapper model-viewer,
|
|
199
214
|
.memori-widget.memori-layout-fullpage .memori--grid-column-left .memori--avatar-wrapper canvas,
|
|
200
215
|
.memori-widget.memori-layout-fullpage .memori--grid-column-left .memori--avatar-wrapper > div {
|
|
216
|
+
width: 100% !important;
|
|
201
217
|
max-width: 100%;
|
|
218
|
+
height: 100% !important;
|
|
219
|
+
max-height: 100%;
|
|
202
220
|
}
|
|
203
221
|
|
|
204
222
|
.memori-widget.memori-layout-fullpage .memori-chat-layout--main {
|
|
205
223
|
display: flex;
|
|
206
224
|
min-width: 0;
|
|
225
|
+
height: 100%;
|
|
207
226
|
min-height: 0;
|
|
208
227
|
flex: 1;
|
|
209
228
|
flex-direction: column;
|
|
210
229
|
align-items: stretch;
|
|
230
|
+
align-self: stretch;
|
|
211
231
|
justify-content: stretch;
|
|
212
232
|
}
|
|
213
233
|
|
|
@@ -247,7 +267,7 @@
|
|
|
247
267
|
height: 100%;
|
|
248
268
|
min-height: 0;
|
|
249
269
|
max-height: 100%;
|
|
250
|
-
flex: 1 1
|
|
270
|
+
flex: 1 1 0%;
|
|
251
271
|
flex-direction: column;
|
|
252
272
|
align-items: stretch;
|
|
253
273
|
padding: 0;
|
|
@@ -255,10 +275,13 @@
|
|
|
255
275
|
|
|
256
276
|
.memori-widget.memori-layout-fullpage .memori-chat-layout--controls .memori--start-panel,
|
|
257
277
|
.memori-widget.memori-layout-fullpage .memori-chat-layout--controls .memori-chat--wrapper {
|
|
278
|
+
display: flex;
|
|
258
279
|
width: 100%;
|
|
259
280
|
max-width: 100%;
|
|
260
281
|
height: 100%;
|
|
261
282
|
min-height: 0;
|
|
283
|
+
flex: 1 1 0%;
|
|
284
|
+
flex-direction: column;
|
|
262
285
|
padding: 0 !important;
|
|
263
286
|
margin-right: 0;
|
|
264
287
|
margin-left: 0;
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
right: 0;
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
+
/* Keep in sync with ArtifactDrawer split width (46% / --memori-modal-size-md override) */
|
|
195
196
|
.memori-sidebar-toggle-artifact:checked ~ .memori-sidebar-container .memori-sidebar {
|
|
196
197
|
right: 46%;
|
|
197
198
|
}
|
|
@@ -513,9 +514,3 @@
|
|
|
513
514
|
border: var(--memori-border) solid #fff;
|
|
514
515
|
color: #fff;
|
|
515
516
|
}
|
|
516
|
-
|
|
517
|
-
.memori-widget.memori-layout-hidden_chat[data-theme='dark'] .memori-hidden-chat-layout--overflow-trigger,
|
|
518
|
-
[data-theme='dark'] .memori-widget.memori-layout-hidden_chat .memori-hidden-chat-layout--overflow-trigger {
|
|
519
|
-
border: var(--memori-border) solid #fff;
|
|
520
|
-
color: #fff;
|
|
521
|
-
}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
background: linear-gradient(#333, #eee);
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
.memori-widget > .memori-spin.memori-totem-layout
|
|
9
|
+
.memori-widget > .memori-spin.memori-totem-layout,
|
|
10
|
+
.memori-widget > .memori-widget__surface > .memori-spin.memori-totem-layout {
|
|
10
11
|
display: flex;
|
|
11
12
|
height: 100%;
|
|
12
13
|
flex-direction: column;
|
|
@@ -17,21 +17,30 @@
|
|
|
17
17
|
margin-left: auto;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
.memori-widget.memori-layout-zoomed_full_body > .memori-spin
|
|
20
|
+
.memori-widget.memori-layout-zoomed_full_body > .memori-spin,
|
|
21
|
+
.memori-widget.memori-layout-zoomed_full_body > .memori-widget__surface > .memori-spin {
|
|
21
22
|
display: flex;
|
|
22
|
-
|
|
23
|
-
height:
|
|
23
|
+
overflow: hidden;
|
|
24
|
+
height: 100%;
|
|
24
25
|
min-height: 0;
|
|
26
|
+
flex: 1 1 auto;
|
|
25
27
|
flex-direction: column;
|
|
26
28
|
gap: 0;
|
|
27
29
|
}
|
|
28
30
|
|
|
29
|
-
/* 3D avatar: pin “Powered by” to the corner so it clears the figure
|
|
31
|
+
/* 3D avatar: pin “Powered by” to the corner so it clears the figure.
|
|
32
|
+
Order: lower-specificity (no surface) first, then surface variants
|
|
33
|
+
(stylelint no-descending-specificity). */
|
|
30
34
|
.memori-widget.memori-layout-zoomed_full_body > .memori-spin > .memori--powered-by,
|
|
31
35
|
.memori-widget.memori-layout-zoomed_full_body.memori--avatar-readyplayerme > .memori-spin > .memori--powered-by,
|
|
32
36
|
.memori-widget.memori-layout-zoomed_full_body.memori--avatar-readyplayerme-full > .memori-spin > .memori--powered-by,
|
|
33
37
|
.memori-widget.memori-layout-zoomed_full_body.memori--avatar-customglb > .memori-spin > .memori--powered-by,
|
|
34
|
-
.memori-widget.memori-layout-zoomed_full_body.memori--avatar-customrpm > .memori-spin > .memori--powered-by
|
|
38
|
+
.memori-widget.memori-layout-zoomed_full_body.memori--avatar-customrpm > .memori-spin > .memori--powered-by,
|
|
39
|
+
.memori-widget.memori-layout-zoomed_full_body > .memori-widget__surface > .memori-spin > .memori--powered-by,
|
|
40
|
+
.memori-widget.memori-layout-zoomed_full_body.memori--avatar-readyplayerme > .memori-widget__surface > .memori-spin > .memori--powered-by,
|
|
41
|
+
.memori-widget.memori-layout-zoomed_full_body.memori--avatar-readyplayerme-full > .memori-widget__surface > .memori-spin > .memori--powered-by,
|
|
42
|
+
.memori-widget.memori-layout-zoomed_full_body.memori--avatar-customglb > .memori-widget__surface > .memori-spin > .memori--powered-by,
|
|
43
|
+
.memori-widget.memori-layout-zoomed_full_body.memori--avatar-customrpm > .memori-widget__surface > .memori-spin > .memori--powered-by {
|
|
35
44
|
bottom: 3.5rem;
|
|
36
45
|
left: 1.5rem;
|
|
37
46
|
}
|
|
@@ -158,10 +167,16 @@
|
|
|
158
167
|
}
|
|
159
168
|
|
|
160
169
|
.memori-widget.memori-layout-zoomed_full_body .memori--grid-column-left {
|
|
170
|
+
display: flex;
|
|
161
171
|
overflow: hidden;
|
|
162
172
|
width: 50%;
|
|
163
173
|
max-width: 420px;
|
|
174
|
+
height: 100%;
|
|
175
|
+
min-height: 0;
|
|
176
|
+
flex-direction: column;
|
|
164
177
|
flex-shrink: 0;
|
|
178
|
+
align-items: stretch;
|
|
179
|
+
align-self: stretch;
|
|
165
180
|
border: 1px solid color-mix(in srgb, var(--memori-text-color, #111827) 10%, transparent);
|
|
166
181
|
border-radius: 0.9rem;
|
|
167
182
|
margin-right: 0;
|
|
@@ -170,14 +185,24 @@
|
|
|
170
185
|
}
|
|
171
186
|
|
|
172
187
|
.memori-widget.memori-layout-zoomed_full_body .memori--grid-column-left .memori--avatar-wrapper {
|
|
173
|
-
|
|
174
|
-
|
|
188
|
+
position: relative;
|
|
189
|
+
display: flex;
|
|
190
|
+
width: 100%;
|
|
191
|
+
height: 100%;
|
|
192
|
+
min-height: 0;
|
|
193
|
+
flex: 1 1 0%;
|
|
194
|
+
align-items: stretch;
|
|
195
|
+
justify-content: center;
|
|
196
|
+
padding-top: 0;
|
|
175
197
|
}
|
|
176
198
|
|
|
177
199
|
.memori-widget.memori-layout-zoomed_full_body .memori--grid-column-left .memori--avatar-wrapper model-viewer,
|
|
178
200
|
.memori-widget.memori-layout-zoomed_full_body .memori--grid-column-left .memori--avatar-wrapper canvas,
|
|
179
201
|
.memori-widget.memori-layout-zoomed_full_body .memori--grid-column-left .memori--avatar-wrapper > div {
|
|
202
|
+
width: 100% !important;
|
|
180
203
|
max-width: 100%;
|
|
204
|
+
height: 100% !important;
|
|
205
|
+
max-height: 100%;
|
|
181
206
|
}
|
|
182
207
|
|
|
183
208
|
.memori-widget.memori-layout-zoomed_full_body .memori-chat-layout--main {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { createContext, useContext } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Portal target for fixed overlays (Drawer/Modal) that must stay clipped to the
|
|
5
|
+
* chat widget. Kept separate from MemoriUIProvider's container so Floating UI
|
|
6
|
+
* menus (Select/Popover) can portal to the widget root *outside* `contain: layout`.
|
|
7
|
+
*/
|
|
8
|
+
const WidgetSurfaceContext = createContext<HTMLElement | null>(null);
|
|
9
|
+
|
|
10
|
+
export const WidgetSurfaceProvider = WidgetSurfaceContext.Provider;
|
|
11
|
+
|
|
12
|
+
export function useWidgetSurfaceEl(): HTMLElement | null {
|
|
13
|
+
return useContext(WidgetSurfaceContext);
|
|
14
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { shouldRestartSessionOnPositionPopoverClose } from './positionPopover';
|
|
2
|
+
|
|
3
|
+
describe('shouldRestartSessionOnPositionPopoverClose', () => {
|
|
4
|
+
it('restarts only when closing an open popover with autoStart', () => {
|
|
5
|
+
expect(shouldRestartSessionOnPositionPopoverClose(true, false, true)).toBe(
|
|
6
|
+
true
|
|
7
|
+
);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
it('does not restart when already closed (user/info popover dismiss)', () => {
|
|
11
|
+
expect(shouldRestartSessionOnPositionPopoverClose(false, false, true)).toBe(
|
|
12
|
+
false
|
|
13
|
+
);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
it('does not restart when opening the popover', () => {
|
|
17
|
+
expect(shouldRestartSessionOnPositionPopoverClose(false, true, true)).toBe(
|
|
18
|
+
false
|
|
19
|
+
);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it('does not restart when staying open', () => {
|
|
23
|
+
expect(shouldRestartSessionOnPositionPopoverClose(true, true, true)).toBe(
|
|
24
|
+
false
|
|
25
|
+
);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('does not restart without autoStart', () => {
|
|
29
|
+
expect(shouldRestartSessionOnPositionPopoverClose(true, false, false)).toBe(
|
|
30
|
+
false
|
|
31
|
+
);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether closing the position popover should re-run autoStart (`onClickStart`).
|
|
3
|
+
* Only true on a real open → closed transition, so incidental
|
|
4
|
+
* `setPositionPopoverOpen(false)` calls (e.g. opening user/info popovers)
|
|
5
|
+
* do not wipe chat history.
|
|
6
|
+
*/
|
|
7
|
+
export function shouldRestartSessionOnPositionPopoverClose(
|
|
8
|
+
wasOpen: boolean,
|
|
9
|
+
nextOpen: boolean,
|
|
10
|
+
autoStart: boolean
|
|
11
|
+
): boolean {
|
|
12
|
+
return wasOpen && !nextOpen && !!autoStart;
|
|
13
|
+
}
|
package/src/styles.css
CHANGED
|
@@ -83,10 +83,70 @@
|
|
|
83
83
|
}
|
|
84
84
|
.memori.memori-widget.memori-layout-chat,
|
|
85
85
|
.memori.memori-widget.memori-layout-fullpage,
|
|
86
|
-
.memori.memori-widget.memori-layout-
|
|
86
|
+
.memori.memori-widget.memori-layout-zoomed_full_body {
|
|
87
|
+
/* Portal root for Floating UI menus — do NOT set contain here.
|
|
88
|
+
Use 100dvh (not height:100% alone): Storybook’s root often has no
|
|
89
|
+
definite height, and % / flex children do not resolve against min-height. */
|
|
90
|
+
position: relative;
|
|
91
|
+
display: flex;
|
|
92
|
+
overflow: hidden;
|
|
93
|
+
height: 100vh;
|
|
94
|
+
height: 100dvh;
|
|
95
|
+
max-height: 100vh;
|
|
96
|
+
max-height: 100dvh;
|
|
97
|
+
flex-direction: column;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/*
|
|
101
|
+
* Layout containment lives on the inner surface so fixed Drawers/Modals stay
|
|
102
|
+
* clipped to the chat widget, while Select/Popover menus can portal to the
|
|
103
|
+
* outer .memori-widget (MemoriUIProvider container) without the left-offset bug.
|
|
104
|
+
*/
|
|
105
|
+
.memori-widget__surface {
|
|
106
|
+
position: relative;
|
|
107
|
+
display: flex;
|
|
108
|
+
width: 100%;
|
|
109
|
+
height: 100%;
|
|
110
|
+
min-height: 0;
|
|
111
|
+
flex: 1 1 0%;
|
|
112
|
+
flex-direction: column;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.memori.memori-widget.memori-layout-chat > .memori-widget__surface,
|
|
116
|
+
.memori.memori-widget.memori-layout-fullpage > .memori-widget__surface,
|
|
117
|
+
.memori.memori-widget.memori-layout-zoomed_full_body > .memori-widget__surface {
|
|
87
118
|
contain: layout;
|
|
88
119
|
}
|
|
89
120
|
|
|
121
|
+
/* After inserting .memori-widget__surface, Spin is no longer a direct child of
|
|
122
|
+
.memori-widget — keep it a stretching flex column so fullpage/chat fill the viewport. */
|
|
123
|
+
.memori-widget > .memori-widget__surface > .memori-spin {
|
|
124
|
+
display: flex !important;
|
|
125
|
+
overflow: hidden;
|
|
126
|
+
width: 100%;
|
|
127
|
+
height: 100% !important;
|
|
128
|
+
min-height: 0;
|
|
129
|
+
flex: 1 1 0% !important;
|
|
130
|
+
flex-direction: column !important;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.memori-widget
|
|
134
|
+
> .memori-widget__surface
|
|
135
|
+
> .memori-spin
|
|
136
|
+
> .memori-fullpage-content-row,
|
|
137
|
+
.memori-widget
|
|
138
|
+
> .memori-widget__surface
|
|
139
|
+
> .memori-spin.memori-chat-layout
|
|
140
|
+
> .memori-chat-layout--main {
|
|
141
|
+
height: 100% !important;
|
|
142
|
+
min-height: 0;
|
|
143
|
+
flex: 1 1 0% !important;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.memori-widget > .memori-widget__surface > .memori-spin > .memori-fullpage-top-header {
|
|
147
|
+
flex-shrink: 0;
|
|
148
|
+
}
|
|
149
|
+
|
|
90
150
|
/* --- 6. Base: brand e tema di default (in layer così integration può sovrascrivere --memori-primary) --- */
|
|
91
151
|
@layer theme {
|
|
92
152
|
:root,
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// This file is auto-generated. Do not edit manually.
|
|
2
|
-
export const version = '9.0.0-alpha.
|
|
2
|
+
export const version = '9.0.0-alpha.8';
|