@memori.ai/memori-react 9.0.0-alpha.7 → 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 (102) hide show
  1. package/CHANGELOG.md +37 -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 +18 -15
  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 +10 -236
  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 -33
  30. package/dist/components/layouts/zoomed-full-body.css +33 -32
  31. package/dist/helpers/positionPopover.d.ts +1 -0
  32. package/dist/helpers/positionPopover.js +7 -0
  33. package/dist/helpers/positionPopover.js.map +1 -0
  34. package/dist/styles.css +1 -1
  35. package/dist/version.d.ts +1 -1
  36. package/dist/version.js +1 -1
  37. package/esm/components/Chat/Chat.css +48 -7
  38. package/esm/components/Chat/Chat.d.ts +1 -0
  39. package/esm/components/Chat/Chat.js +7 -2
  40. package/esm/components/Chat/Chat.js.map +1 -1
  41. package/esm/components/ChatBubble/ChatBubble.css +16 -14
  42. package/esm/components/ChatInputs/ChatInputs.css +233 -100
  43. package/esm/components/ChatTextArea/ChatTextArea.css +28 -6
  44. package/esm/components/KnownFacts/KnownFacts.js +2 -2
  45. package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
  46. package/esm/components/MemoriWidget/MemoriWidget.css +1 -3
  47. package/esm/components/MemoriWidget/MemoriWidget.js +18 -15
  48. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  49. package/esm/components/MicrophoneButton/MicrophoneButton.css +50 -18
  50. package/esm/components/PoweredBy/PoweredBy.css +10 -2
  51. package/esm/components/UploadButton/UploadImages/UploadImages.js +1 -1
  52. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  53. package/esm/components/layouts/Chat.js +5 -5
  54. package/esm/components/layouts/Chat.js.map +1 -1
  55. package/esm/components/layouts/HiddenChat.js +12 -238
  56. package/esm/components/layouts/HiddenChat.js.map +1 -1
  57. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +23 -2
  58. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  59. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +138 -55
  60. package/esm/components/layouts/ZoomedFullBody.js +2 -2
  61. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  62. package/esm/components/layouts/chat.css +42 -29
  63. package/esm/components/layouts/fullpage.css +29 -22
  64. package/esm/components/layouts/hidden-chat.css +147 -33
  65. package/esm/components/layouts/zoomed-full-body.css +33 -32
  66. package/esm/helpers/positionPopover.d.ts +1 -0
  67. package/esm/helpers/positionPopover.js +4 -0
  68. package/esm/helpers/positionPopover.js.map +1 -0
  69. package/esm/styles.css +1 -1
  70. package/esm/version.d.ts +1 -1
  71. package/esm/version.js +1 -1
  72. package/package.json +1 -1
  73. package/src/components/Chat/Chat.css +48 -7
  74. package/src/components/Chat/Chat.tsx +11 -0
  75. package/src/components/ChatBubble/ChatBubble.css +16 -14
  76. package/src/components/ChatInputs/ChatInputs.css +233 -100
  77. package/src/components/ChatTextArea/ChatTextArea.css +28 -6
  78. package/src/components/KnownFacts/KnownFacts.tsx +2 -0
  79. package/src/components/MemoriWidget/MemoriWidget.css +1 -3
  80. package/src/components/MemoriWidget/MemoriWidget.tsx +397 -384
  81. package/src/components/MicrophoneButton/MicrophoneButton.css +50 -18
  82. package/src/components/PoweredBy/PoweredBy.css +10 -2
  83. package/src/components/UploadButton/UploadImages/UploadImages.tsx +1 -1
  84. package/src/components/layouts/Chat.tsx +42 -44
  85. package/src/components/layouts/HiddenChat.tsx +16 -413
  86. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.tsx +59 -15
  87. package/src/components/layouts/WebsiteAssistant/website-assistant.css +138 -55
  88. package/src/components/layouts/ZoomedFullBody.tsx +3 -1
  89. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +227 -236
  90. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +30 -40
  91. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +165 -66
  92. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +15 -20
  93. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +153 -158
  94. package/src/components/layouts/chat.css +42 -29
  95. package/src/components/layouts/fullpage.css +29 -22
  96. package/src/components/layouts/hidden-chat.css +147 -33
  97. package/src/components/layouts/layouts.stories.tsx +1 -0
  98. package/src/components/layouts/zoomed-full-body.css +33 -32
  99. package/src/helpers/positionPopover.test.ts +33 -0
  100. package/src/helpers/positionPopover.ts +13 -0
  101. package/src/styles.css +34 -13
  102. package/src/version.ts +1 -1
