@memori.ai/memori-react 9.0.0-alpha.8 → 9.0.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/components/Chat/Chat.css +48 -7
  3. package/dist/components/Chat/Chat.d.ts +1 -0
  4. package/dist/components/Chat/Chat.js +7 -2
  5. package/dist/components/Chat/Chat.js.map +1 -1
  6. package/dist/components/ChatBubble/ChatBubble.css +16 -14
  7. package/dist/components/ChatInputs/ChatInputs.css +233 -100
  8. package/dist/components/ChatTextArea/ChatTextArea.css +28 -6
  9. package/dist/components/KnownFacts/KnownFacts.js +2 -2
  10. package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
  11. package/dist/components/MemoriWidget/MemoriWidget.css +1 -3
  12. package/dist/components/MemoriWidget/MemoriWidget.js +9 -11
  13. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  14. package/dist/components/MicrophoneButton/MicrophoneButton.css +50 -18
  15. package/dist/components/PoweredBy/PoweredBy.css +10 -2
  16. package/dist/components/UploadButton/UploadImages/UploadImages.js +1 -1
  17. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  18. package/dist/components/layouts/Chat.js +5 -5
  19. package/dist/components/layouts/Chat.js.map +1 -1
  20. package/dist/components/layouts/HiddenChat.js +9 -16
  21. package/dist/components/layouts/HiddenChat.js.map +1 -1
  22. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +23 -2
  23. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  24. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +138 -55
  25. package/dist/components/layouts/ZoomedFullBody.js +2 -2
  26. package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
  27. package/dist/components/layouts/chat.css +42 -29
  28. package/dist/components/layouts/fullpage.css +29 -22
  29. package/dist/components/layouts/hidden-chat.css +147 -27
  30. package/dist/components/layouts/zoomed-full-body.css +33 -32
  31. package/dist/styles.css +1 -1
  32. package/dist/version.d.ts +1 -1
  33. package/dist/version.js +1 -1
  34. package/esm/components/Chat/Chat.css +48 -7
  35. package/esm/components/Chat/Chat.d.ts +1 -0
  36. package/esm/components/Chat/Chat.js +7 -2
  37. package/esm/components/Chat/Chat.js.map +1 -1
  38. package/esm/components/ChatBubble/ChatBubble.css +16 -14
  39. package/esm/components/ChatInputs/ChatInputs.css +233 -100
  40. package/esm/components/ChatTextArea/ChatTextArea.css +28 -6
  41. package/esm/components/KnownFacts/KnownFacts.js +2 -2
  42. package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
  43. package/esm/components/MemoriWidget/MemoriWidget.css +1 -3
  44. package/esm/components/MemoriWidget/MemoriWidget.js +9 -11
  45. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  46. package/esm/components/MicrophoneButton/MicrophoneButton.css +50 -18
  47. package/esm/components/PoweredBy/PoweredBy.css +10 -2
  48. package/esm/components/UploadButton/UploadImages/UploadImages.js +1 -1
  49. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  50. package/esm/components/layouts/Chat.js +5 -5
  51. package/esm/components/layouts/Chat.js.map +1 -1
  52. package/esm/components/layouts/HiddenChat.js +9 -16
  53. package/esm/components/layouts/HiddenChat.js.map +1 -1
  54. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +23 -2
  55. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  56. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +138 -55
  57. package/esm/components/layouts/ZoomedFullBody.js +2 -2
  58. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  59. package/esm/components/layouts/chat.css +42 -29
  60. package/esm/components/layouts/fullpage.css +29 -22
  61. package/esm/components/layouts/hidden-chat.css +147 -27
  62. package/esm/components/layouts/zoomed-full-body.css +33 -32
  63. package/esm/styles.css +1 -1
  64. package/esm/version.d.ts +1 -1
  65. package/esm/version.js +1 -1
  66. package/package.json +1 -1
  67. package/src/components/Chat/Chat.css +48 -7
  68. package/src/components/Chat/Chat.tsx +11 -0
  69. package/src/components/ChatBubble/ChatBubble.css +16 -14
  70. package/src/components/ChatInputs/ChatInputs.css +233 -100
  71. package/src/components/ChatTextArea/ChatTextArea.css +28 -6
  72. package/src/components/KnownFacts/KnownFacts.tsx +2 -0
  73. package/src/components/MemoriWidget/MemoriWidget.css +1 -3
  74. package/src/components/MemoriWidget/MemoriWidget.tsx +385 -380
  75. package/src/components/MicrophoneButton/MicrophoneButton.css +50 -18
  76. package/src/components/PoweredBy/PoweredBy.css +10 -2
  77. package/src/components/UploadButton/UploadImages/UploadImages.tsx +1 -1
  78. package/src/components/layouts/Chat.tsx +42 -44
  79. package/src/components/layouts/HiddenChat.tsx +13 -24
  80. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.tsx +59 -15
  81. package/src/components/layouts/WebsiteAssistant/website-assistant.css +138 -55
  82. package/src/components/layouts/ZoomedFullBody.tsx +3 -1
  83. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +227 -236
  84. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +30 -40
  85. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +165 -27
  86. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +15 -20
  87. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +153 -158
  88. package/src/components/layouts/chat.css +42 -29
  89. package/src/components/layouts/fullpage.css +29 -22
  90. package/src/components/layouts/hidden-chat.css +147 -27
  91. package/src/components/layouts/layouts.stories.tsx +1 -0
  92. package/src/components/layouts/zoomed-full-body.css +33 -32
  93. package/src/styles.css +34 -13
  94. package/src/version.ts +1 -1
