@memori.ai/memori-react 8.45.5 → 8.46.0

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 (271) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/components/MemoriWidget/MemoriWidget.js +61 -32
  3. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  4. package/dist/helpers/speech/speechRequest.d.ts +15 -0
  5. package/dist/helpers/speech/speechRequest.js +76 -0
  6. package/dist/helpers/speech/speechRequest.js.map +1 -0
  7. package/dist/helpers/stt/useSTT.d.ts +4 -0
  8. package/dist/helpers/stt/useSTT.js +20 -13
  9. package/dist/helpers/stt/useSTT.js.map +1 -1
  10. package/dist/helpers/tts/useTTS.d.ts +5 -0
  11. package/dist/helpers/tts/useTTS.js +12 -4
  12. package/dist/helpers/tts/useTTS.js.map +1 -1
  13. package/dist/locales/de.json +4 -0
  14. package/dist/locales/en.json +4 -0
  15. package/dist/locales/es.json +4 -0
  16. package/dist/locales/fr.json +4 -0
  17. package/dist/locales/it.json +4 -0
  18. package/dist/version.d.ts +1 -1
  19. package/dist/version.js +1 -1
  20. package/esm/components/MemoriWidget/MemoriWidget.js +61 -32
  21. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  22. package/esm/helpers/speech/speechRequest.d.ts +15 -0
  23. package/esm/helpers/speech/speechRequest.js +68 -0
  24. package/esm/helpers/speech/speechRequest.js.map +1 -0
  25. package/esm/helpers/stt/useSTT.d.ts +4 -0
  26. package/esm/helpers/stt/useSTT.js +20 -13
  27. package/esm/helpers/stt/useSTT.js.map +1 -1
  28. package/esm/helpers/tts/useTTS.d.ts +5 -0
  29. package/esm/helpers/tts/useTTS.js +12 -4
  30. package/esm/helpers/tts/useTTS.js.map +1 -1
  31. package/esm/locales/de.json +4 -0
  32. package/esm/locales/en.json +4 -0
  33. package/esm/locales/es.json +4 -0
  34. package/esm/locales/fr.json +4 -0
  35. package/esm/locales/it.json +4 -0
  36. package/esm/version.d.ts +1 -1
  37. package/esm/version.js +1 -1
  38. package/package.json +1 -1
  39. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -78
  40. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -39
  41. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +0 -43
  42. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +0 -1
  43. package/dist/components/ContentPreviewModal/DocumentMarkdown.d.ts +0 -7
  44. package/dist/components/ContentPreviewModal/DocumentMarkdown.js +0 -31
  45. package/dist/components/ContentPreviewModal/DocumentMarkdown.js.map +0 -1
  46. package/dist/components/DrawerFooter/DrawerFooter.css +0 -62
  47. package/dist/components/DrawerFooter/DrawerFooter.d.ts +0 -12
  48. package/dist/components/DrawerFooter/DrawerFooter.js +0 -10
  49. package/dist/components/DrawerFooter/DrawerFooter.js.map +0 -1
  50. package/dist/components/IconButton/IconButton.css +0 -135
  51. package/dist/components/IconButton/IconButton.d.ts +0 -9
  52. package/dist/components/IconButton/IconButton.js +0 -36
  53. package/dist/components/IconButton/IconButton.js.map +0 -1
  54. package/dist/components/LoginModal/LoginModal.css +0 -270
  55. package/dist/components/LoginModal/LoginModal.d.ts +0 -19
  56. package/dist/components/LoginModal/LoginModal.js +0 -355
  57. package/dist/components/LoginModal/LoginModal.js.map +0 -1
  58. package/dist/components/MobileSessionPanel/MobileSessionPanel.css +0 -540
  59. package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +0 -65
  60. package/dist/components/MobileSessionPanel/MobileSessionPanel.js +0 -254
  61. package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +0 -1
  62. package/dist/components/PositionPopover/PositionPopover.css +0 -218
  63. package/dist/components/PositionPopover/PositionPopover.d.ts +0 -22
  64. package/dist/components/PositionPopover/PositionPopover.js +0 -208
  65. package/dist/components/PositionPopover/PositionPopover.js.map +0 -1
  66. package/dist/components/ReasoningBlock/ReasoningBlock.css +0 -156
  67. package/dist/components/ReasoningBlock/ReasoningBlock.d.ts +0 -7
  68. package/dist/components/ReasoningBlock/ReasoningBlock.js +0 -61
  69. package/dist/components/ReasoningBlock/ReasoningBlock.js.map +0 -1
  70. package/dist/components/SideDrawer/SideDrawer.css +0 -112
  71. package/dist/components/SideDrawer/SideDrawer.d.ts +0 -22
  72. package/dist/components/SideDrawer/SideDrawer.js +0 -17
  73. package/dist/components/SideDrawer/SideDrawer.js.map +0 -1
  74. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.d.ts +0 -4
  75. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +0 -144
  76. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +0 -1
  77. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +0 -889
  78. package/dist/components/layouts/fullpage.css +0 -628
  79. package/dist/helpers/artifactPanel.d.ts +0 -6
  80. package/dist/helpers/artifactPanel.js +0 -42
  81. package/dist/helpers/artifactPanel.js.map +0 -1
  82. package/dist/helpers/chatScroll.d.ts +0 -12
  83. package/dist/helpers/chatScroll.js +0 -14
  84. package/dist/helpers/chatScroll.js.map +0 -1
  85. package/dist/helpers/conversationHistory.d.ts +0 -16
  86. package/dist/helpers/conversationHistory.js +0 -89
  87. package/dist/helpers/conversationHistory.js.map +0 -1
  88. package/dist/helpers/conversationTitle.d.ts +0 -8
  89. package/dist/helpers/conversationTitle.js +0 -27
  90. package/dist/helpers/conversationTitle.js.map +0 -1
  91. package/dist/helpers/enhanceBubbleCodeBlocks.d.ts +0 -5
  92. package/dist/helpers/enhanceBubbleCodeBlocks.js +0 -97
  93. package/dist/helpers/enhanceBubbleCodeBlocks.js.map +0 -1
  94. package/dist/helpers/highlightMatches.d.ts +0 -2
  95. package/dist/helpers/highlightMatches.js +0 -54
  96. package/dist/helpers/highlightMatches.js.map +0 -1
  97. package/dist/helpers/positionPopover.d.ts +0 -3
  98. package/dist/helpers/positionPopover.js +0 -22
  99. package/dist/helpers/positionPopover.js.map +0 -1
  100. package/dist/helpers/prism.d.ts +0 -16
  101. package/dist/helpers/prism.js +0 -78
  102. package/dist/helpers/prism.js.map +0 -1
  103. package/dist/helpers/reasoning.d.ts +0 -7
  104. package/dist/helpers/reasoning.js +0 -43
  105. package/dist/helpers/reasoning.js.map +0 -1
  106. package/dist/helpers/relativeTime.d.ts +0 -3
  107. package/dist/helpers/relativeTime.js +0 -56
  108. package/dist/helpers/relativeTime.js.map +0 -1
  109. package/dist/helpers/sourcesCount.d.ts +0 -2
  110. package/dist/helpers/sourcesCount.js +0 -22
  111. package/dist/helpers/sourcesCount.js.map +0 -1
  112. package/dist/helpers/tts/muteSpeaker.d.ts +0 -13
  113. package/dist/helpers/tts/muteSpeaker.js +0 -26
  114. package/dist/helpers/tts/muteSpeaker.js.map +0 -1
  115. package/dist/helpers/usePressTooltip.d.ts +0 -18
  116. package/dist/helpers/usePressTooltip.js +0 -38
  117. package/dist/helpers/usePressTooltip.js.map +0 -1
  118. package/dist/icons/FacebookIcon.d.ts +0 -3
  119. package/dist/icons/FacebookIcon.js +0 -6
  120. package/dist/icons/FacebookIcon.js.map +0 -1
  121. package/dist/icons/LinkedinIcon.d.ts +0 -3
  122. package/dist/icons/LinkedinIcon.js +0 -6
  123. package/dist/icons/LinkedinIcon.js.map +0 -1
  124. package/dist/icons/MemoriIcon.d.ts +0 -3
  125. package/dist/icons/MemoriIcon.js +0 -8
  126. package/dist/icons/MemoriIcon.js.map +0 -1
  127. package/dist/icons/TelegramIcon.d.ts +0 -3
  128. package/dist/icons/TelegramIcon.js +0 -6
  129. package/dist/icons/TelegramIcon.js.map +0 -1
  130. package/dist/icons/TwitterIcon.d.ts +0 -3
  131. package/dist/icons/TwitterIcon.js +0 -6
  132. package/dist/icons/TwitterIcon.js.map +0 -1
  133. package/dist/icons/WhatsappIcon.d.ts +0 -3
  134. package/dist/icons/WhatsappIcon.js +0 -6
  135. package/dist/icons/WhatsappIcon.js.map +0 -1
  136. package/dist/icons/artifacts/DocumentIcon.d.ts +0 -3
  137. package/dist/icons/artifacts/DocumentIcon.js +0 -6
  138. package/dist/icons/artifacts/DocumentIcon.js.map +0 -1
  139. package/dist/icons/artifacts/HtmlIcon.d.ts +0 -3
  140. package/dist/icons/artifacts/HtmlIcon.js +0 -6
  141. package/dist/icons/artifacts/HtmlIcon.js.map +0 -1
  142. package/dist/icons/artifacts/JavascriptIcon.d.ts +0 -3
  143. package/dist/icons/artifacts/JavascriptIcon.js +0 -6
  144. package/dist/icons/artifacts/JavascriptIcon.js.map +0 -1
  145. package/dist/icons/artifacts/MarkdownIcon.d.ts +0 -3
  146. package/dist/icons/artifacts/MarkdownIcon.js +0 -6
  147. package/dist/icons/artifacts/MarkdownIcon.js.map +0 -1
  148. package/dist/icons/artifacts/PythonIcon.d.ts +0 -3
  149. package/dist/icons/artifacts/PythonIcon.js +0 -6
  150. package/dist/icons/artifacts/PythonIcon.js.map +0 -1
  151. package/dist/icons/artifacts/SvgIcon.d.ts +0 -3
  152. package/dist/icons/artifacts/SvgIcon.js +0 -6
  153. package/dist/icons/artifacts/SvgIcon.js.map +0 -1
  154. package/dist/icons/artifacts/XmlIcon.d.ts +0 -3
  155. package/dist/icons/artifacts/XmlIcon.js +0 -6
  156. package/dist/icons/artifacts/XmlIcon.js.map +0 -1
  157. package/dist/icons/artifacts/cssIcon.d.ts +0 -3
  158. package/dist/icons/artifacts/cssIcon.js +0 -6
  159. package/dist/icons/artifacts/cssIcon.js.map +0 -1
  160. package/dist/styles/motion.css +0 -25
  161. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -39
  162. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +0 -40
  163. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +0 -1
  164. package/esm/components/ContentPreviewModal/DocumentMarkdown.d.ts +0 -7
  165. package/esm/components/ContentPreviewModal/DocumentMarkdown.js +0 -28
  166. package/esm/components/ContentPreviewModal/DocumentMarkdown.js.map +0 -1
  167. package/esm/components/DrawerFooter/DrawerFooter.d.ts +0 -12
  168. package/esm/components/DrawerFooter/DrawerFooter.js +0 -8
  169. package/esm/components/DrawerFooter/DrawerFooter.js.map +0 -1
  170. package/esm/components/IconButton/IconButton.d.ts +0 -9
  171. package/esm/components/IconButton/IconButton.js +0 -33
  172. package/esm/components/IconButton/IconButton.js.map +0 -1
  173. package/esm/components/LoginModal/LoginModal.d.ts +0 -19
  174. package/esm/components/LoginModal/LoginModal.js +0 -352
  175. package/esm/components/LoginModal/LoginModal.js.map +0 -1
  176. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +0 -65
  177. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +0 -251
  178. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +0 -1
  179. package/esm/components/PositionPopover/PositionPopover.d.ts +0 -22
  180. package/esm/components/PositionPopover/PositionPopover.js +0 -203
  181. package/esm/components/PositionPopover/PositionPopover.js.map +0 -1
  182. package/esm/components/ReasoningBlock/ReasoningBlock.d.ts +0 -7
  183. package/esm/components/ReasoningBlock/ReasoningBlock.js +0 -58
  184. package/esm/components/ReasoningBlock/ReasoningBlock.js.map +0 -1
  185. package/esm/components/SideDrawer/SideDrawer.d.ts +0 -22
  186. package/esm/components/SideDrawer/SideDrawer.js +0 -12
  187. package/esm/components/SideDrawer/SideDrawer.js.map +0 -1
  188. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.d.ts +0 -4
  189. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +0 -141
  190. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +0 -1
  191. package/esm/helpers/artifactPanel.d.ts +0 -6
  192. package/esm/helpers/artifactPanel.js +0 -37
  193. package/esm/helpers/artifactPanel.js.map +0 -1
  194. package/esm/helpers/chatScroll.d.ts +0 -12
  195. package/esm/helpers/chatScroll.js +0 -9
  196. package/esm/helpers/chatScroll.js.map +0 -1
  197. package/esm/helpers/conversationHistory.d.ts +0 -16
  198. package/esm/helpers/conversationHistory.js +0 -82
  199. package/esm/helpers/conversationHistory.js.map +0 -1
  200. package/esm/helpers/conversationTitle.d.ts +0 -8
  201. package/esm/helpers/conversationTitle.js +0 -23
  202. package/esm/helpers/conversationTitle.js.map +0 -1
  203. package/esm/helpers/enhanceBubbleCodeBlocks.d.ts +0 -5
  204. package/esm/helpers/enhanceBubbleCodeBlocks.js +0 -94
  205. package/esm/helpers/enhanceBubbleCodeBlocks.js.map +0 -1
  206. package/esm/helpers/highlightMatches.d.ts +0 -2
  207. package/esm/helpers/highlightMatches.js +0 -49
  208. package/esm/helpers/highlightMatches.js.map +0 -1
  209. package/esm/helpers/positionPopover.d.ts +0 -3
  210. package/esm/helpers/positionPopover.js +0 -17
  211. package/esm/helpers/positionPopover.js.map +0 -1
  212. package/esm/helpers/prism.d.ts +0 -16
  213. package/esm/helpers/prism.js +0 -74
  214. package/esm/helpers/prism.js.map +0 -1
  215. package/esm/helpers/reasoning.d.ts +0 -7
  216. package/esm/helpers/reasoning.js +0 -39
  217. package/esm/helpers/reasoning.js.map +0 -1
  218. package/esm/helpers/relativeTime.d.ts +0 -3
  219. package/esm/helpers/relativeTime.js +0 -50
  220. package/esm/helpers/relativeTime.js.map +0 -1
  221. package/esm/helpers/sourcesCount.d.ts +0 -2
  222. package/esm/helpers/sourcesCount.js +0 -18
  223. package/esm/helpers/sourcesCount.js.map +0 -1
  224. package/esm/helpers/tts/muteSpeaker.d.ts +0 -13
  225. package/esm/helpers/tts/muteSpeaker.js +0 -21
  226. package/esm/helpers/tts/muteSpeaker.js.map +0 -1
  227. package/esm/helpers/usePressTooltip.d.ts +0 -18
  228. package/esm/helpers/usePressTooltip.js +0 -35
  229. package/esm/helpers/usePressTooltip.js.map +0 -1
  230. package/esm/icons/FacebookIcon.d.ts +0 -3
  231. package/esm/icons/FacebookIcon.js +0 -4
  232. package/esm/icons/FacebookIcon.js.map +0 -1
  233. package/esm/icons/LinkedinIcon.d.ts +0 -3
  234. package/esm/icons/LinkedinIcon.js +0 -4
  235. package/esm/icons/LinkedinIcon.js.map +0 -1
  236. package/esm/icons/MemoriIcon.d.ts +0 -3
  237. package/esm/icons/MemoriIcon.js +0 -6
  238. package/esm/icons/MemoriIcon.js.map +0 -1
  239. package/esm/icons/TelegramIcon.d.ts +0 -3
  240. package/esm/icons/TelegramIcon.js +0 -4
  241. package/esm/icons/TelegramIcon.js.map +0 -1
  242. package/esm/icons/TwitterIcon.d.ts +0 -3
  243. package/esm/icons/TwitterIcon.js +0 -4
  244. package/esm/icons/TwitterIcon.js.map +0 -1
  245. package/esm/icons/WhatsappIcon.d.ts +0 -3
  246. package/esm/icons/WhatsappIcon.js +0 -4
  247. package/esm/icons/WhatsappIcon.js.map +0 -1
  248. package/esm/icons/artifacts/DocumentIcon.d.ts +0 -3
  249. package/esm/icons/artifacts/DocumentIcon.js +0 -4
  250. package/esm/icons/artifacts/DocumentIcon.js.map +0 -1
  251. package/esm/icons/artifacts/HtmlIcon.d.ts +0 -3
  252. package/esm/icons/artifacts/HtmlIcon.js +0 -4
  253. package/esm/icons/artifacts/HtmlIcon.js.map +0 -1
  254. package/esm/icons/artifacts/JavascriptIcon.d.ts +0 -3
  255. package/esm/icons/artifacts/JavascriptIcon.js +0 -4
  256. package/esm/icons/artifacts/JavascriptIcon.js.map +0 -1
  257. package/esm/icons/artifacts/MarkdownIcon.d.ts +0 -3
  258. package/esm/icons/artifacts/MarkdownIcon.js +0 -4
  259. package/esm/icons/artifacts/MarkdownIcon.js.map +0 -1
  260. package/esm/icons/artifacts/PythonIcon.d.ts +0 -3
  261. package/esm/icons/artifacts/PythonIcon.js +0 -4
  262. package/esm/icons/artifacts/PythonIcon.js.map +0 -1
  263. package/esm/icons/artifacts/SvgIcon.d.ts +0 -3
  264. package/esm/icons/artifacts/SvgIcon.js +0 -4
  265. package/esm/icons/artifacts/SvgIcon.js.map +0 -1
  266. package/esm/icons/artifacts/XmlIcon.d.ts +0 -3
  267. package/esm/icons/artifacts/XmlIcon.js +0 -4
  268. package/esm/icons/artifacts/XmlIcon.js.map +0 -1
  269. package/esm/icons/artifacts/cssIcon.d.ts +0 -3
  270. package/esm/icons/artifacts/cssIcon.js +0 -4
  271. package/esm/icons/artifacts/cssIcon.js.map +0 -1