@@ -1,15 +1,16 @@
1
1
  .memori-chat-inputs-wrapper {
2
- position: sticky;
2
+ position: relative;
3
3
  z-index: 10;
4
- bottom: 0;
5
4
  width: 100%;
6
5
  min-width: 0;
7
6
  max-width: 100%;
8
- padding: 0;
9
- /* padding-bottom: 1.5rem; */
7
+ box-sizing: border-box;
8
+ flex-shrink: 0;
9
+ padding: 14px 18px 16px;
10
+ border-top: none;
10
11
  margin: 0;
12
+ background: var(--memori-secondary-background);
11
13
  overflow-x: hidden;
12
- /* background: linear-gradient(to top, rgba(255, 255, 255, 0.8) 0%, transparent 100%); */
13
14
  }
14
15
 
15
16
  .memori-chat-inputs {
@@ -17,24 +18,22 @@
17
18
  display: flex;
18
19
  width: 100%;
19
20
  min-width: 0;
20
- max-width: 100%;
21
+ max-width: 760px;
21
22
  box-sizing: border-box;
22
23
  flex-flow: column;
23
24
  flex-shrink: 0;
24
- padding: 0;
25
- padding: var(--memori-spacing-sm) calc(var(--memori-spacing-sm) + var(--memori-spacing-xs)) !important;
25
+ padding: 0 !important;
26
26
  border: none;
27
- border-radius: var(--memori-radius-box);
28
- margin: 0;
29
- margin: auto;
30
- background-color: var(--memori-secondary-background);
31
- box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.16);
27
+ border-radius: 0;
28
+ margin: 0 auto;
29
+ background-color: transparent;
30
+ box-shadow: none;
32
31
  overflow-x: hidden;
33
32
  }
34
33
 
35
34
  [data-theme='dark'] .memori-chat-inputs,
36
35
  .memori-chat-inputs[data-theme='dark'] {
37
- background-color: var(--memori-main-background);
36
+ background-color: transparent;
38
37
  }
39
38
 
40
39
  .memori-chat-inputs:disabled {
@@ -47,69 +46,70 @@
47
46
  overflow: hidden;
48
47
  width: 100%;
49
48
  min-width: 0;
49
+ margin-bottom: 8px;
50
50
  }
51
51
 
