@memori.ai/memori-react 8.41.4 → 8.41.5

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 (187) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js +6 -3
  3. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  4. package/dist/components/FilePreview/FilePreview.js +1 -3
  5. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  6. package/dist/components/MediaWidget/MediaItemWidget.js +1 -3
  7. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  8. package/dist/components/MediaWidget/MediaPreviewModal.js +2 -6
  9. package/dist/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  10. package/dist/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  11. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js +117 -0
  12. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  13. package/dist/helpers/message.d.ts +1 -1
  14. package/dist/helpers/message.js +4 -4
  15. package/dist/helpers/message.js.map +1 -1
  16. package/dist/helpers/nats/natsBundled.js +13224 -0
  17. package/dist/helpers/utils.js +9 -3
  18. package/dist/helpers/utils.js.map +1 -1
  19. package/dist/version.d.ts +1 -1
  20. package/dist/version.js +1 -1
  21. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js +6 -3
  22. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  23. package/esm/components/FilePreview/FilePreview.js +1 -3
  24. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  25. package/esm/components/MediaWidget/MediaItemWidget.js +2 -4
  26. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  27. package/esm/components/MediaWidget/MediaPreviewModal.js +2 -6
  28. package/esm/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  29. package/esm/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  30. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js +112 -0
  31. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  32. package/esm/helpers/message.d.ts +1 -1
  33. package/esm/helpers/message.js +2 -2
  34. package/esm/helpers/message.js.map +1 -1
  35. package/esm/helpers/nats/natsBundled.js +13225 -0
  36. package/esm/helpers/utils.js +9 -3
  37. package/esm/helpers/utils.js.map +1 -1
  38. package/esm/version.d.ts +1 -1
  39. package/esm/version.js +1 -1
  40. package/package.json +1 -1
  41. package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +8 -4
  42. package/src/components/FilePreview/FilePreview.tsx +1 -3
  43. package/src/components/MediaWidget/MediaItemWidget.tsx +2 -3
  44. package/src/components/MediaWidget/MediaPreviewModal.tsx +2 -6
  45. package/src/helpers/message.test.ts +28 -1
  46. package/src/helpers/message.ts +4 -4
  47. package/src/helpers/utils.test.ts +49 -0
  48. package/src/helpers/utils.ts +16 -3
  49. package/src/version.ts +1 -1
  50. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -367
  51. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -36
  52. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +0 -116
  53. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +0 -1
  54. package/dist/components/DrawerFooter/DrawerFooter.css +0 -62
  55. package/dist/components/DrawerFooter/DrawerFooter.d.ts +0 -12
  56. package/dist/components/DrawerFooter/DrawerFooter.js +0 -10
  57. package/dist/components/DrawerFooter/DrawerFooter.js.map +0 -1
  58. package/dist/components/MobileSessionPanel/MobileSessionPanel.css +0 -437
  59. package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +0 -62
  60. package/dist/components/MobileSessionPanel/MobileSessionPanel.js +0 -292
  61. package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +0 -1
  62. package/dist/components/PositionPopover/PositionPopover.css +0 -219
  63. package/dist/components/PositionPopover/PositionPopover.d.ts +0 -20
  64. package/dist/components/PositionPopover/PositionPopover.js +0 -187
  65. package/dist/components/PositionPopover/PositionPopover.js.map +0 -1
  66. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.d.ts +0 -4
  67. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +0 -41
  68. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +0 -1
  69. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +0 -690
  70. package/dist/components/layouts/fullpage.css +0 -396
  71. package/dist/helpers/usePressTooltip.d.ts +0 -13
  72. package/dist/helpers/usePressTooltip.js +0 -23
  73. package/dist/helpers/usePressTooltip.js.map +0 -1
  74. package/dist/icons/FacebookIcon.d.ts +0 -3
  75. package/dist/icons/FacebookIcon.js +0 -6
  76. package/dist/icons/FacebookIcon.js.map +0 -1
  77. package/dist/icons/LinkedinIcon.d.ts +0 -3
  78. package/dist/icons/LinkedinIcon.js +0 -6
  79. package/dist/icons/LinkedinIcon.js.map +0 -1
  80. package/dist/icons/MemoriIcon.d.ts +0 -3
  81. package/dist/icons/MemoriIcon.js +0 -8
  82. package/dist/icons/MemoriIcon.js.map +0 -1
  83. package/dist/icons/TelegramIcon.d.ts +0 -3
  84. package/dist/icons/TelegramIcon.js +0 -6
  85. package/dist/icons/TelegramIcon.js.map +0 -1
  86. package/dist/icons/TwitterIcon.d.ts +0 -3
  87. package/dist/icons/TwitterIcon.js +0 -6
  88. package/dist/icons/TwitterIcon.js.map +0 -1
  89. package/dist/icons/WhatsappIcon.d.ts +0 -3
  90. package/dist/icons/WhatsappIcon.js +0 -6
  91. package/dist/icons/WhatsappIcon.js.map +0 -1
  92. package/dist/icons/artifacts/DocumentIcon.d.ts +0 -3
  93. package/dist/icons/artifacts/DocumentIcon.js +0 -6
  94. package/dist/icons/artifacts/DocumentIcon.js.map +0 -1
  95. package/dist/icons/artifacts/HtmlIcon.d.ts +0 -3
  96. package/dist/icons/artifacts/HtmlIcon.js +0 -6
  97. package/dist/icons/artifacts/HtmlIcon.js.map +0 -1
  98. package/dist/icons/artifacts/JavascriptIcon.d.ts +0 -3
  99. package/dist/icons/artifacts/JavascriptIcon.js +0 -6
  100. package/dist/icons/artifacts/JavascriptIcon.js.map +0 -1
  101. package/dist/icons/artifacts/MarkdownIcon.d.ts +0 -3
  102. package/dist/icons/artifacts/MarkdownIcon.js +0 -6
  103. package/dist/icons/artifacts/MarkdownIcon.js.map +0 -1
  104. package/dist/icons/artifacts/PythonIcon.d.ts +0 -3
  105. package/dist/icons/artifacts/PythonIcon.js +0 -6
  106. package/dist/icons/artifacts/PythonIcon.js.map +0 -1
  107. package/dist/icons/artifacts/SvgIcon.d.ts +0 -3
  108. package/dist/icons/artifacts/SvgIcon.js +0 -6
  109. package/dist/icons/artifacts/SvgIcon.js.map +0 -1
  110. package/dist/icons/artifacts/XmlIcon.d.ts +0 -3
  111. package/dist/icons/artifacts/XmlIcon.js +0 -6
  112. package/dist/icons/artifacts/XmlIcon.js.map +0 -1
  113. package/dist/icons/artifacts/cssIcon.d.ts +0 -3
  114. package/dist/icons/artifacts/cssIcon.js +0 -6
  115. package/dist/icons/artifacts/cssIcon.js.map +0 -1
  116. package/dist/testUtils.d.ts +0 -5
  117. package/dist/testUtils.js +0 -18
  118. package/dist/testUtils.js.map +0 -1
  119. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -367
  120. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -36
  121. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +0 -113
  122. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +0 -1
  123. package/esm/components/DrawerFooter/DrawerFooter.css +0 -62
  124. package/esm/components/DrawerFooter/DrawerFooter.d.ts +0 -12
  125. package/esm/components/DrawerFooter/DrawerFooter.js +0 -8
  126. package/esm/components/DrawerFooter/DrawerFooter.js.map +0 -1
  127. package/esm/components/MobileSessionPanel/MobileSessionPanel.css +0 -437
  128. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +0 -62
  129. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +0 -289
  130. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +0 -1
  131. package/esm/components/PositionPopover/PositionPopover.css +0 -219
  132. package/esm/components/PositionPopover/PositionPopover.d.ts +0 -20
  133. package/esm/components/PositionPopover/PositionPopover.js +0 -182
  134. package/esm/components/PositionPopover/PositionPopover.js.map +0 -1
  135. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.d.ts +0 -4
  136. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +0 -38
  137. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +0 -1
  138. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +0 -690
  139. package/esm/components/layouts/fullpage.css +0 -396
  140. package/esm/helpers/usePressTooltip.d.ts +0 -13
  141. package/esm/helpers/usePressTooltip.js +0 -20
  142. package/esm/helpers/usePressTooltip.js.map +0 -1
  143. package/esm/icons/FacebookIcon.d.ts +0 -3
  144. package/esm/icons/FacebookIcon.js +0 -4
  145. package/esm/icons/FacebookIcon.js.map +0 -1
  146. package/esm/icons/LinkedinIcon.d.ts +0 -3
  147. package/esm/icons/LinkedinIcon.js +0 -4
  148. package/esm/icons/LinkedinIcon.js.map +0 -1
  149. package/esm/icons/MemoriIcon.d.ts +0 -3
  150. package/esm/icons/MemoriIcon.js +0 -6
  151. package/esm/icons/MemoriIcon.js.map +0 -1
  152. package/esm/icons/TelegramIcon.d.ts +0 -3
  153. package/esm/icons/TelegramIcon.js +0 -4
  154. package/esm/icons/TelegramIcon.js.map +0 -1
  155. package/esm/icons/TwitterIcon.d.ts +0 -3
  156. package/esm/icons/TwitterIcon.js +0 -4
  157. package/esm/icons/TwitterIcon.js.map +0 -1
  158. package/esm/icons/WhatsappIcon.d.ts +0 -3
  159. package/esm/icons/WhatsappIcon.js +0 -4
  160. package/esm/icons/WhatsappIcon.js.map +0 -1
  161. package/esm/icons/artifacts/DocumentIcon.d.ts +0 -3
  162. package/esm/icons/artifacts/DocumentIcon.js +0 -4
  163. package/esm/icons/artifacts/DocumentIcon.js.map +0 -1
  164. package/esm/icons/artifacts/HtmlIcon.d.ts +0 -3
  165. package/esm/icons/artifacts/HtmlIcon.js +0 -4
  166. package/esm/icons/artifacts/HtmlIcon.js.map +0 -1
  167. package/esm/icons/artifacts/JavascriptIcon.d.ts +0 -3
  168. package/esm/icons/artifacts/JavascriptIcon.js +0 -4
  169. package/esm/icons/artifacts/JavascriptIcon.js.map +0 -1
  170. package/esm/icons/artifacts/MarkdownIcon.d.ts +0 -3
  171. package/esm/icons/artifacts/MarkdownIcon.js +0 -4
  172. package/esm/icons/artifacts/MarkdownIcon.js.map +0 -1
  173. package/esm/icons/artifacts/PythonIcon.d.ts +0 -3
  174. package/esm/icons/artifacts/PythonIcon.js +0 -4
  175. package/esm/icons/artifacts/PythonIcon.js.map +0 -1
  176. package/esm/icons/artifacts/SvgIcon.d.ts +0 -3
  177. package/esm/icons/artifacts/SvgIcon.js +0 -4
  178. package/esm/icons/artifacts/SvgIcon.js.map +0 -1
  179. package/esm/icons/artifacts/XmlIcon.d.ts +0 -3
  180. package/esm/icons/artifacts/XmlIcon.js +0 -4
  181. package/esm/icons/artifacts/XmlIcon.js.map +0 -1
  182. package/esm/icons/artifacts/cssIcon.d.ts +0 -3
  183. package/esm/icons/artifacts/cssIcon.js +0 -4
  184. package/esm/icons/artifacts/cssIcon.js.map +0 -1
  185. package/esm/testUtils.d.ts +0 -5
  186. package/esm/testUtils.js +0 -15
  187. package/esm/testUtils.js.map +0 -1