@@ -1,889 +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: calc(var(--memori-z-index-base, 0) + 1800);
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-website_assistant--trigger-button .memori-blob,
31
- .memori-website_assistant--trigger-button .memori-blob .mainDiv,
32
- .memori-website_assistant--trigger-button .memori-blob figure {
33
- pointer-events: none;
34
- touch-action: none;
35
- }
36
-
37
- .memori-website_assistant--trigger-button:hover .memori-blob .mainDiv {
38
- 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),
39
- 0 4px 16px rgba(130, 70, 175, 0.3);
40
- }
41
-
42
- .memori-website_assistant--trigger:hover {
43
- transform: scale(1.05);
44
- }
45
-
46
- .memori-website_assistant--trigger:active {
47
- transform: scale(0.95);
48
- }
49
-
50
- .memori-website_assistant--trigger-button {
51
- position: relative;
52
- width: 64px;
53
- height: 64px;
54
- padding: 0;
55
- border: none !important;
56
- border-radius: 50%;
57
- -webkit-backdrop-filter: blur(10px);
58
- backdrop-filter: blur(10px);
59
- box-shadow: none !important;
60
- cursor: pointer;
61
- transform: translate(-12px, -12px);
62
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
63
- }
64
-
65
- .memori-website_assistant--trigger-button:active {
66
- transform: translateY(0) scale(0.95);
67
- }
68
-
69
- .memori-website_assistant--trigger-button .memori-blob {
70
- position: relative !important;
71
- display: block;
72
- width: 100%;
73
- height: 100%;
74
- margin: 0;
75
- }
76
-
77
- .memori-website_assistant--trigger-button .memori-blob figure {
78
- width: 85%;
79
- border-radius: 0;
80
- opacity: 1;
81
- transition: transform 0.3s ease;
82
- }
83
-
84
- /* Tablet and up */
85
- @media (min-width: 601px) {
86
- .memori-website_assistant--trigger-button {
87
- width: 80px;
88
- height: 80px;
89
- }
90
-
91
- .memori-website_assistant--trigger-button .memori-blob .mainDiv {
92
- width: 80px !important;
93
- height: 80px !important;
94
- }
95
- }
96
-
97
- /* Desktop */
98
- @media (min-width: 1024px) {
99
- .memori-website_assistant--trigger-button {
100
- width: 96px !important;
101
- height: 96px !important;
102
- }
103
-
104
- .memori-website_assistant--trigger-button .memori-blob .mainDiv {
105
- width: 96px !important;
106
- height: 96px !important;
107
- }
108
- }
109
-
110
- /* ============================================
111
- CLOSE BUTTON
112
- Matches HiddenChat header close (bordered icon control)
113
- ============================================ */
114
-
115
- .memori-website_assistant--close-button {
116
- display: inline-flex;
117
- width: 2.5rem;
118
- min-width: 2.5rem;
119
- height: 2.5rem;
120
- min-height: 2.5rem;
121
- align-items: center;
122
- justify-content: center;
123
- padding: 0;
124
- border: var(--memori-border, 1px) solid color-mix(in srgb, var(--memori-text-color, #111827) 18%, transparent);
125
- border-radius: var(--memori-radius-control);
126
- margin: 0;
127
- background: transparent;
128
- color: var(--memori-text-color, #111827);
129
- cursor: pointer;
130
- line-height: 1;
131
- transition: background-color 0.15s ease, border-color 0.15s ease;
132
- }
133
-
134
- .memori-website_assistant--close-button:hover {
135
- background: color-mix(in srgb, var(--memori-text-color, #111827) 6%, transparent);
136
- }
137
-
138
- .memori-website_assistant--close-button .memori-icon-close {
139
- width: 1.125rem;
140
- height: 1.125rem;
141
- fill: none;
142
- stroke: currentColor;
143
- }
144
-
145
- /* ============================================
146
- MAIN CONTAINER (Mobile First)
147
- ============================================ */
148
-
149
- .memori-widget.memori-layout-website_assistant {
150
- position: relative;
151
- font-size: var(--memori-text-size-sm);
152
- }
153
-
154
- /*
155
- * Drawers portal into the widget surface (containment). UI 2.0 Drawer uses
156
- * memori-drawer__backdrop on the panel root classes from @memori.ai/ui.
157
- */
158
- .memori-drawer.memori-drawer--above-website-assistant,
159
- .memori-drawer.memori-drawer--above-website-assistant.memori-drawer,
160
- .memori-drawer.memori-drawer--above-website-assistant .memori-drawer__backdrop {
161
- z-index: calc(var(--memori-z-index-base, 0) + 1400);
162
- }
163
-
164
- /*
165
- * Split-panel width for side drawers (history / known facts / experts)
166
- * — keep in sync with ArtifactDrawer and panel shift (`right: 55%`).
167
- * Login is a centered modal gate (not a drawer), so it is excluded.
168
- */
169
- .memori-widget.memori-layout-website_assistant .memori-drawer--right.memori-chat-history-drawer,
170
- .memori-widget.memori-layout-website_assistant .memori-drawer--right.memori-known-facts-drawer,
171
- .memori-widget.memori-layout-website_assistant .memori-drawer--right.memori--experts-drawer,
172
- .memori-widget.memori-layout-website_assistant .memori-drawer--right.memori-side-drawer {
173
- --memori-modal-size-sm: 55%;
174
- --memori-modal-size-md: 55%;
175
- --memori-modal-size-lg: 55%;
176
- width: 55%;
177
- max-width: 100vw;
178
- }
179
-
180
- .memori-widget.memori-layout-website_assistant .memori-modal.memori-modal--above-website-assistant {
181
- z-index: calc(var(--memori-z-index-base, 0) + 1600);
182
- }
183
-
184
- @media (max-width: 1260px) {
185
- .memori-widget.memori-layout-website_assistant .memori-drawer--right.memori-chat-history-drawer,
186
- .memori-widget.memori-layout-website_assistant .memori-drawer--right.memori-known-facts-drawer,
187
- .memori-widget.memori-layout-website_assistant .memori-drawer--right.memori--experts-drawer,
188
- .memori-widget.memori-layout-website_assistant .memori-drawer--right.memori-side-drawer {
189
- --memori-modal-size-sm: 100%;
190
- --memori-modal-size-md: 100%;
191
- --memori-modal-size-lg: 100%;
192
- width: 100% !important;
193
- max-width: 100% !important;
194
- }
195
- }
196
-
197
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--collapsed,
198
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded {
199
- position: fixed;
200
- right: 0;
201
- bottom: 0;
202
- overflow: hidden;
203
- width: 100vw;
204
- max-width: 100vw;
205
- border-radius: var(--memori-radius-overlay) var(--memori-radius-overlay) 0 0;
206
- -webkit-backdrop-filter: blur(20px);
207
- backdrop-filter: blur(20px);
208
- box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.12), 0 -2px 8px rgba(0, 0, 0, 0.08);
209
- transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
210
- }
211
-
212
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--collapsed {
213
- overflow: visible;
214
- height: 0;
215
- opacity: 0;
216
- pointer-events: none;
217
- }
218
-
219
- /* Ensure trigger button is always visible even when container is collapsed */
220
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--collapsed .memori-website_assistant--trigger {
221
- opacity: 1;
222
- pointer-events: all;
223
- visibility: visible;
224
- }
225
-
226
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded {
227
- height: min(85vh, calc(100vh - var(--memori-spacing-5xl)));
228
- height: min(85dvh, calc(100dvh - var(--memori-spacing-5xl)));
229
- max-height: 100dvh;
230
- padding: 0.5rem 0rem;
231
- margin-bottom: 0;
232
- background: var(--memori-secondary-background);
233
- opacity: 1;
234
- pointer-events: all;
235
- }
236
-
237
- /*
238
- * Fullscreen: same approach as HiddenChat — class + inline styles expand the
239
- * docked panel to the full window; browser Fullscreen API is requested on the panel.
240
- */
241
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded.memori-website_assistant--fullscreen,
242
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded:fullscreen,
243
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded:-webkit-full-screen {
244
- top: 0 !important;
245
- right: 0 !important;
246
- bottom: 0 !important;
247
- left: 0 !important;
248
- width: 100% !important;
249
- max-width: none !important;
250
- height: 100% !important;
251
- padding: 0.5rem 0;
252
- border-radius: 0 !important;
253
- margin-bottom: 0;
254
- box-shadow: none;
255
- }
256
-
257
- /*
258
- * Keep in sync with ArtifactDrawer / side-drawer split width (55%).
259
- * `--drawer-open` covers login/history/known-facts/experts; `--artifact-open`
260
- * kept for backward compatibility (both applied together from the layout).
261
- */
262
- .memori-widget.memori-layout-website_assistant
263
- .memori-website_assistant--expanded.memori-website_assistant--drawer-open,
264
- .memori-widget.memori-layout-website_assistant
265
- .memori-website_assistant--expanded.memori-website_assistant--artifact-open {
266
- right: 55%;
267
- }
268
-
269
- /* Fullscreen must win over the drawer/artifact split offset */
270
- .memori-widget.memori-layout-website_assistant
271
- .memori-website_assistant--expanded.memori-website_assistant--fullscreen.memori-website_assistant--drawer-open,
272
- .memori-widget.memori-layout-website_assistant
273
- .memori-website_assistant--expanded:fullscreen.memori-website_assistant--drawer-open,
274
- .memori-widget.memori-layout-website_assistant
275
- .memori-website_assistant--expanded:-webkit-full-screen.memori-website_assistant--drawer-open,
276
- .memori-widget.memori-layout-website_assistant
277
- .memori-website_assistant--expanded.memori-website_assistant--fullscreen.memori-website_assistant--artifact-open,
278
- .memori-widget.memori-layout-website_assistant
279
- .memori-website_assistant--expanded:fullscreen.memori-website_assistant--artifact-open,
280
- .memori-widget.memori-layout-website_assistant
281
- .memori-website_assistant--expanded:-webkit-full-screen.memori-website_assistant--artifact-open {
282
- right: 0 !important;
283
- }
284
-
285
- /* Tablet */
286
- @media (min-width: 601px) {
287
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--collapsed,
288
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded {
289
- right: 0;
290
- width: 90vw;
291
- max-width: 480px;
292
- border-radius: var(--memori-radius-overlay) 0 0 0;
293
- }
294
-
295
- .memori-widget.memori-layout-website_assistant
296
- .memori-website_assistant--expanded.memori-website_assistant--drawer-open,
297
- .memori-widget.memori-layout-website_assistant
298
- .memori-website_assistant--expanded.memori-website_assistant--artifact-open {
299
- right: 55%;
300
- }
301
-
302
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded {
303
- height: min(75vh, calc(100vh - var(--memori-spacing-5xl)));
304
- height: min(75dvh, calc(100dvh - var(--memori-spacing-5xl)));
305
- max-height: 100dvh;
306
- }
307
- }
308
-
309
- /* Desktop */
310
- @media (min-width: 1024px) {
311
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--collapsed,
312
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded {
313
- width: 480px;
314
- border-radius: var(--memori-radius-overlay) 0 0 0;
315
- }
316
-
317
- .memori-widget.memori-layout-website_assistant
318
- .memori-website_assistant--expanded.memori-website_assistant--drawer-open,
319
- .memori-widget.memori-layout-website_assistant
320
- .memori-website_assistant--expanded.memori-website_assistant--artifact-open {
321
- right: 55%;
322
- }
323
-
324
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded {
325
- height: 100vh;
326
- height: 100dvh;
327
- max-height: 100dvh;
328
- border-radius: 0;
329
- margin-bottom: 0;
330
- }
331
- }
332
-
333
- /* ============================================
334
- ANIMATIONS
335
- ============================================ */
336
-
337
- @keyframes showup {
338
- 0% {
339
- opacity: 0;
340
- transform: translateY(20px) scale(0.95);
341
- }
342
- 100% {
343
- opacity: 1;
344
- transform: translateY(0) scale(1);
345
- }
346
- }
347
-
348
- @keyframes slideUp {
349
- from {
350
- opacity: 0;
351
- transform: translateY(100%);
352
- }
353
- to {
354
- opacity: 1;
355
- transform: translateY(0);
356
- }
357
- }
358
-
359
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded .memori-website_assistant-layout {
360
- animation: showup 0.4s cubic-bezier(0.4, 0, 0.2, 1);
361
- }
362
-
363
- /* ============================================
364
- LAYOUT STRUCTURE
365
- ============================================ */
366
-
367
- .memori-widget .memori-spin.memori-website_assistant-layout {
368
- position: relative;
369
- display: flex;
370
- height: 100%;
371
- flex-direction: column;
372
- }
373
-
374
- .memori-widget.memori-layout-website_assistant .memori--global-background {
375
- background: none;
376
- }
377
-
378
- /* Powered-by is not shown in WEBSITE_ASSISTANT; AI disclaimer wraps under the input. */
379
- .memori-website_assistant-layout .memori--powered-by,
380
- .memori-widget.memori-layout-website_assistant .memori--powered-by {
381
- display: none !important;
382
- }
383
-
384
- /* Never show chat history control in this layout */
385
- .memori-widget.memori-layout-website_assistant .memori-header--chat-history-button {
386
- display: none !important;
387
- }
388
-
389
- .memori-widget.memori-layout-website_assistant .memori-conversation-footer {
390
- flex-wrap: wrap;
391
- justify-content: center;
392
- }
393
-
394
- .memori-widget.memori-layout-website_assistant .memori-conversation-footer .memori-chat-inputs--ai-note {
395
- overflow: visible;
396
- flex: 1 1 100%;
397
- text-align: center;
398
- text-overflow: unset;
399
- white-space: normal;
400
- }
401
-
402
- .memori-widget.memori--active.memori-layout-website_assistant .memori-conversation-footer .memori-chat-inputs--ai-note {
403
- text-align: left;
404
- }
405
-
406
- /* ============================================
407
- HEADER
408
- ============================================ */
409
-
410
- .memori-website_assistant-layout--header {
411
- position: absolute;
412
- z-index: 1000;
413
- top: 0.75rem;
414
- right: 0.75rem;
415
- padding: 0.5rem;
416
- border-radius: var(--memori-radius-surface);
417
- background: var(--memori-secondary-background);
418
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
419
- text-align: right;
420
- }
421
-
422
- .memori-website_assistant-layout--header-hidden {
423
- display: none;
424
- }
425
-
426
- .memori-website_assistant-layout .memori-header {
427
- z-index: 1000;
428
- display: inline-flex;
429
- overflow: visible;
430
- width: auto;
431
- height: auto;
432
- flex-direction: row;
433
- flex-shrink: 0;
434
- flex-wrap: nowrap;
435
- padding: 0;
436
- gap: 0.35rem;
437
- }
438
-
439
- /* Less specific first (no-descending-specificity): single .memori-header--button */
440
- .memori-website_assistant-layout .memori-header .memori-header--button,
441
- .memori-website_assistant-layout .memori-header .memori-share-button {
442
- margin-top: 0;
443
- margin-right: 0;
444
- margin-left: 0;
445
- }
446
-
447
- /* More specific: adjacent sibling (must come after general .memori-header--button rules) */
448
- .memori-website_assistant-layout .memori-header .memori-header--button + .memori-header--button {
449
- margin-top: 0;
450
- margin-right: 0;
451
- margin-left: 0;
452
- }
453
-
454
- .memori-website_assistant-layout--header-row {
455
- position: relative;
456
- z-index: 1001;
457
- display: flex;
458
- overflow: visible;
459
- width: 100%;
460
- min-width: 0;
461
- flex-shrink: 0;
462
- align-items: center;
463
- justify-content: space-between;
464
- padding: 0.75rem 1rem;
465
- border-bottom: 1px solid var(--memori-border-color);
466
- background: var(--memori-secondary-background);
467
- gap: 0.75rem;
468
- }
469
-
470
- .memori-website_assistant-layout--header-actions {
471
- display: inline-flex;
472
- overflow: visible;
473
- flex: 0 0 auto;
474
- flex-shrink: 0;
475
- align-items: center;
476
- margin-left: auto;
477
- gap: 0.35rem;
478
- }
479
-
480
- .memori-website_assistant-layout .memori-chat-layout--brand {
481
- display: flex;
482
- overflow: hidden;
483
- min-width: 0;
484
- flex: 1 1 auto;
485
- align-items: center;
486
- gap: 0.75rem;
487
- }
488
-
489
- .memori-website_assistant-layout .memori-chat-layout--brand-avatar {
490
- width: 40px;
491
- height: 40px;
492
- flex-shrink: 0;
493
- border: 1px solid rgba(0, 0, 0, 0.06);
494
- border-radius: 50%;
495
- object-fit: cover;
496
- }
497
-
498
- .memori-website_assistant-layout .memori-chat-layout--brand-text {
499
- display: flex;
500
- min-width: 0;
501
- flex: 1 1 auto;
502
- flex-direction: column;
503
- align-items: flex-start;
504
- gap: 0.125rem;
505
- }
506
-
507
- .memori-website_assistant-layout .memori-chat-layout--brand-name {
508
- display: block;
509
- overflow: hidden;
510
- width: 100%;
511
- min-width: 0;
512
- max-width: 100%;
513
- color: var(--memori-text-color, #111);
514
- font-size: 1rem;
515
- font-weight: 600;
516
- line-height: 1.2;
517
- text-overflow: ellipsis;
518
- white-space: nowrap;
519
- }
520
-
521
- @media (max-width: 480px) {
522
- .memori-website_assistant-layout .memori-chat-layout--brand {
523
- min-width: 0;
524
- max-width: none;
525
- flex: 1 1 auto;
526
- }
527
- }
528
-
529
- /* Position dropdown below the trigger so it does not cover the share button */
530
- .memori-widget.memori-layout-website_assistant .memori-share-button .memori-share-button--overlay {
531
- z-index: 1002;
532
- top: 100%;
533
- margin-top: 0.5rem;
534
- }
535
-
536
- .memori-widget.memori-layout-website_assistant .memori-header--button--fullscreen {
537
- display: none;
538
- }
539
-
540
- /* ============================================
541
- AVATAR SECTION
542
- ============================================ */
543
-
544
- .memori-website_assistant-layout--avatar {
545
- position: relative;
546
- overflow: hidden;
547
- min-height: 0;
548
- max-height: 35vh;
549
- flex: 1;
550
- /* Prevent avatar/blob from growing unbounded and overlapping header/controls */
551
- contain: layout style;
552
- }
553
-
554
- .memori-website_assistant-layout--avatar .memori--avatar-wrapper {
555
- position: absolute;
556
- z-index: 0;
557
- top: 0;
558
- left: 0;
559
- overflow: hidden;
560
- width: 100%;
561
- height: 100%;
562
- }
563
-
564
- .memori-website_assistant-layout--avatar .memori--blob-container {
565
- display: block;
566
- }
567
-
568
- .memori-website_assistant-layout--avatar .memori-blob {
569
- z-index: 2;
570
- }
571
-
572
- .memori-website_assistant-layout--avatar .memori--avatar-wrapper .avatar-loader {
573
- display: flex;
574
- width: 100%;
575
- height: 100%;
576
- align-items: center;
577
- justify-content: center;
578
- transform: none !important;
579
- }
580
-
581
- .memori-layout-website_assistant .memori--avatar-wrapper > div {
582
- overflow: visible !important;
583
- width: auto !important;
584
- height: 100%;
585
- border-radius: 0;
586
- }
587
-
588
- .memori-layout-website_assistant .memori--avatar-wrapper > div canvas + div {
589
- position: absolute !important;
590
- width: 100%;
591
- height: 100%;
592
- transform: none !important;
593
- }
594
-
595
- .memori-layout-website_assistant.memori--avatar-readyplayerme-full .memori--avatar-wrapper > div,
596
- .memori-layout-website_assistant.memori--avatar-avatar-configurator .memori--avatar-wrapper > div {
597
- transform: scale(1.7) translate(0px, 10vh);
598
- }
599
-
600
- .memori-website_assistant-layout--avatar .memori--avatar-wrapper canvas {
601
- width: auto !important;
602
- max-width: 100%;
603
- height: 100%;
604
- object-fit: contain;
605
- }
606
-
607
- .memori-website_assistant-layout--avatar .memori--avatar-wrapper .avatar-loader figure {
608
- text-align: center;
609
- }
610
-
611
- .memori-layout-website_assistant.memori--avatar-readyplayerme
612
- .memori-website_assistant--trigger-button
613
- .memori-blob
614
- figure {
615
- width: 100%;
616
- }
617
-
618
- .memori-website_assistant-layout--avatar .memori--avatar-wrapper .avatar-loader .memori-spin--spinner {
619
- background: none;
620
- }
621
-
622
- /* ============================================
623
- CONTROLS SECTION
624
- ============================================ */
625
-
626
- .memori-website_assistant-layout--controls {
627
- position: relative;
628
- z-index: 5;
629
- display: flex;
630
- min-height: 0;
631
- flex: 1;
632
- flex-direction: column;
633
- padding: 1rem;
634
- padding-bottom: 0;
635
- background-color: var(--memori-secondary-background);
636
- }
637
-
638
- .memori-website_assistant-layout--controls .memori-chat--history,
639
- .memori-website_assistant-layout--controls .memori-chat--content {
640
- background: var(--memori-secondary-background);
641
- }
642
-
643
- .memori-website_assistant-layout--controls .memori-chat--history {
644
- padding: 0;
645
- /* margin-top: var(--memori-spacing-3xl); */
646
- -webkit-backdrop-filter: none;
647
- backdrop-filter: none;
648
- }
649
-
650
- .memori-website_assistant-layout--controls .memori-chat--content {
651
- padding: 0;
652
- }
653
-
654
- .memori-website_assistant-layout--controls .memori-chat--bubble-initial + .memori-chat--bubble-container {
655
- margin-top: auto;
656
- }
657
-
658
- .memori-website_assistant-layout--controls .memori-chat--content .memori-chat--bubble-container:first-of-type {
659
- margin-top: auto;
660
- }
661
-
662
- .memori-website_assistant-layout--controls .memori--start-panel,
663
- .memori-website_assistant-layout--controls .memori-chat--wrapper {
664
- width: 100%;
665
- max-width: 100%;
666
- padding: 0;
667
- margin: auto;
668
- }
669
-
670
- .memori-website_assistant-layout--controls .memori--start-panel {
671
- flex: 1;
672
- align-content: center;
673
- align-self: center;
674
- padding: 1rem;
675
- border: 0px;
676
- border-radius: var(--memori-radius-surface);
677
- margin: 0.75rem;
678
- margin-bottom: var(--memori-spacing-2xl) !important;
679
- box-shadow: none !important;
680
- }
681
-
682
- .memori-website_assistant-layout--controls .memori-chat--wrapper {
683
- display: flex;
684
- min-height: 0;
685
- flex: 1;
686
- flex-direction: column;
687
- padding: 0.75rem;
688
- padding-bottom: 0;
689
- border: 0px !important;
690
- background: var(--memori-secondary-background);
691
- box-shadow: none !important;
692
- }
693
-
694
- .memori-website_assistant-layout--controls .memori-chat--content--has-global-background,
695
- .memori-website_assistant-layout--controls .memori-chat--history:has(.memori-chat--content--has-global-background),
696
- .memori-website_assistant-layout--controls .memori-chat--wrapper:has(.memori-chat--content--has-global-background) {
697
- background: transparent;
698
- }
699
-
700
- /* Input bar styles (dark compact pill) live in ChatInputs.css.
701
- Anchor the bar at the bottom of the assistant panel. */
702
- .memori-widget.memori-layout-website_assistant .memori-website_assistant-layout--controls .memori-chat--wrapper {
703
- display: flex;
704
- min-height: 0;
705
- flex: 1;
706
- flex-direction: column;
707
- }
708
-
709
- .memori-widget.memori-layout-website_assistant .memori-website_assistant-layout--controls .memori-chat--history {
710
- min-height: 0;
711
- flex: 1 1 auto;
712
- margin-bottom: 0;
713
- }
714
-
715
- .memori-widget.memori-layout-website_assistant .memori-website_assistant-layout--controls .memori-chat-inputs-wrapper {
716
- width: 100%;
717
- flex-shrink: 0;
718
- margin-bottom: 0;
719
- }
720
-
721
- /* Tablet and up */
722
- @media (min-width: 601px) {
723
- .memori-website_assistant-layout--controls .memori--start-panel,
724
- .memori-website_assistant-layout--controls .memori-chat--wrapper {
725
- max-width: 100%;
726
- }
727
-
728
- .memori-website_assistant-layout--controls .memori-chat--wrapper {
729
- padding: 0;
730
- }
731
-
732
- .memori-website_assistant-layout--controls .memori--start-panel {
733
- padding: 1.5rem;
734
- margin: 0 auto;
735
- }
736
- }
737
-
738
- /* Desktop */
739
- @media (min-width: 1024px) {
740
- .memori-website_assistant-layout--controls .memori--start-panel,
741
- .memori-website_assistant-layout--controls .memori-chat--wrapper {
742
- max-width: 800px;
743
- }
744
- }
745
-
746
- /* ============================================
747
- CHAT STYLING
748
- ============================================ */
749
-
750
- .memori-website_assistant-layout .memori-chat--cover {
751
- display: none;
752
- }
753
-
754
- .memori-website_assistant-layout .memori--cover {
755
- padding: 0;
756
- background: none;
757
- }
758
-
759
- .memori-website_assistant-layout .memori-chat--bubble,
760
- .memori-website_assistant-layout .memori-chat--bubble.memori-chat--user-bubble {
761
- animation: showup 0.3s ease-out;
762
- opacity: 1;
763
- transition: all 0.2s ease-in-out;
764
- }
765
-
766
- .memori-website_assistant-layout .memori-chat--bubble:hover,
767
- .memori-website_assistant-layout .memori-chat--bubble.memori-chat--user-bubble:hover {
768
- opacity: 1;
769
- transform: translateY(-1px);
770
- }
771
-
772
- .memori-website_assistant-layout .memori-chat--bubble p,
773
- .memori-website_assistant-layout .memori-chat--bubble.memori-chat--user-bubble p {
774
- opacity: 1;
775
- }
776
-
777
- /* ============================================
778
- OTHER ELEMENTS
779
- ============================================ */
780
-
781
- .memori-website_assistant-layout .memori--avatar-toggle {
782
- display: none;
783
- width: 100%;
784
- justify-content: center;
785
- }
786
-
787
- .memori-website_assistant-layout .memori--title,
788
- .memori-website_assistant-layout .memori--description,
789
- .memori-website_assistant-layout .memori--needsPosition {
790
- color: var(--memori-text-color);
791
- }
792
-
793
- .memori-website_assistant-layout .memori--global-background-image {
794
- background: none;
795
- }
796
-
797
- .memori-website_assistant-layout .memori--description-text,
798
- .memori-website_assistant-layout .memori--translation-toggle {
799
- display: none;
800
- }
801
-
802
- /* ============================================
803
- RESPONSIVE ADJUSTMENTS
804
- ============================================ */
805
-
806
- @media (max-width: 480px) {
807
- .memori-website_assistant-layout .memori-send-on-enter-menu {
808
- display: none;
809
- }
810
-
811
- .memori-website_assistant-layout .memori-header--button-settings {
812
- display: none;
813
- }
814
-
815
- .memori-website_assistant-layout--controls {
816
- padding: 0.75rem;
817
- }
818
-
819
- .memori-website_assistant-layout--controls .memori-chat--wrapper {
820
- padding: 0.5rem;
821
- }
822
-
823
- .memori-website_assistant-layout--controls .memori--start-panel {
824
- padding: 1rem;
825
- margin: 0.5rem;
826
- }
827
- }
828
-
829
- /* After controls .memori--start-panel rules (no-descending-specificity: 3-class selector wins over 2-class) */
830
- .memori-widget.memori-layout-website_assistant .memori--start-panel {
831
- border: none;
832
- }
833
-
834
- @media (max-width: 768px) {
835
- .memori-website_assistant--trigger-button {
836
- width: 80px !important;
837
- height: 80px !important;
838
- -webkit-backdrop-filter: blur(12px);
839
- backdrop-filter: blur(12px);
840
- background: rgba(255, 255, 255, 0.25);
841
- }
842
-
843
- /* Keep blob container as positioning context and centered in button */
844
- .memori-website_assistant--trigger-button .memori-blob {
845
- position: relative !important;
846
- top: 0 !important;
847
- display: flex;
848
- align-items: center;
849
- justify-content: center;
850
- }
851
-
852
- /* Center .mainDiv in button: use percentage translate so blob aligns with button (override Blob.css mobile pixel offsets) */
853
- .memori-website_assistant--trigger-button .memori-blob .mainDiv {
854
- top: 50% !important;
855
- left: 50% !important;
856
- --memori-blob-x: -50%;
857
- --memori-blob-y: -50%;
858
- }
859
- }
860
-
861
- /* ============================================
862
- ACCESSIBILITY & PERFORMANCE
863
- ============================================ */
864
-
865
- @media (prefers-reduced-motion: reduce) {
866
- .memori-website_assistant--trigger,
867
- .memori-website_assistant--trigger-button,
868
- .memori-website_assistant--close-button,
869
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--collapsed,
870
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded,
871
- .memori-widget.memori-layout-website_assistant .memori-website_assistant--expanded .memori-website_assistant-layout,
872
- .memori-website_assistant-layout .memori-chat--bubble {
873
- animation: none !important;
874
- transition: none !important;
875
- }
876
- }
877
-
878
- /* Touch device optimizations */
879
- @media (hover: none) and (pointer: coarse) {
880
- .memori-website_assistant--trigger-button {
881
- width: 80px;
882
- height: 80px;
883
- }
884
-
885
- .memori-website_assistant--trigger-button .memori-blob .mainDiv {
886
- width: 72px !important;
887
- height: 72px !important;
888
- }
889
- }