@memori.ai/memori-react 8.43.0 → 8.45.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 (185) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +1 -1
  3. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js +1 -1
  4. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +1 -0
  5. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  6. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +204 -59
  7. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  8. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +3 -1
  9. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js +76 -16
  10. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  11. package/dist/components/MemoriArtifactSystem/types/artifact.types.d.ts +11 -0
  12. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js +18 -13
  13. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
  14. package/dist/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  15. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js +117 -0
  16. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  17. package/dist/components/MemoriWidget/MemoriWidget.d.ts +1 -0
  18. package/dist/components/MemoriWidget/MemoriWidget.js +59 -1
  19. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  20. package/dist/helpers/message.js +3 -0
  21. package/dist/helpers/message.js.map +1 -1
  22. package/dist/helpers/nats/getNatsConfig.d.ts +1 -1
  23. package/dist/helpers/nats/getNatsConfig.js +2 -2
  24. package/dist/helpers/nats/getNatsConfig.js.map +1 -1
  25. package/dist/helpers/nats/useNats.d.ts +2 -1
  26. package/dist/helpers/nats/useNats.js +87 -20
  27. package/dist/helpers/nats/useNats.js.map +1 -1
  28. package/dist/helpers/nats/useNatsSession.d.ts +6 -1
  29. package/dist/helpers/nats/useNatsSession.js +49 -8
  30. package/dist/helpers/nats/useNatsSession.js.map +1 -1
  31. package/dist/locales/de.json +3 -0
  32. package/dist/locales/en.json +3 -0
  33. package/dist/locales/es.json +3 -0
  34. package/dist/locales/fr.json +3 -0
  35. package/dist/locales/it.json +3 -0
  36. package/dist/version.d.ts +1 -1
  37. package/dist/version.js +1 -1
  38. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +1 -1
  39. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js +1 -1
  40. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +1 -0
  41. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  42. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +205 -60
  43. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  44. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +3 -1
  45. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js +77 -17
  46. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  47. package/esm/components/MemoriArtifactSystem/types/artifact.types.d.ts +11 -0
  48. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js +18 -13
  49. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
  50. package/esm/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  51. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js +112 -0
  52. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  53. package/esm/components/MemoriWidget/MemoriWidget.d.ts +1 -0
  54. package/esm/components/MemoriWidget/MemoriWidget.js +57 -1
  55. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  56. package/esm/helpers/message.js +3 -0
  57. package/esm/helpers/message.js.map +1 -1
  58. package/esm/helpers/nats/getNatsConfig.d.ts +1 -1
  59. package/esm/helpers/nats/getNatsConfig.js +2 -2
  60. package/esm/helpers/nats/getNatsConfig.js.map +1 -1
  61. package/esm/helpers/nats/useNats.d.ts +2 -1
  62. package/esm/helpers/nats/useNats.js +87 -20
  63. package/esm/helpers/nats/useNats.js.map +1 -1
  64. package/esm/helpers/nats/useNatsSession.d.ts +6 -1
  65. package/esm/helpers/nats/useNatsSession.js +48 -8
  66. package/esm/helpers/nats/useNatsSession.js.map +1 -1
  67. package/esm/locales/de.json +3 -0
  68. package/esm/locales/en.json +3 -0
  69. package/esm/locales/es.json +3 -0
  70. package/esm/locales/fr.json +3 -0
  71. package/esm/locales/it.json +3 -0
  72. package/esm/version.d.ts +1 -1
  73. package/esm/version.js +1 -1
  74. package/package.json +1 -1
  75. package/src/components/Avatar/AvatarView/AvatarComponent/constants.ts +1 -1
  76. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +1 -0
  77. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +324 -133
  78. package/src/components/MemoriArtifactSystem/context/ArtifactContext.tsx +122 -24
  79. package/src/components/MemoriArtifactSystem/types/artifact.types.ts +20 -1
  80. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.test.tsx +1 -0
  81. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx +19 -13
  82. package/src/components/MemoriArtifactSystem/utils/applyEdits.test.ts +85 -0
  83. package/src/components/MemoriArtifactSystem/utils/applyEdits.ts +173 -0
  84. package/src/components/MemoriWidget/MemoriWidget.tsx +65 -1
  85. package/src/helpers/message.ts +15 -0
  86. package/src/helpers/nats/getNatsConfig.ts +8 -3
  87. package/src/helpers/nats/useNats.test.tsx +81 -0
  88. package/src/helpers/nats/useNats.ts +109 -29
  89. package/src/helpers/nats/useNatsSession.test.ts +16 -0
  90. package/src/helpers/nats/useNatsSession.ts +79 -13
  91. package/src/locales/de.json +3 -0
  92. package/src/locales/en.json +3 -0
  93. package/src/locales/es.json +3 -0
  94. package/src/locales/fr.json +3 -0
  95. package/src/locales/it.json +3 -0
  96. package/src/version.ts +1 -1
  97. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -372
  98. package/dist/components/DrawerFooter/DrawerFooter.css +0 -62
  99. package/dist/components/IconButton/IconButton.css +0 -144
  100. package/dist/components/MobileSessionPanel/MobileSessionPanel.css +0 -459
  101. package/dist/components/PositionPopover/PositionPopover.css +0 -219
  102. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +0 -806
  103. package/dist/components/layouts/fullpage.css +0 -522
  104. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -372
  105. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -36
  106. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +0 -113
  107. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +0 -1
  108. package/esm/components/DrawerFooter/DrawerFooter.css +0 -62
  109. package/esm/components/DrawerFooter/DrawerFooter.d.ts +0 -12
  110. package/esm/components/DrawerFooter/DrawerFooter.js +0 -8
  111. package/esm/components/DrawerFooter/DrawerFooter.js.map +0 -1
  112. package/esm/components/IconButton/IconButton.css +0 -144
  113. package/esm/components/IconButton/IconButton.d.ts +0 -9
  114. package/esm/components/IconButton/IconButton.js +0 -33
  115. package/esm/components/IconButton/IconButton.js.map +0 -1
  116. package/esm/components/MobileSessionPanel/MobileSessionPanel.css +0 -459
  117. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +0 -65
  118. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +0 -291
  119. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +0 -1
  120. package/esm/components/PositionPopover/PositionPopover.css +0 -219
  121. package/esm/components/PositionPopover/PositionPopover.d.ts +0 -22
  122. package/esm/components/PositionPopover/PositionPopover.js +0 -190
  123. package/esm/components/PositionPopover/PositionPopover.js.map +0 -1
  124. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.d.ts +0 -4
  125. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +0 -61
  126. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +0 -1
  127. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +0 -806
  128. package/esm/components/layouts/fullpage.css +0 -522
  129. package/esm/context/widgetSurfaceContext.d.ts +0 -3
  130. package/esm/context/widgetSurfaceContext.js +0 -7
  131. package/esm/context/widgetSurfaceContext.js.map +0 -1
  132. package/esm/helpers/positionPopover.d.ts +0 -1
  133. package/esm/helpers/positionPopover.js +0 -4
  134. package/esm/helpers/positionPopover.js.map +0 -1
  135. package/esm/helpers/tts/muteSpeaker.d.ts +0 -13
  136. package/esm/helpers/tts/muteSpeaker.js +0 -21
  137. package/esm/helpers/tts/muteSpeaker.js.map +0 -1
  138. package/esm/helpers/usePressTooltip.d.ts +0 -13
  139. package/esm/helpers/usePressTooltip.js +0 -20
  140. package/esm/helpers/usePressTooltip.js.map +0 -1
  141. package/esm/icons/FacebookIcon.d.ts +0 -3
  142. package/esm/icons/FacebookIcon.js +0 -4
  143. package/esm/icons/FacebookIcon.js.map +0 -1
  144. package/esm/icons/LinkedinIcon.d.ts +0 -3
  145. package/esm/icons/LinkedinIcon.js +0 -4
  146. package/esm/icons/LinkedinIcon.js.map +0 -1
  147. package/esm/icons/MemoriIcon.d.ts +0 -3
  148. package/esm/icons/MemoriIcon.js +0 -6
  149. package/esm/icons/MemoriIcon.js.map +0 -1
  150. package/esm/icons/TelegramIcon.d.ts +0 -3
  151. package/esm/icons/TelegramIcon.js +0 -4
  152. package/esm/icons/TelegramIcon.js.map +0 -1
  153. package/esm/icons/TwitterIcon.d.ts +0 -3
  154. package/esm/icons/TwitterIcon.js +0 -4
  155. package/esm/icons/TwitterIcon.js.map +0 -1
  156. package/esm/icons/WhatsappIcon.d.ts +0 -3
  157. package/esm/icons/WhatsappIcon.js +0 -4
  158. package/esm/icons/WhatsappIcon.js.map +0 -1
  159. package/esm/icons/artifacts/DocumentIcon.d.ts +0 -3
  160. package/esm/icons/artifacts/DocumentIcon.js +0 -4
  161. package/esm/icons/artifacts/DocumentIcon.js.map +0 -1
  162. package/esm/icons/artifacts/HtmlIcon.d.ts +0 -3
  163. package/esm/icons/artifacts/HtmlIcon.js +0 -4
  164. package/esm/icons/artifacts/HtmlIcon.js.map +0 -1
  165. package/esm/icons/artifacts/JavascriptIcon.d.ts +0 -3
  166. package/esm/icons/artifacts/JavascriptIcon.js +0 -4
  167. package/esm/icons/artifacts/JavascriptIcon.js.map +0 -1
  168. package/esm/icons/artifacts/MarkdownIcon.d.ts +0 -3
  169. package/esm/icons/artifacts/MarkdownIcon.js +0 -4
  170. package/esm/icons/artifacts/MarkdownIcon.js.map +0 -1
  171. package/esm/icons/artifacts/PythonIcon.d.ts +0 -3
  172. package/esm/icons/artifacts/PythonIcon.js +0 -4
  173. package/esm/icons/artifacts/PythonIcon.js.map +0 -1
  174. package/esm/icons/artifacts/SvgIcon.d.ts +0 -3
  175. package/esm/icons/artifacts/SvgIcon.js +0 -4
  176. package/esm/icons/artifacts/SvgIcon.js.map +0 -1
  177. package/esm/icons/artifacts/XmlIcon.d.ts +0 -3
  178. package/esm/icons/artifacts/XmlIcon.js +0 -4
  179. package/esm/icons/artifacts/XmlIcon.js.map +0 -1
  180. package/esm/icons/artifacts/cssIcon.d.ts +0 -3
  181. package/esm/icons/artifacts/cssIcon.js +0 -4
  182. package/esm/icons/artifacts/cssIcon.js.map +0 -1
  183. package/esm/testUtils.d.ts +0 -5
  184. package/esm/testUtils.js +0 -15
  185. package/esm/testUtils.js.map +0 -1