@@ -11,11 +11,13 @@
11
11
  }
12
12
 
13
13
  .memori-widget.memori-layout-hidden_chat .memori-chat--history {
14
- background: transparent;
14
+ background: var(--memori-secondary-background);
15
15
  }
16
16
 
17
- .memori-widget.memori-layout-hidden_chat .memori-chat--bubble {
18
- background-color: var(--memori-secondary-background);
17
+ .memori-widget.memori-layout-hidden_chat .memori-chat--bubble:not(.memori-chat--user-bubble) {
18
+ border: none;
19
+ /* background-color: var(--memori-secondary-background); */
20
+ box-shadow: none;
19
21
  }
20
22
 
21
23
  .memori-widget.memori-layout-hidden_chat .memori-media-item--document {
@@ -42,7 +44,10 @@
42
44
  justify-content: center;
43
45
  padding: var(--memori-spacing-sm);
44
46
  border-radius: var(--memori-radius-box) 0 0 var(--memori-radius-box);
45
- background-color: var(--memori-primary);
47
+ /* Prefer --memori-primary-color: dark theme remaps --memori-primary to
48
+ --memori-primary-hover, which can circularly resolve to an invalid value. */
49
+ background-color: var(--memori-primary-color, var(--memori-primary));
50
+ color: var(--memori-primary-content, #fff);
46
51
  cursor: pointer;
47
52
  font-size: var(--memori-text-size-large);
48
53
  font-weight: var(--memori-text-weight-semibold);
@@ -65,6 +70,89 @@
65
70
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, right 0.3s ease-in-out;
66
71
  }
67
72
 
73
+ /* Close control lives in the header icon group (next to mute), not as a mid-page float */
74
+ .memori-widget.memori-layout-hidden_chat
75
+ .memori-sidebar
76
+ .memori-hidden-chat-layout--header-close.memori-sidebar-toggle-label {
77
+ position: relative;
78
+ top: auto;
79
+ right: auto;
80
+ display: inline-flex;
81
+ width: 2.5rem;
82
+ min-width: 2.5rem;
83
+ height: 2.5rem;
84
+ min-height: 2.5rem;
85
+ align-items: center;
86
+ justify-content: center;
87
+ padding: 0;
88
+ border: var(--memori-border, 1px) solid color-mix(in srgb, var(--memori-text-color, #111827) 18%, transparent);
89
+ border-radius: var(--memori-radius-box, 0.5rem);
90
+ margin: 0;
91
+ background: transparent;
92
+ color: var(--memori-text-color, #111827);
93
+ cursor: pointer;
94
+ font-size: inherit;
95
+ font-weight: inherit;
96
+ line-height: 1;
97
+ opacity: 1;
98
+ pointer-events: auto;
99
+ text-orientation: mixed;
100
+ transform: none;
101
+ transition: background-color 0.15s ease, border-color 0.15s ease;
102
+ writing-mode: horizontal-tb;
103
+ }
104
+
105
+ .memori-widget.memori-layout-hidden_chat
106
+ .memori-sidebar
107
+ .memori-hidden-chat-layout--header-close.memori-sidebar-toggle-label:hover {
108
+ background: color-mix(in srgb, var(--memori-text-color, #111827) 6%, transparent);
109
+ }
110
+
111
+ .memori-button--icon > svg {
112
+ margin: 0;
113
+ }
114
+
115
+ .memori-icon,
116
+ .memori-icon-close {
117
+ width: var(--memori-spacing-xl);
118
+ height: var(--memori-spacing-xl);
119
+ stroke: currentColor;
120
+ }
121
+
122
+ .memori-icon {
123
+ stroke: #fff;
124
+ }
125
+
126
+ .memori-icon-close {
127
+ fill: none;
128
+ }
129
+
130
+ .memori-widget.memori-layout-hidden_chat .memori-sidebar .memori-hidden-chat-layout--header-close .memori-icon-close {
131
+ width: 1.125rem;
132
+ height: 1.125rem;
133
+ fill: none;
134
+ stroke: currentColor;
135
+ }
136
+
137
+ /* Powered-by footer under the input on --memori-secondary-background */
138
+ .memori-widget.memori-layout-hidden_chat .memori-sidebar .memori--powered-by {
139
+ position: relative;
140
+ z-index: 5;
141
+ top: auto;
142
+ right: auto;
143
+ bottom: auto;
144
+ left: auto;
145
+ display: flex;
146
+ width: 100%;
147
+ flex-shrink: 0;
148
+ justify-content: center;
149
+ padding: 0.35rem 1rem 0.85rem;
150
+ border-radius: 0;
151
+ margin: 0;
152
+ background: var(--memori-secondary-background);
153
+ transform: none;
154
+ }
155
+
68
156
  .memori-sidebar {
69
157
  position: fixed;
70
158
  z-index: 1000;
@@ -72,13 +160,13 @@
72
160
  right: calc(-1 * var(--memori-hidden-chat-width));
73
161
  width: var(--memori-hidden-chat-width);
74
162
  height: 100%;
75
- background-color: var(--memori-main-background, #fff);
163
+ background-color: var(--memori-secondary-background);
76
164
  box-shadow: -2px 0 var(--memori-spacing-sm) rgba(0, 0, 0, 0.1);
77
165
  transition: all 0.3s ease-in-out;
78
166
  }
79
167
 
80
168
  .memori-widget.memori-layout-hidden_chat .memori-sidebar .memori-chat--content {
81
- padding: 0;
169
+ padding: var(--memori-spacing-xl);
82
170
  }
83
171
 
84
172
  .memori-widget.memori-layout-hidden_chat .memori-sidebar .memori-chat-history {
@@ -89,11 +177,42 @@
89
177
  }
90
178
 
91
179
  .memori-widget.memori-layout-hidden_chat .memori-chat-inputs {
180
+ background: transparent;
181
+ }
182
+
183
+ /* Input bar styles (dark compact pill) live in ChatInputs.css.
184
+ Keep the bar full-width at the bottom of the sidebar column. */
185
+ .memori-widget.memori-layout-hidden_chat .memori-sidebar .memori-chat--wrapper {
186
+ display: flex;
187
+ min-height: 0;
188
+ flex: 1;
189
+ flex-direction: column;
190
+ }
191
+
192
+ .memori-widget.memori-layout-hidden_chat .memori-sidebar .memori-chat--history {
193
+ min-height: 0;
194
+ flex: 1 1 auto;
195
+ margin-bottom: 0;
196
+ }
197
+
198
+ .memori-widget.memori-layout-hidden_chat
199
+ .memori-sidebar
200
+ .memori-chat--content--has-global-background,
201
+ .memori-widget.memori-layout-hidden_chat
202
+ .memori-sidebar
203
+ .memori-chat--history:has(.memori-chat--content--has-global-background) {
204
+ background: transparent;
205
+ }
206
+
207
+ .memori-widget.memori-layout-hidden_chat .memori-sidebar .memori-chat-inputs-wrapper {
208
+ width: 100%;
209
+ flex-shrink: 0;
92
210
  background: var(--memori-secondary-background);
93
211
  }
94
212
 
95
- .memori-widget.memori-layout-hidden_chat .memori-sidebar .memori-chat-inputs {
96
- padding: var(--memori-spacing-sm) var(--memori-spacing-lg);
213
+ .memori-widget.memori-layout-hidden_chat .memori-sidebar .memori-chat-layout--prechat-inputs {
214
+ width: 100%;
215
+ flex-shrink: 0;
97
216
  }
98
217
 
99
218
  .memori-widget.memori-layout-hidden_chat .memori--start-description {
@@ -109,7 +228,7 @@
109
228
  box-shadow: none;
110
229
  }
111
230
 
112
- .memori-sidebar-fullscreen .memori-close-label {
231
+ .memori-sidebar-fullscreen .memori-close-label:not(.memori-hidden-chat-layout--header-close) {
113
232
  z-index: 1100;
114
233
  top: var(--memori-spacing-sm);
115
234
  right: var(--memori-spacing-sm);
@@ -219,7 +338,7 @@
219
338
  width: 100%;
220
339
  flex-shrink: 0;
221
340
  padding: 0.75rem 1rem;
222
- border-bottom: 1px solid rgba(0, 0, 0, 0.06);
341
+ border-bottom: 1px solid var(--memori-border-color);
223
342
  margin-bottom: 0;
224
343
  background: var(--memori-secondary-background);
225
344
  text-align: left;
@@ -371,8 +490,14 @@
371
490
  flex: 1;
372
491
  flex-direction: column;
373
492
  align-items: stretch;
374
- padding: 0.75rem 1rem 0.75rem;
375
- background: var(--memori-main-background);
493
+ padding: 0;
494
+ background: var(--memori-secondary-background);
495
+ }
496
+
497
+ .memori-widget.memori-layout-hidden_chat
498
+ .memori-sidebar
499
+ .memori-chat-layout--body:has(.memori-chat--content--has-global-background) {
500
+ background: transparent;
376
501
  }
377
502
 
378
503
  .memori-widget.memori-layout-hidden_chat .memori-sidebar .memori-chat-layout--start-shell {
@@ -418,21 +543,6 @@
418
543
  text-align: center;
419
544
  }
420
545
 
421
- .memori-button--icon > svg {
422
- margin: 0;
423
- }
424
-
425
- .memori-icon,
426
- .memori-icon-close {
427
- width: var(--memori-spacing-xl);
428
- height: var(--memori-spacing-xl);
429
- stroke: #fff;
430
- }
431
-
432
- .memori-icon-close {
433
- fill: var(--memori-main-background, #fff);
434
- }
435
-
436
546
  @media (max-width: 768px) {
437
547
  /* .memori-sidebar-container {
438
548
  display: none;
@@ -466,6 +576,16 @@
466
576
  }
467
577
  }
468
578
 
579
+ /* Dark theme: keep open/floating toggle on a solid primary fill */
580
+ .memori-widget.memori-layout-hidden_chat[data-theme='dark']
581
+ .memori-sidebar-toggle-label:not(.memori-hidden-chat-layout--header-close),
582
+ [data-theme='dark']
583
+ .memori-widget.memori-layout-hidden_chat
584
+ .memori-sidebar-toggle-label:not(.memori-hidden-chat-layout--header-close) {
585
+ background-color: var(--memori-primary-color, var(--memori-primary));
586
+ color: var(--memori-primary-content, #fff);
587
+ }
588
+
469
589
  /* Dark theme: header controls — white outline and icon (incl. share + position popover) */
470
590
  .memori-widget.memori-layout-hidden_chat[data-theme='dark']
471
591
  .memori-header
@@ -43,6 +43,7 @@ DefaultLayout.args = {
43
43
  layout: 'FULLPAGE',
44
44
  uiLang: 'IT',
45
45
  spokenLang: 'IT',
46
+ showLogin: true,
46
47
  integrationID: '019f1896-730d-7e19-9a88-6413f485247b',
47
48
  };
48
49
 
@@ -28,21 +28,11 @@
28
28
  gap: 0;
29
29
  }
30
30
 
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). */
34
- .memori-widget.memori-layout-zoomed_full_body > .memori-spin > .memori--powered-by,
35
- .memori-widget.memori-layout-zoomed_full_body.memori--avatar-readyplayerme > .memori-spin > .memori--powered-by,
36
- .memori-widget.memori-layout-zoomed_full_body.memori--avatar-readyplayerme-full > .memori-spin > .memori--powered-by,
37
- .memori-widget.memori-layout-zoomed_full_body.memori--avatar-customglb > .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 {
44
- bottom: 3.5rem;
45
- left: 1.5rem;
31
+ /* "Powered by" is rendered inside .memori--grid-column-left and pinned to its bottom-left corner
32
+ via the default absolute positioning defined in PoweredBy.css. */
33
+ .memori-widget.memori-layout-zoomed_full_body .memori--grid-column-left > .memori--powered-by {
34
+ bottom: 1rem;
35
+ left: 1rem;
46
36
  }
47
37
 
48
38
  /* Header spacing + fullpage chrome (brand + actions bar) */
@@ -67,7 +57,14 @@
67
57
  }
68
58
 
69
59
  .memori-widget.memori-layout-zoomed_full_body .memori-chat-layout--controls .memori-chat--history {
60
+ min-height: 0;
61
+ flex: 1 1 auto;
70
62
  border: 1px solid color-mix(in srgb, var(--memori-text-color, #111827) 12%, transparent);
63
+ border-bottom: none;
64
+ margin-bottom: 0;
65
+ background-color: var(--memori-secondary-background);
66
+ border-bottom-left-radius: 0;
67
+ border-bottom-right-radius: 0;
71
68
  }
72
69
 
73
70
  .memori-widget.memori-layout-zoomed_full_body .memori-fullpage-header-row {
@@ -181,7 +178,7 @@
181
178
  border-radius: 0.9rem;
182
179
  margin-right: 0;
183
180
  backdrop-filter: blur(10px);
184
- background: var(--memori-bg-color, #f4f7fa23);
181
+ background: var(--memori-main-background);
185
182
  }
186
183
 
187
184
  .memori-widget.memori-layout-zoomed_full_body .memori--grid-column-left .memori--avatar-wrapper {
@@ -261,14 +258,18 @@
261
258
  flex-direction: column;
262
259
  align-items: stretch;
263
260
  padding: 0;
261
+ background: var(--memori-secondary-background);
264
262
  }
265
263
 
266
264
  .memori-widget.memori-layout-zoomed_full_body .memori-chat-layout--controls .memori--start-panel,
267
265
  .memori-widget.memori-layout-zoomed_full_body .memori-chat-layout--controls .memori-chat--wrapper {
266
+ display: flex;
268
267
  width: 100%;
269
268
  max-width: 100%;
270
269
  height: 100%;
271
270
  min-height: 0;
271
+ flex: 1 1 0%;
272
+ flex-direction: column;
272
273
  padding: 0 !important;
273
274
  margin-right: 0;
274
275
  margin-left: 0;
@@ -292,25 +293,25 @@
292
293
  line-height: var(--memori-text-line-relaxed);
293
294
  }
294
295
 
295
- /* ZoomedFullBody + dark: main surface on inputs (ancestor or widget may carry data-theme). */
296
- .memori-widget.memori-layout-zoomed_full_body[data-theme='dark'] .memori-chat-inputs,
297
- [data-theme='dark'] .memori-widget.memori-layout-zoomed_full_body .memori-chat-inputs {
298
- background-color: var(--memori-main-background);
299
- }
300
-
301
- .memori-widget.memori-layout-zoomed_full_body[data-theme='dark'] .memori-chat-textarea,
302
- [data-theme='dark'] .memori-widget.memori-layout-zoomed_full_body .memori-chat-textarea {
303
- background-color: var(--memori-main-background);
304
- }
296
+ /* ZoomedFullBody: Memori brand lives in the header; no footer watermark.
297
+ Input bar styles live in ChatInputs.css (shared with FULLPAGE). */
305
298
 
306
- .memori-widget.memori-layout-zoomed_full_body[data-theme='dark'] .memori-chat-textarea--inner,
307
- [data-theme='dark'] .memori-widget.memori-layout-zoomed_full_body .memori-chat-textarea--inner {
308
- background-color: var(--memori-main-background);
299
+ /* Keep the input bar inside the chat panel, pinned to the bottom of the column */
300
+ .memori-widget.memori-layout-zoomed_full_body .memori-chat-layout--controls .memori-chat--wrapper {
301
+ display: flex;
302
+ min-height: 0;
303
+ flex: 1 1 0%;
304
+ flex-direction: column;
309
305
  }
310
306
 
311
- .memori-widget.memori-layout-zoomed_full_body[data-theme='dark'] textarea.memori-chat-textarea--input,
312
- [data-theme='dark'] .memori-widget.memori-layout-zoomed_full_body textarea.memori-chat-textarea--input {
313
- background-color: var(--memori-main-background);
307
+ .memori-widget.memori-layout-zoomed_full_body .memori-chat-layout--controls .memori-chat-inputs-wrapper {
308
+ width: 100%;
309
+ flex-shrink: 0;
310
+ border: 1px solid color-mix(in srgb, var(--memori-text-color, #111827) 12%, transparent);
311
+ border-top: 0;
312
+ background: var(--memori-secondary-background);
313
+ border-bottom-left-radius: 12px;
314
+ border-bottom-right-radius: 12px;
314
315
  }
315
316
 
316
317
  @media (max-width: 870px) {
package/src/styles.css CHANGED
@@ -130,14 +130,8 @@
130
130
  flex-direction: column !important;
131
131
  }
132
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 {
133
+ .memori-widget > .memori-widget__surface > .memori-spin > .memori-fullpage-content-row,
134
+ .memori-widget > .memori-widget__surface > .memori-spin.memori-chat-layout > .memori-chat-layout--main {
141
135
  height: 100% !important;
142
136
  min-height: 0;
143
137
  flex: 1 1 0% !important;
@@ -183,8 +177,9 @@
183
177
  memori-client[data-theme='dark'],
184
178
  .memori-widget[data-theme='dark'] {
185
179
  --memori-primary: var(--memori-primary-hover);
186
- --memori-surface-contrast: black;
187
- --memori-surface-contrast-inverse: white;
180
+ /* Align with @memori.ai/ui: contrast = ink, inverse = surface */
181
+ --memori-surface-contrast: #fff;
182
+ --memori-surface-contrast-inverse: #000;
188
183
  }
189
184
  }
190
185
 
@@ -201,16 +196,41 @@
201
196
  );
202
197
  } */
203
198
 
204
- /* --- 10. Utility responsive --- */
199
+ /* --- 10. HIDDEN_CHAT / WEBSITE_ASSISTANT tooltip labels ---
200
+ * Both layouts park their UI in position:fixed children, so .memori-widget
201
+ * (MemoriUIProvider portal root) often collapses to a near-zero in-flow box.
202
+ * Base UI tooltips position with position:absolute inside that root, so the
203
+ * popup shrink-to-fits to a tiny width and overflow-wrap:anywhere (from
204
+ * @memori.ai/ui) stacks each letter vertically. Force content-sized popups. */
205
+ .memori-widget.memori-layout-hidden_chat .memori-tooltip__popup,
206
+ .memori-widget.memori-layout-website_assistant .memori-tooltip__popup {
207
+ width: max-content;
208
+ max-width: min(20rem, calc(100vw - 2rem));
209
+ overflow-wrap: break-word;
210
+ text-orientation: mixed;
211
+ word-break: normal;
212
+ writing-mode: horizontal-tb;
213
+ }
214
+
215
+ .memori-widget.memori-layout-hidden_chat .memori-tooltip__surface,
216
+ .memori-widget.memori-layout-website_assistant .memori-tooltip__surface {
217
+ max-width: none;
218
+ }
219
+
220
+ /* --- 11. Utility responsive --- */
205
221
  @media (max-width: 768px) {
206
222
  .mobile-hidden {
207
223
  display: none;
208
224
  }
209
225
  }
210
226
 
211
- /* Keep toast feedback below the header actions area. */
227
+ /* Keep toast feedback below the header actions area.
228
+ Fixed width — do not set left+right together (that stretches full-bleed). */
212
229
  .memori-alert-viewport.memori-alert-viewport--top-end {
213
230
  top: 4.75rem !important;
231
+ left: auto !important;
232
+ width: 300px !important;
233
+ max-width: calc(100vw - 2 * var(--memori-spacing-sm));
214
234
  }
215
235
 
216
236
  @media (max-width: 768px) {
@@ -218,6 +238,7 @@
218
238
  top: auto !important;
219
239
  right: var(--memori-spacing-sm) !important;
220
240
  bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) !important;
221
- left: var(--memori-spacing-sm) !important;
241
+ left: auto !important;
242
+ width: min(300px, calc(100vw - 2 * var(--memori-spacing-sm))) !important;
222
243
  }
223
244
  }
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.8';
2
+ export const version = '9.0.0-alpha.9';