52
52
  .memori-chat-inputs--container {
53
53
  position: relative;
54
- display: grid;
54
+ display: flex;
55
55
  width: 100%;
56
- /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
57
56
  min-height: 56px;
58
57
  box-sizing: border-box;
59
58
  align-items: center;
60
- padding: 0 1rem;
61
- padding: calc(var(--memori-spacing-sm) + var(--memori-spacing-xs));
59
+ padding: 10px 12px 10px 16px;
60
+ border: 1.5px solid var(--memori-border-color, #ddd);
62
61
  border-radius: var(--memori-radius-box);
63
- /* max-width: 48rem; */
64
- margin: 0 auto;
65
- background-color: transparent;
66
- gap: 0;
67
- grid-template-areas: 'leading primary trailing';
68
- grid-template-columns: auto 1fr auto;
62
+ margin: 0;
63
+ gap: 10px;
64
+ transition: border-color 0.15s, box-shadow 0.15s;
65
+ }
66
+
67
+ .memori-chat-inputs--container:focus-within {
68
+ border-color: var(--memori-primary);
69
+ box-shadow: var(--memori-focus-ring, 0 0 0 3px color-mix(in oklch, var(--memori-primary) 18%, transparent));
69
70
  }
70
71
 
71
72
  /* Responsive adjustments */
72
73
  @media (max-width: 768px) {
73
- .memori-chat-inputs--container {
74
- padding: 0 0.5rem;
74
+ .memori-chat-inputs-wrapper {
75
+ padding: 12px 16px 14px;
75
76
  }
76
77
  }
77
78
 
78
79
  @media (max-width: 480px) {
79
- .memori-chat-inputs--container {
80
- padding: 0 0.25rem;
80
+ .memori-chat-inputs-wrapper {
81
+ padding: 10px 12px 12px;
81
82
  }
82
83
  }
83
84
 
84
85
  .memori-chat-inputs--leading {
85
86
  display: flex;
87
+ flex-shrink: 0;
86
88
  align-items: center;
87
- padding-right: var(--memori-spacing-sm);
88
- grid-area: leading;
89
89
  }
90
90
 
91
91
  .memori-chat-inputs--primary {
92
92
  display: flex;
93
93
  overflow: hidden;
94
+ min-width: 0;
94
95
  min-height: 36px;
96
+ flex: 1;
95
97
  align-items: center;
96
- grid-area: primary;
97
98
  }
98
99
 
99
100
  .memori-chat-inputs--trailing {
100
101
  display: flex;
102
+ flex-shrink: 0;
101
103
  align-items: center;
102
- padding-left: var(--memori-spacing-sm);
103
- grid-area: trailing;
104
104
  }
105
105
 
106
106
  .memori-chat-inputs--trailing-inner {
107
107
  display: flex;
108
108
  align-items: center;
109
- gap: calc(var(--memori-spacing-xs) + 2px);
109
+ gap: 6px;
110
110
  }
111
111
 
112
- /* Plus button styling */
112
+ /* Plus / upload button styling */
113
113
  .memori-chat-inputs--upload-wrapper {
114
114
  display: flex;
115
115
  align-items: center;
@@ -122,20 +122,25 @@
122
122
 
123
123
  .memori-chat-inputs--upload-wrapper .memori-button {
124
124
  display: flex;
125
+ width: 34px;
126
+ min-width: 34px;
127
+ height: 34px;
125
128
  align-items: center;
126
129
  justify-content: center;
127
- padding: var(--memori-spacing-sm);
130
+ padding: 0 !important;
128
131
  border: none !important;
132
+ border-radius: 10px !important;
129
133
  background: transparent !important;
130
134
  box-shadow: none !important;
131
- color: var(--memori-text-color) !important;
135
+ color: #888 !important;
132
136
  cursor: pointer;
133
- transition: opacity 0.2s ease;
137
+ transition: background 0.15s ease, color 0.15s ease;
134
138
  }
135
139
 
136
140
  .memori-chat-inputs--upload-wrapper .memori-button:hover {
137
- background: var(--memori-secondary-background) !important;
138
- opacity: 0.7;
141
+ background: #f2eef5 !important;
142
+ color: #555 !important;
143
+ opacity: 1;
139
144
  }
140
145
 
141
146
  .memori-chat-inputs--upload-wrapper .memori-button:disabled {
@@ -145,8 +150,8 @@
145
150
 
146
151
  /* Icon class styling */
147
152
  .memori-chat-inputs--container .icon {
148
- width: 20px;
149
- height: 20px;
153
+ width: 18px;
154
+ height: 18px;
150
155
  flex-shrink: 0;
151
156
  fill: currentColor;
152
157
  }
@@ -155,31 +160,33 @@
155
160
  padding: 4px 12px;
156
161
  border-radius: 10px;
157
162
  margin-top: 2px;
158
- background-color: var(--memori-inner-bg, transparent);
163
+ background-color: transparent;
159
164
  color: rgba(0, 0, 0, 0.6);
160
165
  font-size: 12px;
161
166
  line-height: 1.5;
162
167
  text-align: center;
163
168
  }
164
169
 
165
- /* Microphone button styling */
170
+ /* Microphone button styling (CONTINUOUS mode) */
166
171
  .memori-chat-inputs--mic-btn {
167
172
  display: flex;
168
- width: 20px;
169
- min-width: 20px;
170
- height: 20px;
173
+ width: 34px;
174
+ min-width: 34px;
175
+ height: 34px;
171
176
  align-items: center;
172
177
  justify-content: center;
173
178
  padding: 0;
174
179
  border: none;
180
+ border-radius: 10px;
175
181
  background: transparent;
176
- color: var(--memori-text-color);
182
+ color: #888;
177
183
  cursor: pointer;
178
- transition: opacity 0.2s ease;
184
+ transition: background 0.15s ease, color 0.15s ease;
179
185
  }
180
186
 
181
187
  .memori-chat-inputs--mic-btn:hover {
182
- opacity: 0.7;
188
+ background: #f2eef5;
189
+ color: #555;
183
190
  }
184
191
 
185
192
  .memori-chat-inputs--mic-btn:disabled {
@@ -189,109 +196,135 @@
189
196
 
190
197
  .memori-chat-inputs--mic-btn svg,
191
198
  .memori-chat-inputs--mic-btn .icon {
192
- width: 20px;
193
- height: 20px;
194
- fill: #000;
199
+ width: 18px;
200
+ height: 18px;
201
+ color: inherit;
202
+ fill: currentColor;
195
203
  }
196
204
 
197
- /* Ensure icons are black on white background */
198
205
  .memori-chat-inputs--leading .icon {
199
- fill: #000;
206
+ fill: currentColor;
200
207
  }
201
208
 
202
209
  .memori-chat-inputs--send-btn svg {
203
- width: 20px;
204
- height: 20px;
210
+ width: 18px;
211
+ height: 18px;
212
+ color: #fff;
205
213
  fill: #fff;
214
+ stroke: #fff;
206
215
  }
207
216
 
208
217
  .memori-chat-inputs--send-btn .icon {
209
- width: 20px;
210
- height: 20px;
218
+ width: 18px;
219
+ height: 18px;
211
220
  color: #fff;
212
221
  fill: #fff;
222
+ stroke: #fff;
213
223
  }
214
224
 
215
225
  .memori-chat-inputs--upload-wrapper .memori-button svg,
216
226
  .memori-chat-inputs--upload-wrapper .memori-button .icon {
217
- width: 20px;
218
- height: 20px;
219
- /* fill: #000; */
227
+ width: 18px;
228
+ height: 18px;
229
+ color: inherit;
230
+ fill: currentColor;
231
+ stroke: currentColor;
220
232
  }
221
233
 
222
234
  .memori-chat-inputs--trailing .memori-chat-inputs--mic-btn .icon {
223
- fill: #000;
235
+ fill: currentColor;
224
236
  }
225
237
 
226
238
  .memori-chat-inputs--mic-btn--listening {
227
- color: var(--memori-text-color);
239
+ color: #c0392b;
228
240
  }
229
241
 
230
242
  .memori-chat-inputs--mic {
231
243
  font-size: 100%;
232
244
  }
233
- /* Style MicrophoneButton component when used in trailing area */
245
+
246
+ /* Style MicrophoneButton (HOLD_TO_TALK) when used in trailing area */
234
247
  .memori-chat-inputs--trailing .memori-chat-inputs--mic {
235
- width: 32px;
236
- min-width: 32px;
237
- height: 32px;
248
+ width: 34px;
249
+ min-width: 34px;
250
+ height: 34px;
238
251
  padding: 0;
239
252
  border: none;
253
+ border-radius: 10px;
254
+ margin-left: 0;
240
255
  background: transparent;
241
- color: var(--memori-text-color);
256
+ color: #888;
242
257
  }
243
258
 
244
259
  .memori-chat-inputs--trailing .memori-chat-inputs--mic .memori-button {
245
- width: 32px;
246
- min-width: 32px;
247
- height: 32px;
260
+ width: 34px;
261
+ min-width: 34px;
262
+ height: 34px;
248
263
  padding: 0;
249
264
  border: none;
265
+ border-radius: 10px;
250
266
  background: transparent;
251
- color: var(--memori-text-color);
267
+ color: #888;
268
+ }
269
+
270
+ .memori-chat-inputs--trailing .memori-chat-inputs--mic:hover,
271
+ .memori-chat-inputs--trailing .memori-chat-inputs--mic .memori-button:hover {
272
+ background: #f2eef5 !important;
273
+ color: #555 !important;
252
274
  }
253
275
 
254
- /* Send button styling - ChatGPT style */
255
- .memori-chat-inputs--send-btn {
276
+ .memori-chat-inputs--trailing .memori-chat-inputs--mic svg {
277
+ width: 18px;
278
+ height: 18px;
279
+ margin-right: 0;
280
+ color: inherit;
281
+ }
282
+
283
+ /* Send button — solid purple, white icon (all layouts) */
284
+ .memori-chat-inputs--send-btn,
285
+ .memori-chat-inputs--send-btn.memori-button {
256
286
  display: flex;
287
+ width: 36px;
288
+ min-width: 36px;
289
+ height: 36px;
257
290
  flex-shrink: 0;
258
291
  align-items: center;
259
292
  justify-content: center;
260
- border: none;
261
- border-radius: var(--memori-radius-box);
262
- background: var(--memori-primary);
263
- color: var(--memori-text-color);
293
+ padding: 0 !important;
294
+ border: none !important;
295
+ border-radius: 10px !important;
296
+ background: var(--memori-primary) !important;
297
+ box-shadow: none !important;
298
+ color: #fff !important;
264
299
  cursor: pointer;
265
- transition: all 0.2s ease;
300
+ transition: background 0.15s ease;
266
301
  }
267
302
 
268
- .memori-chat-inputs--send-btn:disabled {
269
- /* background: #f4f4f4; */
270
- color: #fff;
303
+ .memori-chat-inputs--send-btn:disabled,
304
+ .memori-chat-inputs--send-btn.memori-button:disabled,
305
+ .memori-chat-inputs--send-btn--disabled {
306
+ background: var(--memori-primary) !important;
307
+ color: #fff !important;
271
308
  cursor: not-allowed;
272
- opacity: 0.3;
309
+ opacity: 0.35;
273
310
  }
274
311
 
275
- .memori-chat-inputs--send-btn:hover:not(:disabled) {
276
- opacity: 0.7;
277
- }
278
-
279
- .memori-chat-inputs--trailing .memori-chat-inputs--mic svg {
280
- width: 20px;
281
- height: 20px;
282
- margin-right: 0;
312
+ .memori-chat-inputs--send-btn:hover:not(:disabled),
313
+ .memori-chat-inputs--send-btn.memori-button:hover:not(:disabled) {
314
+ background: var(--memori-primary-hover) !important;
315
+ color: #fff !important;
316
+ opacity: 1;
283
317
  }
284
318
 
285
319
  .memori-chat-inputs--send-btn--active {
286
- /* background: #000; */
287
- color: var(--memori-text-color);
320
+ color: #fff !important;
288
321
  }
289
322
 
290
323
  .memori-chat-inputs--send-btn--loading {
291
324
  width: 16px;
292
325
  height: 16px;
293
- border: 2px solid currentColor;
294
- border-radius: var(--memori-radius-box);
326
+ border: 2px solid #fff;
327
+ border-radius: 50%;
295
328
  border-top-color: transparent;
296
329
  animation: spin 0.8s linear infinite;
297
330
  }
@@ -311,6 +344,7 @@
311
344
  padding: var(--memori-spacing-sm)
312
345
  calc(var(--memori-spacing-3xl) + var(--memori-spacing-sm) + var(--memori-spacing-xs));
313
346
  margin-top: calc(-1 * var(--memori-spacing-xs));
347
+ background: var(--memori-secondary-background);
314
348
  color: var(--memori-text-color);
315
349
  font-size: 0.75rem;
316
350
  line-height: var(--memori-text-line-normal);
@@ -328,8 +362,10 @@
328
362
  }
329
363
 
330
364
  .memori-chat-inputs--ai-note {
331
- margin: var(--memori-spacing-xs) var(--memori-spacing-sm) 0;
332
- color: color-mix(in oklch, var(--memori-text-color) 68%, transparent);
365
+ max-width: 760px;
366
+ margin: 8px auto 0;
367
+ background: transparent;
368
+ color: #999;
333
369
  font-size: 0.75rem;
334
370
  line-height: 1.3;
335
371
  text-align: center;
@@ -341,8 +377,8 @@
341
377
  }
342
378
 
343
379
  .memori-chat-inputs--ai-note {
344
- margin-right: var(--memori-spacing-xs);
345
- margin-left: var(--memori-spacing-xs);
380
+ margin-right: 0;
381
+ margin-left: 0;
346
382
  }
347
383
  }
348
384
 
@@ -355,3 +391,100 @@
355
391
  background: #fff;
356
392
  color: var(--memori-text-color);
357
393
  }
394
+
395
+ /* =============================================================================
396
+ FULLPAGE + ZOOMED_FULL_BODY — input pill on --memori-secondary-background, full width of chat column
397
+ ============================================================================= */
398
+
399
+ .memori-widget.memori-layout-fullpage .memori-chat-inputs-wrapper,
400
+ .memori-widget.memori-layout-zoomed_full_body .memori-chat-inputs-wrapper {
401
+ position: relative;
402
+ width: 100%;
403
+ padding: 14px 18px;
404
+ border-top: none;
405
+ background: var(--memori-secondary-background);
406
+ }
407
+
408
+ .memori-widget.memori-layout-fullpage .memori-chat-inputs,
409
+ .memori-widget.memori-layout-zoomed_full_body .memori-chat-inputs {
410
+ max-width: 100%;
411
+ margin: 0;
412
+ background: transparent;
413
+ }
414
+
415
+ .memori-widget.memori-layout-fullpage .memori-chat-inputs--container,
416
+ .memori-widget.memori-layout-zoomed_full_body .memori-chat-inputs--container {
417
+ min-height: 0;
418
+ padding: 12px;
419
+ border: 1.5px solid var(--memori-border-color, #ddd);
420
+ border-radius: var(--memori-radius-box);
421
+ background: var(--memori-secondary-background);
422
+ gap: 10px;
423
+ transition: border-color 0.15s, box-shadow 0.15s;
424
+ }
425
+
426
+ .memori-widget.memori-layout-hidden_chat .memori-chat-inputs--container,
427
+ .memori-widget.memori-layout-website_assistant .memori-chat-inputs--container,
428
+ .memori-widget.memori-layout-chat .memori-chat-inputs--container {
429
+ min-height: 0;
430
+ padding: 12px;
431
+ border: 1.5px solid var(--memori-border-color, #ddd);
432
+ border-radius: var(--memori-radius-box);
433
+ background: var(--memori-secondary-background);
434
+ gap: 8px;
435
+ transition: border-color 0.15s, box-shadow 0.15s;
436
+ }
437
+
438
+ .memori-widget.memori-layout-fullpage .memori-chat-inputs--container:focus-within,
439
+ .memori-widget.memori-layout-zoomed_full_body .memori-chat-inputs--container:focus-within,
440
+ .memori-widget.memori-layout-hidden_chat .memori-chat-inputs--container:focus-within,
441
+ .memori-widget.memori-layout-website_assistant .memori-chat-inputs--container:focus-within,
442
+ .memori-widget.memori-layout-chat .memori-chat-inputs--container:focus-within {
443
+ border-color: var(--memori-primary);
444
+ box-shadow: var(--memori-focus-ring, 0 0 0 3px color-mix(in oklch, var(--memori-primary) 18%, transparent));
445
+ }
446
+
447
+ .memori-widget.memori-layout-fullpage .memori-chat-inputs--ai-note,
448
+ .memori-widget.memori-layout-zoomed_full_body .memori-chat-inputs--ai-note {
449
+ max-width: 100%;
450
+ color: #999;
451
+ }
452
+
453
+ /* =============================================================================
454
+ HIDDEN_CHAT + WEBSITE_ASSISTANT + CHAT — bottom-anchored white pill
455
+ ============================================================================= */
456
+
457
+ .memori-widget.memori-layout-hidden_chat .memori-chat-inputs-wrapper,
458
+ .memori-widget.memori-layout-website_assistant .memori-chat-inputs-wrapper,
459
+ .memori-widget.memori-layout-chat .memori-chat-inputs-wrapper {
460
+ position: relative;
461
+ width: 100%;
462
+ flex-shrink: 0;
463
+ padding: 14px 18px 12px;
464
+ border-top: none;
465
+ margin-bottom: 0;
466
+ background: var(--memori-secondary-background);
467
+ }
468
+
469
+ .memori-widget.memori-layout-hidden_chat .memori-chat-inputs,
470
+ .memori-widget.memori-layout-website_assistant .memori-chat-inputs {
471
+ max-width: 100%;
472
+ margin: 0;
473
+ background: transparent;
474
+ }
475
+
476
+ .memori-widget.memori-layout-hidden_chat .memori-sidebar .memori-chat-inputs {
477
+ padding: 0 !important;
478
+ }
479
+
480
+ .memori-widget.memori-layout-hidden_chat .memori-chat-inputs--primary,
481
+ .memori-widget.memori-layout-website_assistant .memori-chat-inputs--primary {
482
+ min-width: 0;
483
+ }
484
+
485
+ .memori-widget.memori-layout-hidden_chat .memori-chat-inputs--ai-note,
486
+ .memori-widget.memori-layout-website_assistant .memori-chat-inputs--ai-note,
487
+ .memori-widget.memori-layout-chat .memori-chat-inputs--ai-note {
488
+ max-width: 100%;
489
+ color: #999;
490
+ }
@@ -89,16 +89,18 @@
89
89
 
90
90
  textarea.memori-chat-textarea--input {
91
91
  width: 100%;
92
+ min-width: 0;
92
93
  min-height: 36px;
93
94
  max-height: 208px;
94
95
  box-sizing: border-box;
95
- /* padding: var(--memori-spacing-sm) 0; */
96
+ flex: 1;
96
97
  border: none;
97
98
  background: transparent;
98
- color: var(--memori-text-color, #000);
99
+ color: var(--memori-text-color, #1f1425);
99
100
  font-family: var(--memori-font-family);
100
- font-size: var(--memori-text-size-base);
101
+ font-size: 14.5px;
101
102
  line-height: var(--memori-text-line-normal);
103
+ outline: none;
102
104
  overflow-y: auto;
103
105
  resize: none;
104
106
  scrollbar-width: thin;
@@ -107,7 +109,7 @@ textarea.memori-chat-textarea--input {
107
109
 
108
110
  /* Placeholder styling */
109
111
  textarea.memori-chat-textarea--input::placeholder {
110
- color: var(--memori-text-color);
112
+ color: #999;
111
113
  }
112
114
 
113
115
  /* Scrollbar styling */
@@ -132,14 +134,14 @@ textarea.memori-chat-textarea--input::-webkit-scrollbar-thumb:hover {
132
134
  @media (max-width: 768px) {
133
135
  textarea.memori-chat-textarea--input {
134
136
  max-height: 200px;
135
- font-size: var(--memori-text-size-base); /* Prevent zoom on iOS */
137
+ font-size: 14.5px; /* Prevent zoom on iOS */
136
138
  }
137
139
  }
138
140
 
139
141
  @media (max-width: 480px) {
140
142
  textarea.memori-chat-textarea--input {
141
143
  max-height: 150px;
142
- font-size: var(--memori-text-size-base); /* Prevent zoom on iOS */
144
+ font-size: 14.5px; /* Prevent zoom on iOS */
143
145
  }
144
146
  }
145
147
 
@@ -198,6 +200,26 @@ button.memori-chat-textarea--expand-button:focus {
198
200
  color: var(--memori-text-color-muted, rgba(255, 255, 255, 0.5));
199
201
  }
200
202
 
203
+ /* Layout-scoped dark pills: keep exact text/placeholder colors */
204
+ .memori-widget.memori-layout-fullpage textarea.memori-chat-textarea--input,
205
+ .memori-widget.memori-layout-hidden_chat textarea.memori-chat-textarea--input,
206
+ .memori-widget.memori-layout-website_assistant textarea.memori-chat-textarea--input,
207
+ [data-theme='dark'] .memori-widget.memori-layout-fullpage textarea.memori-chat-textarea--input,
208
+ [data-theme='dark'] .memori-widget.memori-layout-hidden_chat textarea.memori-chat-textarea--input,
209
+ [data-theme='dark'] .memori-widget.memori-layout-website_assistant textarea.memori-chat-textarea--input {
210
+ background: transparent;
211
+ /* color: #f2f0f4; */
212
+ }
213
+
214
+ .memori-widget.memori-layout-fullpage textarea.memori-chat-textarea--input::placeholder,
215
+ .memori-widget.memori-layout-hidden_chat textarea.memori-chat-textarea--input::placeholder,
216
+ .memori-widget.memori-layout-website_assistant textarea.memori-chat-textarea--input::placeholder,
217
+ [data-theme='dark'] .memori-widget.memori-layout-fullpage textarea.memori-chat-textarea--input::placeholder,
218
+ [data-theme='dark'] .memori-widget.memori-layout-hidden_chat textarea.memori-chat-textarea--input::placeholder,
219
+ [data-theme='dark'] .memori-widget.memori-layout-website_assistant textarea.memori-chat-textarea--input::placeholder {
220
+ color: #7d7a86;
221
+ }
222
+
201
223
  [data-theme='dark'] textarea.memori-chat-textarea--input::-webkit-scrollbar-thumb {
202
224
  background: rgba(255, 255, 255, 0.25);
203
225
  }
@@ -212,6 +212,7 @@ const KnownFacts = ({
212
212
  <>
213
213
  <Button
214
214
  variant="ghost"
215
+ danger
215
216
  onClick={() => {
216
217
  setBulkDeleteModalVisible(false);
217
218
  setBulkDeleteIds([]);
@@ -335,6 +336,7 @@ const KnownFacts = ({
335
336
  <>
336
337
  <Button
337
338
  variant="ghost"
339
+ danger
338
340
  onClick={() => {
339
341
  setDeleteModalVisibleFor(undefined);
340
342
  }}
@@ -156,9 +156,7 @@
156
156
  }
157
157
 
158
158
  .memori.memori-widget.chat-focused .memori--powered-by,
159
- .memori.memori-widget.chat-focused
160
- .memori-website_assistant--close-button-wrapper
161
- button.memori-website_assistant--close-button {
159
+ .memori.memori-widget.chat-focused .memori-website_assistant--close-button {
162
160
  display: none;
163
161
  }
164
162