@@ -1,522 +0,0 @@
1
- /* FullPage layout – spacing, typography and structure using global design tokens */
2
-
3
- .memori-widget.memori-layout-fullpage {
4
- /* max-width: var(--memori-layout-max-width); */
5
- /* min-height: 100vh;
6
- min-height: 100dvh; */
7
- padding: var(--memori-spacing-md);
8
- margin-right: auto;
9
- margin-left: auto;
10
- }
11
-
12
- .memori-widget.memori-layout-fullpage > .memori-spin,
13
- .memori-widget.memori-layout-fullpage > .memori-widget__surface > .memori-spin {
14
- display: flex;
15
- overflow: hidden;
16
- height: 100%;
17
- min-height: 0;
18
- flex: 1 1 auto;
19
- flex-direction: column;
20
- gap: 0;
21
- }
22
- /* "Powered by" lives in the conversation footer under the chat input. */
23
-
24
- /* Header spacing + fullpage chrome (brand + actions bar) */
25
- .memori-widget.memori-layout-fullpage .memori-fullpage-top-header {
26
- position: relative;
27
- z-index: 6;
28
- width: 100%;
29
- flex-shrink: 0;
30
- padding: 0;
31
- padding-bottom: 0;
32
- margin-bottom: var(--memori-spacing-sm);
33
- }
34
-
35
- .memori-widget.memori-layout-fullpage .memori-fullpage-header-row,
36
- .memori-widget.memori-layout-chat .memori-fullpage-header-row {
37
- position: sticky;
38
- z-index: 6;
39
- top: 0;
40
- display: flex;
41
- width: 100%;
42
- min-height: 48px;
43
- flex-wrap: nowrap;
44
- align-items: center;
45
- justify-content: flex-end;
46
- padding: var(--memori-spacing-md);
47
- border-bottom: 1px solid var(--memori-border-color);
48
- background: transparent;
49
- gap: var(--memori-spacing-md);
50
- transition: background-color var(--memori-motion-duration-fast, 0.15s) var(--memori-motion-ease, ease);
51
- }
52
-
53
- /* FULLPAGE header shares the same content axis as .memori--grid, so brand,
54
- actions and the divider stay aligned with the card edges at any width. */
55
- .memori-widget.memori-layout-fullpage .memori-fullpage-header-row {
56
- max-width: var(--memori-layout-max-width);
57
- padding-right: var(--memori-spacing-md);
58
- padding-left: var(--memori-spacing-md);
59
- margin-right: auto;
60
- margin-left: auto;
61
- }
62
-
63
- .memori-widget.memori-layout-fullpage .memori-fullpage-header-row.memori-header--scrolled,
64
- .memori-widget.memori-layout-chat .memori-fullpage-header-row.memori-header--scrolled,
65
- .memori-widget.memori-layout-fullpage .memori-chat-layout--header.memori-header--scrolled,
66
- .memori-widget.memori-layout-chat .memori-chat-layout--header.memori-header--scrolled,
67
- .memori-widget.memori-layout-fullpage .memori-fullpage-top-header.memori-header--scrolled {
68
- background: var(--memori-secondary-background);
69
- }
70
-
71
- .memori-widget.memori-layout-fullpage .memori-chat-layout--header {
72
- min-width: 100%;
73
- flex-shrink: 0;
74
- -webkit-backdrop-filter: none;
75
- backdrop-filter: none;
76
- background: transparent;
77
- }
78
-
79
- .memori-widget.memori-layout-fullpage .memori-chat-layout--controls .memori-chat--history {
80
- min-height: 0;
81
- flex: 1 1 auto;
82
- border: none;
83
- border-radius: var(--memori-radius-box);
84
- margin-bottom: 0;
85
- background-color: var(--memori-secondary-background);
86
- }
87
-
88
- .memori-widget.memori-layout-fullpage .memori-fullpage-header-brand,
89
- .memori-widget.memori-layout-chat .memori-fullpage-header-brand {
90
- display: inline-flex;
91
- overflow: hidden;
92
- min-width: 0;
93
- flex: 1 1 auto;
94
- flex-wrap: nowrap;
95
- align-items: center;
96
- margin-right: auto;
97
- gap: 0.625rem;
98
- white-space: nowrap;
99
- }
100
-
101
- .memori-widget.memori-layout-fullpage .memori-fullpage-header-brand-text,
102
- .memori-widget.memori-layout-chat .memori-fullpage-header-brand-text {
103
- display: flex;
104
- overflow: hidden;
105
- min-width: 0;
106
- flex: 1 1 auto;
107
- flex-direction: column;
108
- gap: 0.125rem;
109
- }
110
-
111
- .memori-widget.memori-layout-fullpage .memori-fullpage-header-brand-icon,
112
- .memori-widget.memori-layout-chat .memori-fullpage-header-brand-icon {
113
- display: block;
114
- width: 30px;
115
- height: 30px;
116
- flex-shrink: 0;
117
- border-radius: 50%;
118
- background: var(--memori-primary);
119
- }
120
-
121
- .memori-widget.memori-layout-fullpage .memori-fullpage-header-brand-icon--avatar,
122
- .memori-widget.memori-layout-chat .memori-fullpage-header-brand-icon--avatar {
123
- flex-shrink: 0;
124
- border: 0;
125
- background: none;
126
- box-shadow: none;
127
- object-fit: cover;
128
- }
129
-
130
- .memori-widget.memori-layout-fullpage .memori-fullpage-header-brand-name,
131
- .memori-widget.memori-layout-chat .memori-fullpage-header-brand-name {
132
- display: block;
133
- overflow: hidden;
134
- min-width: 0;
135
- max-width: 100%;
136
- color: var(--memori-text-color, #1f2937);
137
- font-size: 1.05rem;
138
- font-weight: 700;
139
- letter-spacing: -0.02em;
140
- line-height: 1.2;
141
- text-overflow: ellipsis;
142
- white-space: nowrap;
143
- }
144
-
145
- .memori-widget.memori-layout-fullpage .memori-fullpage-header-brand-role,
146
- .memori-widget.memori-layout-chat .memori-fullpage-header-brand-role {
147
- display: block;
148
- overflow: hidden;
149
- min-width: 0;
150
- max-width: 100%;
151
- color: color-mix(in srgb, var(--memori-text-color) 72%, transparent);
152
- font-size: var(--memori-text-size-sm, 0.8125rem);
153
- font-weight: var(--memori-text-weight-normal, 400);
154
- line-height: 1.3;
155
- text-overflow: ellipsis;
156
- white-space: nowrap;
157
- }
158
-
159
- .memori-widget.memori-layout-fullpage .memori-fullpage-header-actions,
160
- .memori-widget.memori-layout-chat .memori-fullpage-header-actions {
161
- display: flex;
162
- min-width: 0;
163
- flex: 0 0 auto;
164
- align-items: center;
165
- justify-content: flex-end;
166
- margin-left: auto;
167
- }
168
-
169
- /* FullPage / Chat / Zoomed header controls: compact square actions + rounded login CTA */
170
- .memori-widget.memori-layout-fullpage .memori-header.memori-header--fullpage,
171
- .memori-widget.memori-layout-chat .memori-header.memori-header--fullpage {
172
- width: auto;
173
- min-width: 0;
174
- flex-wrap: nowrap;
175
- justify-content: flex-end;
176
- margin-left: auto;
177
- gap: 0.5rem;
178
- }
179
-
180
- .memori-widget.memori-layout-fullpage .memori-header--fullpage-primary,
181
- .memori-widget.memori-layout-fullpage .memori-header--fullpage-secondary,
182
- .memori-widget.memori-layout-chat .memori-header--fullpage-primary,
183
- .memori-widget.memori-layout-chat .memori-header--fullpage-secondary {
184
- flex-wrap: nowrap;
185
- gap: 0.5rem;
186
- }
187
-
188
- .memori-widget.memori-layout-fullpage .memori-header--fullpage-divider,
189
- .memori-widget.memori-layout-chat .memori-header--fullpage-divider {
190
- min-height: 26px;
191
- margin: 0;
192
- }
193
-
194
- /* CHAT: title block a sinistra, controlli allineati a destra. */
195
- .memori-widget.memori-layout-chat .memori-fullpage-header-row {
196
- justify-content: flex-end;
197
- }
198
-
199
- .memori-widget.memori-layout-chat .memori-fullpage-header-brand {
200
- margin-right: auto;
201
- }
202
-
203
- .memori-widget.memori-layout-chat .memori-fullpage-header-actions {
204
- flex: 0 0 auto;
205
- }
206
-
207
- /* Full-height flex row: [grid] [artifact column] — outside the grid so artifact
208
- spans the entire content height without inheriting grid padding/max-width */
209
- .memori-widget.memori-layout-fullpage .memori-fullpage-content-row {
210
- display: flex;
211
- overflow: hidden;
212
- min-height: 0;
213
- flex: 1 1 0%;
214
- flex-direction: row;
215
- align-items: stretch;
216
- }
217
-
218
- /* Grid holds avatar + chat as two separate panels: no outer frame, vertical breathing room. */
219
- .memori-widget.memori-layout-fullpage .memori--grid {
220
- display: flex;
221
- overflow: hidden;
222
- width: 100%;
223
- max-width: var(--memori-layout-max-width);
224
- height: 100%;
225
- min-height: 0;
226
- flex: 1 1 0%;
227
- align-items: stretch;
228
- justify-content: center;
229
- padding: var(--memori-spacing-md);
230
- border: none;
231
- margin: 0 auto;
232
- background: var(--memori-secondary-background);
233
- gap: var(--memori-spacing-md);
234
- }
235
-
236
- /* Avatar column: its own rounded panel, wider than the chat sidebar it replaced. */
237
- .memori-widget.memori-layout-fullpage .memori--grid-column-left {
238
- position: relative;
239
- display: flex;
240
- overflow: hidden;
241
- width: clamp(240px, 34%, 420px);
242
- height: 100%;
243
- min-height: 0;
244
- flex-direction: column;
245
- flex-shrink: 0;
246
- align-items: stretch;
247
- align-self: stretch;
248
- border: none;
249
- border-radius: 12px;
250
- margin-right: 0;
251
- background: color-mix(in srgb, var(--memori-text-color) 4%, var(--memori-secondary-background));
252
- }
253
-
254
- /* Agent status indicator above the avatar. */
255
- .memori-widget.memori-layout-fullpage .memori-fullpage-agent-status {
256
- display: flex;
257
- flex-shrink: 0;
258
- align-items: center;
259
- justify-content: center;
260
- padding: var(--memori-spacing-sm) var(--memori-spacing-md);
261
- color: color-mix(in srgb, var(--memori-text-color) 72%, transparent);
262
- font-size: var(--memori-text-size-sm, 0.8125rem);
263
- gap: var(--memori-spacing-xs);
264
- line-height: 1.2;
265
- text-align: center;
266
- }
267
-
268
- .memori-widget.memori-layout-fullpage .memori-fullpage-agent-status--dot {
269
- display: inline-block;
270
- width: 8px;
271
- height: 8px;
272
- flex-shrink: 0;
273
- border-radius: 50%;
274
- background: currentColor;
275
- }
276
-
277
- .memori-widget.memori-layout-fullpage .memori-fullpage-agent-status--dot-speaking {
278
- background: var(--memori-primary);
279
- }
280
-
281
- .memori-widget.memori-layout-fullpage .memori-fullpage-agent-status--dot-processing {
282
- background: color-mix(in srgb, var(--memori-text-color) 55%, transparent);
283
- }
284
-
285
- .memori-widget.memori-layout-fullpage .memori-fullpage-agent-status--dot-listening {
286
- background: var(--memori-primary);
287
- }
288
-
289
- /* Cover banner is removed in FULLPAGE — it wastes the most valuable space. */
290
- .memori-widget.memori-layout-fullpage .memori-chat--cover {
291
- display: none;
292
- }
293
-
294
- .memori-widget.memori-layout-fullpage .memori--grid-column-left .memori--avatar-wrapper {
295
- position: relative;
296
- display: flex;
297
- width: 100%;
298
- height: 100%;
299
- min-height: 0;
300
- flex: 1 1 0%;
301
- align-items: stretch;
302
- justify-content: center;
303
- padding-top: 0;
304
- }
305
-
306
- .memori-widget.memori-layout-fullpage .memori--grid-column-left .memori--avatar-wrapper model-viewer,
307
- .memori-widget.memori-layout-fullpage .memori--grid-column-left .memori--avatar-wrapper canvas,
308
- .memori-widget.memori-layout-fullpage .memori--grid-column-left .memori--avatar-wrapper > div {
309
- width: 100% !important;
310
- max-width: 100%;
311
- height: 100% !important;
312
- max-height: 100%;
313
- }
314
-
315
- .memori-widget.memori-layout-fullpage .memori-chat-layout--main {
316
- display: flex;
317
- min-width: 0;
318
- height: 100%;
319
- min-height: 0;
320
- flex: 1;
321
- flex-direction: column;
322
- align-items: stretch;
323
- align-self: stretch;
324
- justify-content: stretch;
325
- }
326
-
327
- /* Artifact column — flex sibling of .memori--grid inside .memori-fullpage-content-row.
328
- Sits outside the padded grid so it spans the full content height with no padding gaps. */
329
- .memori-widget.memori-layout-fullpage .memori--grid-column-artifact {
330
- overflow: hidden;
331
- width: 0;
332
- min-width: 0;
333
- flex-shrink: 0;
334
- transition: width 0.25s ease;
335
- }
336
-
337
- .memori-widget.memori-layout-fullpage .memori--grid-column-artifact--open {
338
- width: 700px;
339
- border-left: 1px solid color-mix(in srgb, var(--memori-text-color, #111827) 10%, transparent);
340
- background: var(--memori-secondary-background);
341
- }
342
-
343
- /* Hide avatar column when artifact drawer is open.
344
- Selector updated: artifact is now a sibling of .memori--grid, not inside it. */
345
- .memori-widget.memori-layout-fullpage
346
- .memori-fullpage-content-row:has(.memori--grid-column-artifact--open)
347
- .memori--grid-column-left {
348
- display: none;
349
- }
350
-
351
- @media (max-width: 1260px) {
352
- .memori-widget.memori-layout-fullpage .memori--grid-column-artifact {
353
- display: none;
354
- }
355
- }
356
-
357
- .memori-widget.memori-layout-fullpage .memori-chat-layout--controls {
358
- display: flex;
359
- width: 100%;
360
- height: 100%;
361
- min-height: 0;
362
- max-height: 100%;
363
- flex: 1 1 0%;
364
- flex-direction: column;
365
- align-items: stretch;
366
- padding: 0;
367
- background: var(--memori-secondary-background);
368
- }
369
-
370
- .memori-widget.memori-layout-fullpage .memori-conversation-column {
371
- display: flex;
372
- width: 100%;
373
- max-width: none;
374
- min-height: 0;
375
- flex: 1 1 0%;
376
- flex-direction: column;
377
- padding-inline: 0;
378
- }
379
-
380
- .memori-widget.memori-layout-fullpage .memori-chat-layout--controls .memori--start-panel,
381
- .memori-widget.memori-layout-fullpage .memori-chat-layout--controls .memori-chat--wrapper {
382
- display: flex;
383
- width: 100%;
384
- max-width: 100%;
385
- height: 100%;
386
- min-height: 0;
387
- flex: 1 1 0%;
388
- flex-direction: column;
389
- padding: 0 !important;
390
- margin-right: 0;
391
- margin-left: 0;
392
- }
393
-
394
- /* Typography: title and description in fullpage left column */
395
- .memori-widget.memori-layout-fullpage .memori--title {
396
- margin-bottom: var(--memori-spacing-xs);
397
- color: var(--memori-text-color);
398
- font-size: var(--memori-text-size-heading-large);
399
- font-weight: var(--memori-text-weight-semibold);
400
- line-height: var(--memori-text-line-tight);
401
- }
402
-
403
- .memori-widget.memori-layout-fullpage .memori--description,
404
- .memori-widget.memori-layout-fullpage .memori--needsPosition {
405
- padding: var(--memori-spacing-lg);
406
- padding-top: var(--memori-spacing-xs);
407
- color: var(--memori-text-color);
408
- font-size: var(--memori-text-size-base);
409
- line-height: var(--memori-text-line-relaxed);
410
- }
411
-
412
- /* Fullpage: Memori brand lives in the header; no footer watermark.
413
- Input bar styles live in ChatInputs.css (layout-scoped dark pill). */
414
-
415
- /* Keep the input bar inside the chat panel, pinned to the bottom of the column */
416
- .memori-widget.memori-layout-fullpage .memori-chat-layout--controls .memori-chat--wrapper {
417
- display: flex;
418
- min-height: 0;
419
- flex: 1 1 0%;
420
- flex-direction: column;
421
- }
422
-
423
- .memori-widget.memori-layout-fullpage .memori-chat-layout--controls .memori-chat-inputs-wrapper {
424
- width: 100%;
425
- flex-shrink: 0;
426
- border: none;
427
- border-radius: 0;
428
- background: var(--memori-secondary-background);
429
- }
430
-
431
- @media (max-width: 870px) {
432
- .memori-widget.memori-layout-fullpage {
433
- padding: var(--memori-spacing-sm);
434
- }
435
- /*
436
- .memori-widget.memori-layout-fullpage > .memori-spin {
437
- height: calc(100vh - 100px);
438
- height: calc(100dvh - 100px);
439
- gap: var(--memori-spacing-md);
440
- } */
441
-
442
- .memori-widget.memori-layout-fullpage .memori-fullpage-top-header {
443
- padding: 0;
444
- margin-bottom: var(--memori-spacing-md);
445
- }
446
-
447
- .memori-widget.memori-layout-fullpage .memori--grid-column-left {
448
- display: none;
449
- }
450
-
451
- .memori-widget.memori-layout-fullpage .memori--grid {
452
- padding: var(--memori-spacing-sm);
453
- gap: var(--memori-spacing-sm);
454
- }
455
-
456
- .memori-widget.memori-layout-fullpage .memori-chat-layout--controls {
457
- padding: 0;
458
- }
459
- }
460
-
461
- @media (max-width: 480px) {
462
- .memori-widget.memori-layout-fullpage .memori-fullpage-top-header {
463
- padding: 0;
464
- }
465
-
466
- .memori-widget.memori-layout-fullpage .memori-fullpage-header-brand-name {
467
- font-size: 1.1rem;
468
- }
469
-
470
- .memori-widget.memori-layout-fullpage .memori-chat-layout--controls {
471
- padding: 0;
472
- }
473
-
474
- .memori-widget.memori-layout-fullpage .memori--grid {
475
- padding: var(--memori-spacing-xs) var(--memori-spacing-sm);
476
- }
477
-
478
- .memori-widget.memori-layout-fullpage .memori-fullpage-header-row,
479
- .memori-widget.memori-layout-chat .memori-fullpage-header-row {
480
- /* flex-wrap: wrap; */
481
- align-items: flex-start;
482
- }
483
-
484
- .memori-widget.memori-layout-fullpage .memori-fullpage-header-brand,
485
- .memori-widget.memori-layout-chat .memori-fullpage-header-brand {
486
- min-width: 0;
487
- max-width: calc(100% - 6.5rem);
488
- flex: 1 1 auto;
489
- }
490
-
491
- .memori-widget.memori-layout-fullpage .memori-fullpage-header-actions {
492
- flex: 0 0 auto;
493
- justify-content: flex-end;
494
- }
495
-
496
- /* CHAT: keep agent title + toolbar on one row on small phones */
497
- .memori-widget.memori-layout-chat .memori-fullpage-header-row {
498
- flex-wrap: nowrap;
499
- align-items: center;
500
- }
501
-
502
- .memori-widget.memori-layout-chat .memori-fullpage-header-actions {
503
- min-width: 0;
504
- flex: 1 1 auto;
505
- flex-wrap: nowrap;
506
- justify-content: flex-end;
507
- -webkit-overflow-scrolling: touch;
508
- overflow-x: auto;
509
- overflow-y: hidden;
510
- }
511
-
512
- .memori-widget.memori-layout-chat .memori-fullpage-header-actions .memori-header.memori-header--fullpage {
513
- min-width: max-content;
514
- flex-shrink: 0;
515
- flex-wrap: nowrap;
516
- }
517
-
518
- .memori-widget.memori-layout-chat .memori-fullpage-header-actions .memori-icon-button,
519
- .memori-widget.memori-layout-chat .memori-fullpage-header-actions .memori-button {
520
- flex-shrink: 0;
521
- }
522
- }