@@ -1,690 +0,0 @@
1
- /* ============================================
2
- MOBILE-FIRST WEBSITE ASSISTANT LAYOUT
3
- Enhanced UI/UX with modern design patterns
4
- ============================================ */
5
-
6
- /* ============================================
7
- TRIGGER BUTTON (Mobile First)
8
- ============================================ */
9
-
10
- .memori-website_assistant--trigger {
11
- position: fixed;
12
- z-index: 2147483647;
13
- right: 0px;
14
- bottom: 0px;
15
- display: flex;
16
- opacity: 1;
17
- pointer-events: all;
18
- transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
19
- visibility: visible;
20
- }
21
-
22
- .memori-website_assistant--trigger-button .memori-blob .mainDiv {
23
- width: 64px !important;
24
- height: 64px !important;
25
- box-shadow: 0 0 0.5em 0.2em rgba(0, 0, 0, 0.15) inset, 0 0 0.15em 0 rgba(255, 255, 255, 0.9),
26
- 0 2px 8px rgba(130, 70, 175, 0.2);
27
- transition: all 0.3s ease;
28
- }
29
-
30
- .memori-widget.memori-layout-website_assistant .memori-chat-inputs-wrapper {
31
- margin-bottom: var(--memori-spacing-xl);
32
- }
33
-
34
- .memori-website_assistant--trigger-button .memori-blob,
35
- .memori-website_assistant--trigger-button .memori-blob .mainDiv,
36
- .memori-website_assistant--trigger-button .memori-blob figure {
37
- pointer-events: none;
38
- touch-action: none;
39
- }
40
-
41
- .memori-website_assistant--trigger-button:hover .memori-blob .mainDiv {
42
- box-shadow: 0 0 0.6em 0.25em rgba(0, 0, 0, 0.1) inset, 0 0 0.2em 0 rgba(255, 255, 255, 0.95),
43
- 0 4px 16px rgba(130, 70, 175, 0.3);
44
- }
45
-
46
- .memori-website_assistant--trigger:hover {
47
- transform: scale(1.05);
48
- }
49
-
50
- .memori-website_assistant--trigger:active {
51
- transform: scale(0.95);
52
- }
53
-
54
- .memori-website_assistant--trigger-button {
55
- position: relative;
56
- width: 64px;
57
- height: 64px;
58
- padding: 0;
59
- border: none !important;
60
- border-radius: 50%;
61
- -webkit-backdrop-filter: blur(10px);
62
- backdrop-filter: blur(10px);
63
- box-shadow: none !important;
64
- cursor: pointer;
65
- transform: translate(-12px, -12px);
66
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
67
- }
68
-
69
- .memori-website_assistant--trigger-button:active {
70
- transform: translateY(0) scale(0.95);
71
- }
72
-
73
- .memori-website_assistant--trigger-button .memori-blob {
74
- position: relative !important;
75
- display: block;
76
- width: 100%;
77
- height: 100%;
78
- margin: 0;
79
- }
80
-
81
- .memori-website_assistant--trigger-button .memori-blob figure {
82
- width: 85%;
83
- border-radius: 0;
84
- opacity: 1;
85
- transition: transform 0.3s ease;
86
- }
87
-
88
- /* Tablet and up */
89
- @media (min-width: 601px) {
90
- .memori-website_assistant--trigger-button {
91
- width: 80px;
92
- height: 80px;
93
- }
94
-
95
- .memori-website_assistant--trigger-button .memori-blob .mainDiv {
96
- width: 80px !important;
97
- height: 80px !important;
98
- }
99
- }
100
-
101
- /* Desktop */
102
- @media (min-width: 1024px) {
103
- .memori-website_assistant--trigger-button {
104
- width: 96px !important;
105
- height: 96px !important;
106
- }
107
-
108
- .memori-website_assistant--trigger-button .memori-blob .mainDiv {
109
- width: 96px !important;
110
- height: 96px !important;
111
- }
112
- }
113
-
114
- /* ============================================
115
- CLOSE BUTTON
116
- ============================================ */
117
-
118
- .memori-website_assistant--close-button-wrapper {
119
- position: relative;
120
- z-index: 1001;
121
- flex-shrink: 0;
122
- transition: transform 0.2s ease;
123
- }
124
-
125
- .memori-website_assistant--close-button-wrapper:hover {
126
- transform: scale(1.1);
127
- }
128
-
129
- .memori-website_assistant--close-button-wrapper button.memori-website_assistant--close-button {
130
- width: 44px !important;
131
- min-width: 44px !important;
132
- height: 44px !important;
133
- min-height: 44px !important;
134
- padding: 0.75rem;
135
- border: none;
136
- background-color: var(--memori-main-background);
137
- box-shadow: none;
138
- color: var(--memori-text-color);
139
- transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
140
- }
141
-
142
- /* ============================================
143
- MAIN CONTAINER (Mobile First)
144
- ============================================ */
145
-
146
- .memori-widget.memori-layout-website_assistant {
147
- position: relative;
148
- font-size: var(--memori-text-size-small);
149
- }
150
-
151
- /*
152
- * Login and Position drawers are portaled to body by Headless UI.
153
- * When layout is WEBSITE_ASSISTANT we pass drawerClassName so they sit above the fixed panel.
154
- */
155
- .memori-drawer.memori-drawer--above-website-assistant,
156
- .memori-drawer.memori-drawer--above-website-assistant .memori-drawer--backdrop,
157
- .memori-drawer.memori-drawer--above-website-assistant .memori-drawer--container {
158
- z-index: 2147483000;
159
- }
160
-
161
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--collapsed,
162
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded {
163
- position: fixed;
164
- right: 0;
165
- bottom: 0;
166
- overflow: hidden;
167
- width: 100vw;
168
- max-width: 100vw;
169
- border-radius: var(--memori-radius-box) var(--memori-radius-box) 0 0;
170
- -webkit-backdrop-filter: blur(20px);
171
- backdrop-filter: blur(20px);
172
- box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.12), 0 -2px 8px rgba(0, 0, 0, 0.08);
173
- transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
174
- }
175
-
176
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--collapsed {
177
- overflow: visible;
178
- height: 0;
179
- opacity: 0;
180
- pointer-events: none;
181
- }
182
-
183
- /* Ensure trigger button is always visible even when container is collapsed */
184
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--collapsed .memori-website_assistant--trigger {
185
- opacity: 1;
186
- pointer-events: all;
187
- visibility: visible;
188
- }
189
-
190
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded {
191
- height: min(85vh, calc(100vh - var(--memori-spacing-5xl)));
192
- padding: 0.5rem 0rem;
193
- margin-bottom: 0;
194
- opacity: 1;
195
- pointer-events: all;
196
- }
197
-
198
- /* Tablet */
199
- @media (min-width: 601px) {
200
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--collapsed,
201
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded {
202
- right: 0;
203
- width: 90vw;
204
- max-width: 480px;
205
- border-radius: var(--memori-radius-box) 0 0 0;
206
- }
207
-
208
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded {
209
- height: min(75vh, calc(100vh - var(--memori-spacing-5xl)));
210
- }
211
- }
212
-
213
- /* Desktop */
214
- @media (min-width: 1024px) {
215
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--collapsed,
216
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded {
217
- width: 480px;
218
- border-radius: var(--memori-radius-box) 0 0 0;
219
- }
220
-
221
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded {
222
- height: 100vh;
223
- border-radius: 0;
224
- margin-bottom: 0;
225
- }
226
- }
227
-
228
- /* ============================================
229
- ANIMATIONS
230
- ============================================ */
231
-
232
- @keyframes showup {
233
- 0% {
234
- opacity: 0;
235
- transform: translateY(20px) scale(0.95);
236
- }
237
- 100% {
238
- opacity: 1;
239
- transform: translateY(0) scale(1);
240
- }
241
- }
242
-
243
- @keyframes slideUp {
244
- from {
245
- opacity: 0;
246
- transform: translateY(100%);
247
- }
248
- to {
249
- opacity: 1;
250
- transform: translateY(0);
251
- }
252
- }
253
-
254
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded .memori-website_assistant-layout {
255
- animation: showup 0.4s cubic-bezier(0.4, 0, 0.2, 1);
256
- }
257
-
258
- /* ============================================
259
- LAYOUT STRUCTURE
260
- ============================================ */
261
-
262
- .memori-widget .memori-spin.memori-website_assistant-layout {
263
- position: relative;
264
- display: flex;
265
- height: 100%;
266
- flex-direction: column;
267
- }
268
-
269
- .memori-widget.memori-layout-website_assistant .memori--global-background {
270
- background: none;
271
- }
272
-
273
- .memori-website_assistant-layout .memori--powered-by {
274
- right: auto;
275
- left: 50%;
276
- justify-content: center;
277
- text-align: center;
278
- transform: translateX(-50%);
279
- }
280
-
281
- .memori-widget.memori-layout-website_assistant.memori--avatar-readyplayerme
282
- .memori-website_assistant-layout
283
- .memori--powered-by,
284
- .memori-widget.memori-layout-website_assistant.memori--avatar-readyplayerme-full
285
- .memori-website_assistant-layout
286
- .memori--powered-by,
287
- .memori-widget.memori-layout-website_assistant.memori--avatar-customglb
288
- .memori-website_assistant-layout
289
- .memori--powered-by,
290
- .memori-widget.memori-layout-website_assistant.memori--avatar-customrpm
291
- .memori-website_assistant-layout
292
- .memori--powered-by {
293
- right: auto;
294
- left: 1rem;
295
- justify-content: flex-start;
296
- text-align: left;
297
- transform: none;
298
- }
299
-
300
- /* ============================================
301
- HEADER
302
- ============================================ */
303
-
304
- .memori-website_assistant-layout--header {
305
- position: absolute;
306
- z-index: 1000;
307
- top: 0.75rem;
308
- right: 0.75rem;
309
- padding: 0.5rem;
310
- border-radius: var(--memori-radius-box);
311
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
312
- text-align: right;
313
- }
314
-
315
- .memori-website_assistant-layout--header-hidden {
316
- display: none;
317
- }
318
-
319
- .memori-website_assistant-layout .memori-header {
320
- z-index: 1000;
321
- display: inline-flex;
322
- width: auto;
323
- height: auto;
324
- flex-direction: row;
325
- padding: 0;
326
- gap: 0.35rem;
327
- }
328
-
329
- /* Less specific first (no-descending-specificity): single .memori-header--button */
330
- .memori-website_assistant-layout .memori-header .memori-header--button,
331
- .memori-website_assistant-layout .memori-header .memori-share-button {
332
- margin-top: 0;
333
- margin-right: 0;
334
- margin-left: 0;
335
- }
336
-
337
- /* More specific: adjacent sibling (must come after general .memori-header--button rules) */
338
- .memori-website_assistant-layout .memori-header .memori-header--button + .memori-header--button {
339
- margin-top: 0;
340
- margin-right: 0;
341
- margin-left: 0;
342
- }
343
-
344
- .memori-website_assistant-layout--header-row {
345
- position: absolute;
346
- z-index: 1001;
347
- top: 0.75rem;
348
- right: 0.75rem;
349
- display: flex;
350
- align-items: center;
351
- justify-content: flex-end;
352
- gap: 0.5rem;
353
- }
354
-
355
- /* Position dropdown below the trigger so it does not cover the share button */
356
- .memori-widget.memori-layout-website_assistant .memori-share-button .memori-share-button--overlay {
357
- z-index: 1002;
358
- top: 100%;
359
- margin-top: 0.5rem;
360
- }
361
-
362
- .memori-widget.memori-layout-website_assistant .memori-header--button--fullscreen {
363
- display: none;
364
- }
365
-
366
- /* ============================================
367
- AVATAR SECTION
368
- ============================================ */
369
-
370
- .memori-website_assistant-layout--avatar {
371
- position: relative;
372
- overflow: hidden;
373
- min-height: 0;
374
- max-height: 35vh;
375
- flex: 1;
376
- /* Prevent avatar/blob from growing unbounded and overlapping header/controls */
377
- contain: layout style;
378
- }
379
-
380
- .memori-website_assistant-layout--avatar .memori--avatar-wrapper {
381
- position: absolute;
382
- z-index: 0;
383
- top: 0;
384
- left: 0;
385
- overflow: hidden;
386
- width: 100%;
387
- height: 100%;
388
- }
389
-
390
- .memori-website_assistant-layout--avatar .memori--blob-container {
391
- display: block;
392
- }
393
-
394
- .memori-website_assistant-layout--avatar .memori-blob {
395
- z-index: 2;
396
- }
397
-
398
- .memori-website_assistant-layout--avatar .memori--avatar-wrapper .avatar-loader {
399
- display: flex;
400
- width: 100%;
401
- height: 100%;
402
- align-items: center;
403
- justify-content: center;
404
- transform: none !important;
405
- }
406
-
407
- .memori-layout-website_assistant .memori--avatar-wrapper > div {
408
- overflow: visible !important;
409
- width: auto !important;
410
- height: 100%;
411
- border-radius: 0;
412
- }
413
-
414
- .memori-layout-website_assistant .memori--avatar-wrapper > div canvas + div {
415
- position: absolute !important;
416
- width: 100%;
417
- height: 100%;
418
- transform: none !important;
419
- }
420
-
421
- .memori-layout-website_assistant.memori--avatar-readyplayerme-full .memori--avatar-wrapper > div {
422
- transform: scale(1.7) translate(0px, 10vh);
423
- }
424
-
425
- .memori-website_assistant-layout--avatar .memori--avatar-wrapper canvas {
426
- width: auto !important;
427
- max-width: 100%;
428
- height: 100%;
429
- object-fit: contain;
430
- }
431
-
432
- .memori-website_assistant-layout--avatar .memori--avatar-wrapper .avatar-loader figure {
433
- text-align: center;
434
- }
435
-
436
- .memori-layout-website_assistant.memori--avatar-readyplayerme
437
- .memori-website_assistant--trigger-button
438
- .memori-blob
439
- figure {
440
- width: 100%;
441
- }
442
-
443
- .memori-website_assistant-layout--avatar .memori--avatar-wrapper .avatar-loader .memori-spin--spinner {
444
- background: none;
445
- }
446
-
447
- /* ============================================
448
- CONTROLS SECTION
449
- ============================================ */
450
-
451
- .memori-website_assistant-layout--controls {
452
- position: relative;
453
- z-index: 5;
454
- display: flex;
455
- min-height: 0;
456
- flex: 1;
457
- flex-direction: column;
458
- padding: 1rem;
459
- background-color: var(--memori-secondary-background);
460
- }
461
-
462
- .memori-website_assistant-layout--controls .memori-chat--history,
463
- .memori-website_assistant-layout--controls .memori-chat--content {
464
- background: var(--memori-secondary-background);
465
- }
466
-
467
- .memori-website_assistant-layout--controls .memori-chat--history {
468
- padding: 0;
469
- margin-top: var(--memori-spacing-3xl);
470
- -webkit-backdrop-filter: none;
471
- backdrop-filter: none;
472
- }
473
-
474
- .memori-website_assistant-layout--controls .memori-chat--content {
475
- padding: 0;
476
- }
477
-
478
- .memori-website_assistant-layout--controls .memori-chat--bubble-initial + .memori-chat--bubble-container {
479
- margin-top: auto;
480
- }
481
-
482
- .memori-website_assistant-layout--controls .memori-chat--content .memori-chat--bubble-container:first-of-type {
483
- margin-top: auto;
484
- }
485
-
486
- .memori-website_assistant-layout--controls .memori--start-panel,
487
- .memori-website_assistant-layout--controls .memori-chat--wrapper {
488
- width: 100%;
489
- max-width: 100%;
490
- padding: 0;
491
- margin: auto;
492
- }
493
-
494
- .memori-website_assistant-layout--controls .memori--start-panel {
495
- flex: 1;
496
- align-content: center;
497
- align-self: center;
498
- padding: 1rem;
499
- border: 0px;
500
- border-radius: var(--memori-radius-box);
501
- margin: 0.75rem;
502
- margin-bottom: var(--memori-spacing-2xl) !important;
503
- box-shadow: none !important;
504
- }
505
-
506
- .memori-website_assistant-layout--controls .memori-chat--wrapper {
507
- display: flex;
508
- min-height: 0;
509
- flex: 1;
510
- flex-direction: column;
511
- padding: 0.75rem;
512
- border: 0px !important;
513
- box-shadow: none !important;
514
- }
515
-
516
- /* Tablet and up */
517
- @media (min-width: 601px) {
518
- .memori-website_assistant-layout--controls .memori--start-panel,
519
- .memori-website_assistant-layout--controls .memori-chat--wrapper {
520
- max-width: 100%;
521
- }
522
-
523
- .memori-website_assistant-layout--controls .memori-chat--wrapper {
524
- padding: 1rem;
525
- }
526
-
527
- .memori-website_assistant-layout--controls .memori--start-panel {
528
- padding: 1.5rem;
529
- margin: 0 auto;
530
- }
531
- }
532
-
533
- /* Desktop */
534
- @media (min-width: 1024px) {
535
- .memori-website_assistant-layout--controls .memori--start-panel,
536
- .memori-website_assistant-layout--controls .memori-chat--wrapper {
537
- max-width: 800px;
538
- }
539
- }
540
-
541
- /* ============================================
542
- CHAT STYLING
543
- ============================================ */
544
-
545
- .memori-website_assistant-layout .memori-chat--cover {
546
- display: none;
547
- }
548
-
549
- .memori-website_assistant-layout .memori--cover {
550
- padding: 0;
551
- background: none;
552
- }
553
-
554
- .memori-website_assistant-layout .memori-chat--bubble,
555
- .memori-website_assistant-layout .memori-chat--bubble.memori-chat--user-bubble {
556
- animation: showup 0.3s ease-out;
557
- opacity: 1;
558
- transition: all 0.2s ease-in-out;
559
- }
560
-
561
- .memori-website_assistant-layout .memori-chat--bubble:hover,
562
- .memori-website_assistant-layout .memori-chat--bubble.memori-chat--user-bubble:hover {
563
- opacity: 1;
564
- transform: translateY(-1px);
565
- }
566
-
567
- .memori-website_assistant-layout .memori-chat--bubble p,
568
- .memori-website_assistant-layout .memori-chat--bubble.memori-chat--user-bubble p {
569
- opacity: 1;
570
- }
571
-
572
- /* ============================================
573
- OTHER ELEMENTS
574
- ============================================ */
575
-
576
- .memori-website_assistant-layout .memori--avatar-toggle {
577
- display: none;
578
- width: 100%;
579
- justify-content: center;
580
- }
581
-
582
- .memori-website_assistant-layout .memori--title,
583
- .memori-website_assistant-layout .memori--description,
584
- .memori-website_assistant-layout .memori--needsPosition {
585
- color: var(--memori-text-color);
586
- }
587
-
588
- .memori-website_assistant-layout .memori--global-background-image {
589
- background: none;
590
- }
591
-
592
- .memori-website_assistant-layout .memori--description-text,
593
- .memori-website_assistant-layout .memori--translation-toggle {
594
- display: none;
595
- }
596
-
597
- /* ============================================
598
- RESPONSIVE ADJUSTMENTS
599
- ============================================ */
600
-
601
- @media (max-width: 480px) {
602
- .memori-website_assistant-layout .memori-send-on-enter-menu {
603
- display: none;
604
- }
605
-
606
- .memori-website_assistant-layout .memori-header--button-settings {
607
- display: none;
608
- }
609
-
610
- .memori-website_assistant-layout--controls {
611
- padding: 0.75rem;
612
- }
613
-
614
- .memori-website_assistant-layout--controls .memori-chat--wrapper {
615
- padding: 0.5rem;
616
- }
617
-
618
- .memori-website_assistant-layout--controls .memori--start-panel {
619
- padding: 1rem;
620
- margin: 0.5rem;
621
- }
622
- }
623
-
624
- /* After controls .memori--start-panel rules (no-descending-specificity: 3-class selector wins over 2-class) */
625
- .memori-widget.memori-layout-website_assistant .memori--start-panel {
626
- border: none;
627
- }
628
-
629
- @media (max-width: 768px) {
630
- .memori-website_assistant--trigger-button {
631
- width: 80px !important;
632
- height: 80px !important;
633
- -webkit-backdrop-filter: blur(12px);
634
- backdrop-filter: blur(12px);
635
- background: rgba(255, 255, 255, 0.25);
636
- }
637
-
638
- /* Keep blob container as positioning context and centered in button */
639
- .memori-website_assistant--trigger-button .memori-blob {
640
- position: relative !important;
641
- top: 0 !important;
642
- display: flex;
643
- align-items: center;
644
- justify-content: center;
645
- }
646
-
647
- /* Center .mainDiv in button: use percentage translate so blob aligns with button (override Blob.css mobile pixel offsets) */
648
- .memori-website_assistant--trigger-button .memori-blob .mainDiv {
649
- top: 50% !important;
650
- left: 50% !important;
651
- --memori-blob-x: -50%;
652
- --memori-blob-y: -50%;
653
- }
654
- }
655
-
656
- /* ============================================
657
- ACCESSIBILITY & PERFORMANCE
658
- ============================================ */
659
-
660
- @media (prefers-reduced-motion: reduce) {
661
- .memori-website_assistant--trigger,
662
- .memori-website_assistant--trigger-button,
663
- .memori-website_assistant--close-button-wrapper,
664
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--collapsed,
665
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded,
666
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded .memori-website_assistant-layout,
667
- .memori-website_assistant-layout .memori-chat--bubble {
668
- animation: none !important;
669
- transition: none !important;
670
- }
671
- }
672
-
673
- /* Touch device optimizations */
674
- @media (hover: none) and (pointer: coarse) {
675
- .memori-website_assistant--trigger-button {
676
- width: 80px;
677
- height: 80px;
678
- }
679
-
680
- .memori-website_assistant--trigger-button .memori-blob .mainDiv {
681
- width: 72px !important;
682
- height: 72px !important;
683
- }
684
-
685
- .memori-website_assistant--close-button-wrapper button.memori-website_assistant--close-button {
686
- width: 48px;
687
- height: 48px;
688
- padding: 0.875rem;
689
- }
690
- }