@memori.ai/memori-react 9.0.0-alpha.16 → 9.0.0-alpha.18

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 (186) hide show
  1. package/CHANGELOG.md +4 -6944
  2. package/dist/components/Chat/Chat.css +11 -15
  3. package/dist/components/Chat/Chat.js +11 -3
  4. package/dist/components/Chat/Chat.js.map +1 -1
  5. package/dist/components/ChatBubble/ChatBubble.css +96 -22
  6. package/dist/components/ChatBubble/ChatBubble.js +31 -2
  7. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  8. package/dist/components/ChatHistoryDrawer/ChatHistory.css +1 -0
  9. package/dist/components/ChatInputs/ChatInputs.css +72 -147
  10. package/dist/components/ChatInputs/ChatInputs.js +3 -4
  11. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  12. package/dist/components/Header/ChatConsumptionDropdown.js +2 -1
  13. package/dist/components/Header/ChatConsumptionDropdown.js.map +1 -1
  14. package/dist/components/Header/Header.css +199 -34
  15. package/dist/components/Header/Header.d.ts +1 -0
  16. package/dist/components/Header/Header.js +42 -34
  17. package/dist/components/Header/Header.js.map +1 -1
  18. package/dist/components/IconButton/IconButton.css +144 -0
  19. package/dist/components/IconButton/IconButton.d.ts +9 -0
  20. package/dist/components/IconButton/IconButton.js +36 -0
  21. package/dist/components/IconButton/IconButton.js.map +1 -0
  22. package/dist/components/KnownFacts/KnownFacts.css +22 -9
  23. package/dist/components/KnownFacts/KnownFacts.js +13 -4
  24. package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
  25. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +29 -44
  26. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +3 -2
  27. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  28. package/dist/components/MemoriWidget/MemoriWidget.css +2 -1
  29. package/dist/components/MemoriWidget/MemoriWidget.js +27 -30
  30. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  31. package/dist/components/MicrophoneButton/MicrophoneButton.css +2 -183
  32. package/dist/components/MicrophoneButton/MicrophoneButton.js +3 -1
  33. package/dist/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
  34. package/dist/components/MobileSessionPanel/MobileSessionPanel.css +22 -7
  35. package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +1 -0
  36. package/dist/components/MobileSessionPanel/MobileSessionPanel.js +6 -4
  37. package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  38. package/dist/components/PositionPopover/PositionPopover.d.ts +2 -0
  39. package/dist/components/PositionPopover/PositionPopover.js +18 -4
  40. package/dist/components/PositionPopover/PositionPopover.js.map +1 -1
  41. package/dist/components/ShareButton/ShareButton.css +3 -2
  42. package/dist/components/ShareButton/ShareButton.js +3 -2
  43. package/dist/components/ShareButton/ShareButton.js.map +1 -1
  44. package/dist/components/UploadButton/UploadButton.css +2 -20
  45. package/dist/components/UploadButton/UploadButton.js +2 -1
  46. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  47. package/dist/components/layouts/Chat.js +59 -73
  48. package/dist/components/layouts/Chat.js.map +1 -1
  49. package/dist/components/layouts/FullPage.js +53 -34
  50. package/dist/components/layouts/FullPage.js.map +1 -1
  51. package/dist/components/layouts/HiddenChat.js +3 -3
  52. package/dist/components/layouts/HiddenChat.js.map +1 -1
  53. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +3 -3
  54. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  55. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +28 -15
  56. package/dist/components/layouts/ZoomedFullBody.js +53 -34
  57. package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
  58. package/dist/components/layouts/chat.css +76 -41
  59. package/dist/components/layouts/fullpage.css +18 -9
  60. package/dist/components/layouts/hidden-chat.css +45 -69
  61. package/dist/components/layouts/zoomed-full-body.css +6 -5
  62. package/dist/helpers/positionPopover.d.ts +1 -1
  63. package/dist/helpers/positionPopover.js +2 -2
  64. package/dist/helpers/positionPopover.js.map +1 -1
  65. package/dist/styles.css +1 -1
  66. package/dist/version.d.ts +1 -1
  67. package/dist/version.js +1 -1
  68. package/esm/components/Chat/Chat.css +11 -15
  69. package/esm/components/Chat/Chat.js +11 -3
  70. package/esm/components/Chat/Chat.js.map +1 -1
  71. package/esm/components/ChatBubble/ChatBubble.css +96 -22
  72. package/esm/components/ChatBubble/ChatBubble.js +31 -2
  73. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  74. package/esm/components/ChatHistoryDrawer/ChatHistory.css +1 -0
  75. package/esm/components/ChatInputs/ChatInputs.css +72 -147
  76. package/esm/components/ChatInputs/ChatInputs.js +3 -4
  77. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  78. package/esm/components/Header/ChatConsumptionDropdown.js +3 -2
  79. package/esm/components/Header/ChatConsumptionDropdown.js.map +1 -1
  80. package/esm/components/Header/Header.css +199 -34
  81. package/esm/components/Header/Header.d.ts +1 -0
  82. package/esm/components/Header/Header.js +42 -34
  83. package/esm/components/Header/Header.js.map +1 -1
  84. package/esm/components/IconButton/IconButton.css +144 -0
  85. package/esm/components/IconButton/IconButton.d.ts +9 -0
  86. package/esm/components/IconButton/IconButton.js +33 -0
  87. package/esm/components/IconButton/IconButton.js.map +1 -0
  88. package/esm/components/KnownFacts/KnownFacts.css +22 -9
  89. package/esm/components/KnownFacts/KnownFacts.js +13 -4
  90. package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
  91. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +29 -44
  92. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +3 -2
  93. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  94. package/esm/components/MemoriWidget/MemoriWidget.css +2 -1
  95. package/esm/components/MemoriWidget/MemoriWidget.js +27 -30
  96. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  97. package/esm/components/MicrophoneButton/MicrophoneButton.css +2 -183
  98. package/esm/components/MicrophoneButton/MicrophoneButton.js +3 -2
  99. package/esm/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
  100. package/esm/components/MobileSessionPanel/MobileSessionPanel.css +22 -7
  101. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +1 -0
  102. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +6 -4
  103. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  104. package/esm/components/PositionPopover/PositionPopover.d.ts +2 -0
  105. package/esm/components/PositionPopover/PositionPopover.js +18 -4
  106. package/esm/components/PositionPopover/PositionPopover.js.map +1 -1
  107. package/esm/components/ShareButton/ShareButton.css +3 -2
  108. package/esm/components/ShareButton/ShareButton.js +4 -3
  109. package/esm/components/ShareButton/ShareButton.js.map +1 -1
  110. package/esm/components/UploadButton/UploadButton.css +2 -20
  111. package/esm/components/UploadButton/UploadButton.js +2 -1
  112. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  113. package/esm/components/layouts/Chat.js +62 -76
  114. package/esm/components/layouts/Chat.js.map +1 -1
  115. package/esm/components/layouts/FullPage.js +54 -35
  116. package/esm/components/layouts/FullPage.js.map +1 -1
  117. package/esm/components/layouts/HiddenChat.js +3 -3
  118. package/esm/components/layouts/HiddenChat.js.map +1 -1
  119. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +3 -3
  120. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  121. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +28 -15
  122. package/esm/components/layouts/ZoomedFullBody.js +54 -35
  123. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  124. package/esm/components/layouts/chat.css +76 -41
  125. package/esm/components/layouts/fullpage.css +18 -9
  126. package/esm/components/layouts/hidden-chat.css +45 -69
  127. package/esm/components/layouts/zoomed-full-body.css +6 -5
  128. package/esm/helpers/positionPopover.d.ts +1 -1
  129. package/esm/helpers/positionPopover.js +2 -2
  130. package/esm/helpers/positionPopover.js.map +1 -1
  131. package/esm/styles.css +1 -1
  132. package/esm/version.d.ts +1 -1
  133. package/esm/version.js +1 -1
  134. package/package.json +1 -1
  135. package/src/components/Chat/Chat.css +11 -15
  136. package/src/components/Chat/Chat.tsx +13 -2
  137. package/src/components/ChatBubble/ChatBubble.css +96 -22
  138. package/src/components/ChatBubble/ChatBubble.tsx +39 -0
  139. package/src/components/ChatHistoryDrawer/ChatHistory.css +1 -0
  140. package/src/components/ChatInputs/ChatInputs.css +72 -147
  141. package/src/components/ChatInputs/ChatInputs.tsx +7 -7
  142. package/src/components/Header/ChatConsumptionDropdown.tsx +3 -2
  143. package/src/components/Header/Header.css +199 -34
  144. package/src/components/Header/Header.tsx +120 -100
  145. package/src/components/Header/__snapshots__/Header.test.tsx.snap +90 -57
  146. package/src/components/IconButton/IconButton.css +144 -0
  147. package/src/components/IconButton/IconButton.tsx +89 -0
  148. package/src/components/KnownFacts/KnownFacts.css +22 -9
  149. package/src/components/KnownFacts/KnownFacts.tsx +13 -3
  150. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +29 -44
  151. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +11 -20
  152. package/src/components/MemoriWidget/MemoriWidget.css +2 -1
  153. package/src/components/MemoriWidget/MemoriWidget.tsx +38 -31
  154. package/src/components/MicrophoneButton/MicrophoneButton.css +2 -183
  155. package/src/components/MicrophoneButton/MicrophoneButton.tsx +5 -5
  156. package/src/components/MobileSessionPanel/MobileSessionPanel.css +22 -7
  157. package/src/components/MobileSessionPanel/MobileSessionPanel.tsx +8 -6
  158. package/src/components/PositionPopover/PositionPopover.tsx +30 -4
  159. package/src/components/ShareButton/ShareButton.css +3 -2
  160. package/src/components/ShareButton/ShareButton.tsx +8 -9
  161. package/src/components/ShareButton/__snapshots__/ShareButton.test.tsx.snap +9 -9
  162. package/src/components/StartPanel/StartPanel.stories.tsx +1 -1
  163. package/src/components/UploadButton/UploadButton.css +2 -20
  164. package/src/components/UploadButton/UploadButton.tsx +3 -5
  165. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +29 -25
  166. package/src/components/layouts/Chat.tsx +210 -232
  167. package/src/components/layouts/FullPage.tsx +61 -40
  168. package/src/components/layouts/HiddenChat.tsx +5 -6
  169. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.tsx +2 -2
  170. package/src/components/layouts/WebsiteAssistant/__snapshots__/WebsiteAssistant.test.tsx.snap +2 -0
  171. package/src/components/layouts/WebsiteAssistant/website-assistant.css +28 -15
  172. package/src/components/layouts/ZoomedFullBody.tsx +61 -40
  173. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +145 -143
  174. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +22 -18
  175. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +10 -145
  176. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +12 -10
  177. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +11 -9
  178. package/src/components/layouts/chat.css +76 -41
  179. package/src/components/layouts/fullpage.css +18 -9
  180. package/src/components/layouts/hidden-chat.css +45 -69
  181. package/src/components/layouts/layouts.stories.tsx +1 -1
  182. package/src/components/layouts/zoomed-full-body.css +6 -5
  183. package/src/helpers/positionPopover.test.ts +10 -4
  184. package/src/helpers/positionPopover.ts +8 -5
  185. package/src/styles.css +1 -0
  186. package/src/version.ts +1 -1
@@ -9,6 +9,7 @@ exports[`renders HIDDEN_CHAT layout unchanged 1`] = `
9
9
  data-memori-integration="cb3c4776-7f0b-4f97-a773-c32a5d7a3bf1"
10
10
  data-memori-name="Memori"
11
11
  data-memori-secondary-id="25ced51c-3520-41af-8bbe-222d861b8e32"
12
+ data-theme="light"
12
13
  style="height: 100vh;"
13
14
  >
14
15
  <div
@@ -17,6 +18,7 @@ exports[`renders HIDDEN_CHAT layout unchanged 1`] = `
17
18
  aria-live="polite"
18
19
  aria-relevant="additions text"
19
20
  class="memori-alert-viewport memori-alert-viewport--top-end"
21
+ data-theme="light"
20
22
  role="region"
21
23
  style="z-index: 10002;"
22
24
  tabindex="-1"
@@ -105,7 +107,7 @@ exports[`renders HIDDEN_CHAT layout unchanged 1`] = `
105
107
  >
106
108
  <button
107
109
  aria-label="widget.sound"
108
- class="memori-button memori-button--outline memori-button--md memori-button--icon-only"
110
+ class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button"
109
111
  tabindex="0"
110
112
  title="widget.sound"
111
113
  type="button"
@@ -114,15 +116,16 @@ exports[`renders HIDDEN_CHAT layout unchanged 1`] = `
114
116
  class="memori-button__icon"
115
117
  >
116
118
  <svg
119
+ aria-hidden="true"
117
120
  class="lucide lucide-volume2"
118
121
  fill="none"
119
- height="24"
122
+ height="20"
120
123
  stroke="currentColor"
121
124
  stroke-linecap="round"
122
125
  stroke-linejoin="round"
123
126
  stroke-width="2"
124
127
  viewBox="0 0 24 24"
125
- width="24"
128
+ width="20"
126
129
  xmlns="http://www.w3.org/2000/svg"
127
130
  >
128
131
  <path
@@ -141,11 +144,11 @@ exports[`renders HIDDEN_CHAT layout unchanged 1`] = `
141
144
  </span>
142
145
  </span>
143
146
  </div>
144
- <label
147
+ <button
145
148
  aria-label="collapse"
146
- class="memori-sidebar-toggle-label memori-close-label memori-hidden-chat-layout--header-close"
147
- for="memori-sidebar-toggle"
149
+ class="memori-website_assistant--close-button memori-hidden-chat-layout--header-close"
148
150
  title="collapse"
151
+ type="button"
149
152
  >
150
153
  <svg
151
154
  aria-hidden="true"
@@ -167,7 +170,7 @@ exports[`renders HIDDEN_CHAT layout unchanged 1`] = `
167
170
  d="m6 6 12 12"
168
171
  />
169
172
  </svg>
170
- </label>
173
+ </button>
171
174
  </div>
172
175
  </div>
173
176
  </div>
@@ -550,144 +553,6 @@ exports[`renders HIDDEN_CHAT layout unchanged 1`] = `
550
553
  id="extension"
551
554
  />
552
555
  </div>
553
- <div
554
- class="memori--powered-by"
555
- >
556
- <svg
557
- aria-hidden="true"
558
- aria-label="Memori AI"
559
- class="memori--powered-by-icon"
560
- fill="currentColor"
561
- height="800"
562
- viewBox="0 0 670.70013 639.67999"
563
- width="800"
564
- >
565
- <defs>
566
- <style>
567
-
568
- .cls-1 {
569
- fill: url(#Sfumatura_senza_nome_6);
570
- }
571
-
572
- .cls-1,
573
- .cls-2 {
574
- stroke-width: 0px;
575
- }
576
-
577
- .cls-2 {
578
- fill: var(--memori-logo-text-color, '#744c99');
579
- }
580
-
581
- </style>
582
- <lineargradient
583
- data-name="Sfumatura senza nome 6"
584
- gradientTransform="translate(-304.65445,-80.16)"
585
- gradientUnits="userSpaceOnUse"
586
- id="Sfumatura_senza_nome_6"
587
- x1="392.82999"
588
- x2="786.29999"
589
- y1="-13.83"
590
- y2="628.33002"
591
- >
592
- <stop
593
- id="stop1"
594
- offset="0.18"
595
- stop-color="#9ad2d5"
596
- />
597
- <stop
598
- id="stop2"
599
- offset="0.32"
600
- stop-color="#26b5cb"
601
- />
602
- <stop
603
- id="stop3"
604
- offset="0.38"
605
- stop-color="#379cbe"
606
- />
607
- <stop
608
- id="stop4"
609
- offset="0.46"
610
- stop-color="#4c7eb0"
611
- />
612
- <stop
613
- id="stop5"
614
- offset="0.55"
615
- stop-color="#5d66a4"
616
- />
617
- <stop
618
- id="stop6"
619
- offset="0.65"
620
- stop-color="#69569c"
621
- />
622
- <stop
623
- id="stop7"
624
- offset="0.76"
625
- stop-color="#704c97"
626
- />
627
- <stop
628
- id="stop8"
629
- offset="0.89"
630
- stop-color="#734996"
631
- />
632
- </lineargradient>
633
- </defs>
634
- <g
635
- id="g13"
636
- transform="translate(-304.65445,-80.16)"
637
- >
638
- <path
639
- class="cls-2"
640
- d="m 451.79,434.96 v -78.79 c 0,-15.73 8.09,-25.54 22.73,-25.54 7.01,0 12.93,3.11 16.82,8.41 3.9,-5.29 9.81,-8.41 16.82,-8.41 14.64,0 22.74,9.81 22.74,25.54 v 78.79 c 0,3.27 -2.65,5.92 -5.92,5.92 -3.27,0 -5.92,-2.65 -5.92,-5.92 v -77.08 c 0,-11.21 -3.74,-16.35 -10.9,-16.35 -7.16,0 -10.9,5.14 -10.9,16.35 v 77.08 c 0,3.27 -2.65,5.92 -5.92,5.92 -3.27,0 -5.92,-2.65 -5.92,-5.92 v -77.08 c 0,-11.21 -3.74,-16.35 -10.9,-16.35 -7.16,0 -10.9,5.14 -10.9,16.35 v 77.08 c 0,3.27 -2.65,5.92 -5.92,5.92 -3.27,0 -5.92,-2.65 -5.92,-5.92 z"
641
- id="path8"
642
- />
643
- <path
644
- class="cls-2"
645
- d="m 588.37,435.12 c 0,3.11 -2.65,5.45 -5.76,5.45 h -23.98 c -6.7,0 -9.5,-2.81 -9.5,-9.34 v -90.31 c 0,-6.54 2.8,-9.34 9.5,-9.34 h 23.98 c 3.11,0 5.76,2.33 5.76,5.45 0,3.12 -2.65,5.45 -5.76,5.45 h -21.65 v 32.7 h 19.31 c 3.11,0 5.76,2.33 5.76,5.45 0,3.12 -2.65,5.45 -5.76,5.45 h -19.31 v 43.6 h 21.65 c 3.11,0 5.76,2.33 5.76,5.45 z"
646
- id="path9"
647
- />
648
- <path
649
- class="cls-2"
650
- d="m 599.59,434.96 v -78.79 c 0,-15.73 8.09,-25.54 22.73,-25.54 7.01,0 12.93,3.11 16.82,8.41 3.9,-5.29 9.81,-8.41 16.82,-8.41 14.64,0 22.74,9.81 22.74,25.54 v 78.79 c 0,3.27 -2.65,5.92 -5.92,5.92 -3.27,0 -5.92,-2.65 -5.92,-5.92 v -77.08 c 0,-11.21 -3.74,-16.35 -10.9,-16.35 -7.16,0 -10.9,5.14 -10.9,16.35 v 77.08 c 0,3.27 -2.65,5.92 -5.92,5.92 -3.27,0 -5.92,-2.65 -5.92,-5.92 v -77.08 c 0,-11.21 -3.74,-16.35 -10.9,-16.35 -7.16,0 -10.9,5.14 -10.9,16.35 v 77.08 c 0,3.27 -2.65,5.92 -5.92,5.92 -3.27,0 -5.92,-2.65 -5.92,-5.92 z"
651
- id="path10"
652
- />
653
- <path
654
- class="cls-2"
655
- d="m 692.72,416.28 v -60.1 c 0,-15.73 8.09,-25.54 23.35,-25.54 15.26,0 23.36,9.81 23.36,25.54 v 60.1 c 0,15.73 -8.1,25.54 -23.36,25.54 -15.26,0 -23.35,-9.81 -23.35,-25.54 z m 34.88,-2.02 v -56.05 c 0,-11.68 -4.05,-16.35 -11.52,-16.35 -7.47,0 -11.52,4.67 -11.52,16.35 v 56.05 c 0,11.68 4.05,16.35 11.52,16.35 7.47,0 11.52,-4.67 11.52,-16.35 z"
656
- id="path11"
657
- />
658
- <path
659
- class="cls-2"
660
- d="m 789.27,391.52 c 4.36,2.49 8.88,8.88 8.88,18.07 v 25.38 c 0,3.27 -2.65,5.92 -5.92,5.92 -3.27,0 -5.92,-2.65 -5.92,-5.92 v -22.11 c 0,-8.88 -4.67,-15.73 -12.3,-15.73 h -8.25 v 37.84 c 0,3.27 -2.65,5.92 -5.92,5.92 -3.27,0 -5.92,-2.65 -5.92,-5.92 v -94.05 c 0,-6.54 2.8,-9.34 9.5,-9.34 h 10.43 c 15.57,0 24.6,10.27 24.6,29.11 v 7.32 c 0,10.75 -2.81,18.69 -9.19,23.51 z m -2.33,-26 v -2.34 c 0,-14.02 -4.2,-20.71 -14.17,-20.71 h -7.01 v 43.75 h 7.01 c 9.97,0 14.17,-6.7 14.17,-20.71 z"
661
- id="path12"
662
- />
663
- <path
664
- class="cls-2"
665
- d="m 812.95,434.96 v -98.1 c 0,-3.27 2.65,-5.92 5.92,-5.92 3.27,0 5.92,2.65 5.92,5.92 v 98.1 c 0,3.27 -2.65,5.92 -5.92,5.92 -3.27,0 -5.92,-2.65 -5.92,-5.92 z"
666
- id="path13"
667
- />
668
- </g>
669
- <path
670
- class="cls-1"
671
- d="m 667.73555,242.64 c -6.38,-56.35 -42.43,-113.07 -98.9,-155.61 -49.7,-37.44 -109.37,-60.33 -170.6,-65.94 C 364.22555,7.6 328.15555,0 291.96555,0 c -69.91,0 -135.47,27.64 -189.6,79.93 C 82.235546,99.38 55.165546,139 38.215546,191.67 c -9.13,16.42 -16.91,33.67 -23.02,51.57 -33.85,99.22 -10.5500001,199.69 63.94,275.65 9.79,9.98 26.710004,23.27 49.530004,36.03 70.06,71.95 151.03,84.76 199.59,84.76 45.54,0 92.21,-11.24 124.84,-30.07 28.3,-16.34 52.64,-36.17 72.92,-59.28 108.74,-60.36 157.72,-166.32 141.72,-307.69 z m -73.68,9.57 c -8.31,-61.54 -42.48,-119.59 -90.75,-164.46 37.26,23.3 66.15,54.54 87.71,91.36 27.6,47.13 46.44,143.64 0.76,233.55 9.47,-47.57 10.27,-101.25 2.28,-160.44 z m -11.27,1.52 c 10.34,76.59 5.37,140.08 -11.29,192.23 -24.15,33.64 -58.84,65.28 -107.4,91.69 -31.3,17.03 -61.5,28.71 -90.28,36.23 -8.25,-0.19 -16.63,-0.69 -25.09,-1.54 22.94,-3.81 46.17,-10.56 69.46,-20.26 96.74,-40.31 136.66,-112.17 153.12,-165.35 20.63,-66.68 13.55,-131.72 1.21,-167.16 -36.47,-104.77 -118.35,-165.33 -237.85,-176.66 46.26,0.76 86.54,8.18 121.19,21.31 67.54,45.83 117.02,116.16 126.92,189.52 z m -78.06,294.93 c -21.61,10.54 -52.6,19.64 -88.2,23.43 17.75,-6.76 35.44,-14.89 53.01,-24.45 35,-19.04 64.77,-41.9 88.88,-67.95 -10.72,23.16 -24.08,43.65 -39.67,61.68 -4.6,2.51 -9.26,4.97 -14.02,7.29 z m -368.96,-2.75 c -19.71,-20.45 -38.150004,-45.4 -54.570004,-75.6 -59.13,-108.81 -54.64,-204.44 -32.59,-273.88 40.79,-72.66 110.320004,-128.92 184.840004,-145.21 -6.05,2.97 -12.04,6.12 -17.94,9.49 -48.68,23.3 -93.61,65.79 -123.390004,119.76 -51.8,93.85 -49.11,199.1 7.38,288.77 23.170004,36.78 95.600004,106.18 204.320004,106.77 10.31,2.55 20.33,4.47 29.9,5.87 -15.51,2.15 -30.53,3.16 -44.97,3.16 -63.65,0 -116.29,-18.88 -152.97,-39.14 z m 169.2,18.75 c -62.68,-15.85 -125.37,-53.95 -169.73,-129.36 -100.020004,-170.04 3.83,-303.77 44.43,-336.4 14.06,-11.3 28.49,-21 43.15,-29.29 24.09,-11.11 49.2,-17.27 73.97,-17.27 0.69,0 1.41,0 2.1,0.02 148.62,2.08 228.54,72.27 262.89,170.95 25.29,72.64 20.48,248.09 -147.96,318.27 -39.5,16.46 -75.82,23.09 -108.64,23.09 -0.07,0 -0.14,0 -0.21,0 z m -50.13,-5.41 c -78.55,-17.09 -129.59,-70.46 -145.73,-96.07 -63.580004,-100.94 -49.220004,-209.44 0.22,-289.59 -5.85,11.99 -11.140004,24.86 -15.460004,38.56 -23.54,74.64 -12.63,153.8 31.560004,228.92 36.33,61.76 83.37,97.63 129.41,118.18 z m 93.31,-527.42 c 6.92,-0.48 13.83,-0.76 20.7,-0.76 9.21,0 18.36,0.43 27.44,1.24 5.8,2.34 11.5,4.89 17.15,7.57 -20.54,-4.36 -42.3,-7.05 -65.28,-8.06 z m -237.88,56.28 c 56.12,-54.22 119.7,-76.74 181.69,-76.74 22.56,0 44.9,3.01 66.59,8.54 -27.97,0.93 -55.36,5.59 -81.73,13.89 -9.47,0.87 -19.03,1.9 -28.75,3.25 -66.39,9.19 -130.73,49.37 -177.320004,106.6 13.93,-26.25 28.93,-45.3 39.520004,-55.54 z M 87.255546,510.92 C 8.3455459,430.46 -2.7544541,333.8 25.095546,249.55 c -9.9,74.5 5.8,152.05 46.09,226.19 9.7,17.85 20.01,33.8 30.760004,48.04 -5.970004,-4.67 -10.990004,-9.07 -14.700004,-12.85 z m 360.150004,88.83 c -27.18,15.69 -70.3,28.55 -119.16,28.55 -52.11,0 -110.74,-14.68 -163.49,-56.16 34.18,13.85 76.16,24.27 123.97,24.27 28.75,0 57.59,-3.76 86.33,-11.13 2.13,0.04 4.2,0.06 6.22,0.06 40.23,0 81.61,-7.43 114.06,-20.19 -14.66,13.13 -30.69,24.65 -47.93,34.6 z m 98.55,-75.09 c 10.02,-14.65 18.69,-30.34 25.92,-47.11 3.74,-8.67 7.06,-17.66 10.05,-26.89 17.66,-24.96 30.8,-52.23 38.94,-81.46 22.51,-80.87 3.27,-156.05 -20.04,-195.85 -33.54,-57.28 -80.82,-97.29 -141.07,-119.95 -8.19,-5.44 -16.61,-10.57 -25.24,-15.28 116.19,24.92 211.36,112.54 221.92,205.8 15.48,136.7 -31.24,226.21 -110.47,280.75 z"
672
- id="path14"
673
- style="fill: url(#Sfumatura_senza_nome_6);"
674
- />
675
- </svg>
676
- <p
677
- class="memori--powered-by-label"
678
- >
679
- <span>
680
- Powered by
681
- </span>
682
- <a
683
- href="https://memori.ai/it?integrationID=cb3c4776-7f0b-4f97-a773-c32a5d7a3bf1&memori=aisuru.com-username-Memori"
684
- rel="noopener noreferrer"
685
- target="_blank"
686
- >
687
- Memori.AI
688
- </a>
689
- </p>
690
- </div>
691
556
  </div>
692
557
  </aside>
693
558
  </div>
@@ -9,6 +9,7 @@ exports[`renders Totem layout unchanged 1`] = `
9
9
  data-memori-integration="cb3c4776-7f0b-4f97-a773-c32a5d7a3bf1"
10
10
  data-memori-name="Memori"
11
11
  data-memori-secondary-id="25ced51c-3520-41af-8bbe-222d861b8e32"
12
+ data-theme="light"
12
13
  style="height: 100vh;"
13
14
  >
14
15
  <div
@@ -17,6 +18,7 @@ exports[`renders Totem layout unchanged 1`] = `
17
18
  aria-live="polite"
18
19
  aria-relevant="additions text"
19
20
  class="memori-alert-viewport memori-alert-viewport--top-end"
21
+ data-theme="light"
20
22
  role="region"
21
23
  style="z-index: 10002;"
22
24
  tabindex="-1"
@@ -42,6 +44,8 @@ exports[`renders Totem layout unchanged 1`] = `
42
44
  --memori-shadow-primary: 0 8px 16px -4px color-mix(in oklch, var(--memori-primary), transparent 70%);
43
45
  --memori-skeleton-base: color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast-inverse, white) 85%);
44
46
  --memori-skeleton-highlight: color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast-inverse, white) 75%);
47
+ --memori-icon-active-bg: color-mix(in oklch, var(--memori-primary) 12%, transparent);
48
+ --memori-icon-recording-bg: color-mix(in oklch, var(--memori-error, #dc2626) 12%, transparent);
45
49
  }
46
50
  [data-theme="dark"] .memori-widget,
47
51
  .memori-widget[data-theme="dark"],
@@ -62,11 +66,8 @@ exports[`renders Totem layout unchanged 1`] = `
62
66
  --memori-shadow-primary: 0 8px 16px -4px color-mix(in oklch, var(--memori-primary), transparent 70%);
63
67
  --memori-skeleton-base: color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast-inverse, white) 85%);
64
68
  --memori-skeleton-highlight: color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast-inverse, white) 75%);
65
- }
66
- .memori-widget .memori-chat--history--has-global-background::before,
67
- .memori-widget .memori-chat-layout--main--has-background::before {
68
- filter: blur(5px);
69
- transform: scale(1.06);
69
+ --memori-icon-active-bg: color-mix(in oklch, var(--memori-primary) 12%, transparent);
70
+ --memori-icon-recording-bg: color-mix(in oklch, var(--memori-error, #dc2626) 12%, transparent);
70
71
  }
71
72
  }
72
73
 
@@ -240,7 +241,7 @@ exports[`renders Totem layout unchanged 1`] = `
240
241
  <button
241
242
  aria-label="widget.sound"
242
243
  aria-pressed="false"
243
- class="memori-button memori-button--outline memori-button--md memori-button--icon-only memori-totem-rail--button"
244
+ class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button memori-totem-rail--button"
244
245
  tabindex="0"
245
246
  title="widget.sound"
246
247
  type="button"
@@ -249,15 +250,16 @@ exports[`renders Totem layout unchanged 1`] = `
249
250
  class="memori-button__icon"
250
251
  >
251
252
  <svg
253
+ aria-hidden="true"
252
254
  class="lucide lucide-volume2"
253
255
  fill="none"
254
- height="24"
256
+ height="20"
255
257
  stroke="currentColor"
256
258
  stroke-linecap="round"
257
259
  stroke-linejoin="round"
258
260
  stroke-width="2"
259
261
  viewBox="0 0 24 24"
260
- width="24"
262
+ width="20"
261
263
  xmlns="http://www.w3.org/2000/svg"
262
264
  >
263
265
  <path
@@ -289,7 +291,7 @@ exports[`renders Totem layout unchanged 1`] = `
289
291
  aria-expanded="false"
290
292
  aria-haspopup="menu"
291
293
  aria-label="widget.share"
292
- class="memori-button memori-button--outline memori-button--md memori-button--icon-only"
294
+ class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button"
293
295
  id="base-ui-:r8:"
294
296
  tabindex="0"
295
297
  title="widget.share"
@@ -369,7 +371,7 @@ exports[`renders Totem layout unchanged 1`] = `
369
371
  aria-expanded="false"
370
372
  aria-haspopup="dialog"
371
373
  aria-label="login.user"
372
- class="memori-button memori-button--outline memori-button--md memori-button--icon-only memori-totem-rail--button memori-totem-rail--account-trigger"
374
+ class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button memori-totem-rail--button memori-totem-rail--account-trigger"
373
375
  data-base-ui-click-trigger=""
374
376
  id="base-ui-:rc:"
375
377
  tabindex="0"
@@ -9,6 +9,7 @@ exports[`renders ZOOMED_FULL_BODY layout unchanged 1`] = `
9
9
  data-memori-integration="cb3c4776-7f0b-4f97-a773-c32a5d7a3bf1"
10
10
  data-memori-name="Memori"
11
11
  data-memori-secondary-id="25ced51c-3520-41af-8bbe-222d861b8e32"
12
+ data-theme="light"
12
13
  style="height: 100vh;"
13
14
  >
14
15
  <div
@@ -17,6 +18,7 @@ exports[`renders ZOOMED_FULL_BODY layout unchanged 1`] = `
17
18
  aria-live="polite"
18
19
  aria-relevant="additions text"
19
20
  class="memori-alert-viewport memori-alert-viewport--top-end"
21
+ data-theme="light"
20
22
  role="region"
21
23
  style="z-index: 10002;"
22
24
  tabindex="-1"
@@ -42,6 +44,8 @@ exports[`renders ZOOMED_FULL_BODY layout unchanged 1`] = `
42
44
  --memori-shadow-primary: 0 8px 16px -4px color-mix(in oklch, var(--memori-primary), transparent 70%);
43
45
  --memori-skeleton-base: color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast-inverse, white) 85%);
44
46
  --memori-skeleton-highlight: color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast-inverse, white) 75%);
47
+ --memori-icon-active-bg: color-mix(in oklch, var(--memori-primary) 12%, transparent);
48
+ --memori-icon-recording-bg: color-mix(in oklch, var(--memori-error, #dc2626) 12%, transparent);
45
49
  }
46
50
  [data-theme="dark"] .memori-widget,
47
51
  .memori-widget[data-theme="dark"],
@@ -62,11 +66,8 @@ exports[`renders ZOOMED_FULL_BODY layout unchanged 1`] = `
62
66
  --memori-shadow-primary: 0 8px 16px -4px color-mix(in oklch, var(--memori-primary), transparent 70%);
63
67
  --memori-skeleton-base: color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast-inverse, white) 85%);
64
68
  --memori-skeleton-highlight: color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast-inverse, white) 75%);
65
- }
66
- .memori-widget .memori-chat--history--has-global-background::before,
67
- .memori-widget .memori-chat-layout--main--has-background::before {
68
- filter: blur(5px);
69
- transform: scale(1.06);
69
+ --memori-icon-active-bg: color-mix(in oklch, var(--memori-primary) 12%, transparent);
70
+ --memori-icon-recording-bg: color-mix(in oklch, var(--memori-error, #dc2626) 12%, transparent);
70
71
  }
71
72
  }
72
73
 
@@ -133,7 +134,7 @@ exports[`renders ZOOMED_FULL_BODY layout unchanged 1`] = `
133
134
  >
134
135
  <button
135
136
  aria-label="widget.sound"
136
- class="memori-button memori-button--outline memori-button--md memori-button--icon-only"
137
+ class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button"
137
138
  tabindex="0"
138
139
  title="widget.sound"
139
140
  type="button"
@@ -142,15 +143,16 @@ exports[`renders ZOOMED_FULL_BODY layout unchanged 1`] = `
142
143
  class="memori-button__icon"
143
144
  >
144
145
  <svg
146
+ aria-hidden="true"
145
147
  class="lucide lucide-volume2"
146
148
  fill="none"
147
- height="24"
149
+ height="20"
148
150
  stroke="currentColor"
149
151
  stroke-linecap="round"
150
152
  stroke-linejoin="round"
151
153
  stroke-width="2"
152
154
  viewBox="0 0 24 24"
153
- width="24"
155
+ width="20"
154
156
  xmlns="http://www.w3.org/2000/svg"
155
157
  >
156
158
  <path
@@ -182,7 +184,7 @@ exports[`renders ZOOMED_FULL_BODY layout unchanged 1`] = `
182
184
  aria-expanded="false"
183
185
  aria-haspopup="menu"
184
186
  aria-label="widget.share"
185
- class="memori-button memori-button--outline memori-button--md memori-button--icon-only"
187
+ class="memori-button memori-button--toolbar memori-button--sm memori-button--icon-only memori-icon-button"
186
188
  id="base-ui-:r8:"
187
189
  tabindex="0"
188
190
  title="widget.share"
@@ -1,6 +1,9 @@
1
1
  .memori-widget.memori-layout-chat {
2
2
  overflow: hidden;
3
3
  height: 100vh !important;
4
+ height: 100dvh !important;
5
+ max-height: 100vh;
6
+ max-height: 100dvh;
4
7
  padding: 0;
5
8
  }
6
9
 
@@ -26,9 +29,6 @@
26
29
  }
27
30
 
28
31
  @media (max-width: 600px) {
29
- .memori-widget.memori-layout-chat .memori-chat-inputs-wrapper {
30
- margin-bottom: var(--memori-spacing-md);
31
- }
32
32
  .memori-widget.memori-layout-chat .memori--start-description {
33
33
  display: none;
34
34
  }
@@ -43,6 +43,7 @@
43
43
 
44
44
  .memori-widget.memori-layout-chat .memori-fullpage-header-actions {
45
45
  min-width: 0;
46
+ flex: 1 1 auto;
46
47
  flex-wrap: nowrap;
47
48
  -webkit-overflow-scrolling: touch;
48
49
  overflow-x: auto;
@@ -50,29 +51,43 @@
50
51
  }
51
52
 
52
53
  .memori-widget.memori-layout-chat .memori-fullpage-header-actions .memori-header.memori-header--fullpage {
53
- min-width: 0;
54
+ min-width: max-content;
55
+ flex-shrink: 0;
54
56
  flex-wrap: nowrap;
55
57
  }
58
+
59
+ .memori-widget.memori-layout-chat .memori-fullpage-header-actions .memori-icon-button,
60
+ .memori-widget.memori-layout-chat .memori-fullpage-header-actions .memori-button {
61
+ flex-shrink: 0;
62
+ }
56
63
  }
57
64
 
65
+ /* Column fills the chat pane so the input strip can go edge-to-edge;
66
+ message reading width is applied on --body / the input field itself. */
58
67
  .memori-widget.memori-layout-chat .memori-chat-layout--controls > .memori-conversation-column {
59
68
  display: flex;
60
69
  width: 100%;
70
+ max-width: none;
61
71
  min-height: 0;
62
72
  flex: 1 1 auto;
63
73
  flex-direction: column;
74
+ margin-inline: 0;
75
+ padding-inline: 0;
64
76
  }
65
77
 
66
78
  .memori-widget.memori-layout-chat .memori-chat-layout--body {
67
79
  display: flex;
68
80
  overflow: hidden;
69
81
  width: 100%;
82
+ max-width: var(--memori-conversation-max-width, 48rem);
70
83
  min-height: 0;
84
+ box-sizing: border-box;
71
85
  flex: 1;
72
86
  flex-direction: column;
73
87
  align-items: stretch;
74
- margin: 0 auto;
75
88
  background: var(--memori-secondary-background);
89
+ margin-inline: auto;
90
+ padding-inline: var(--memori-conversation-inline-padding, var(--memori-spacing-md));
76
91
  }
77
92
 
78
93
  /* When a global background is on chat content, keep the body strip neutral. */
@@ -98,21 +113,32 @@
98
113
  justify-content: center;
99
114
  }
100
115
 
101
- /* Input bar is a flex sibling of body inside the shared conversation column */
116
+ /* Full-bleed input strip across the chat column; field stays on the conversation axis */
102
117
  .memori-widget.memori-layout-chat .memori-conversation-column > .memori-chat-inputs-wrapper {
103
118
  overflow: hidden;
104
119
  width: 100%;
120
+ max-width: none;
121
+ box-sizing: border-box;
105
122
  flex-shrink: 0;
106
123
  border-top: none;
107
124
  background: var(--memori-secondary-background);
108
125
  border-bottom-left-radius: 0;
109
126
  border-bottom-right-radius: 0;
127
+ margin-inline: 0;
128
+ padding-inline: var(--memori-conversation-inline-padding, var(--memori-spacing-md));
110
129
  }
111
130
 
112
131
  .memori-widget.memori-layout-chat .memori-chat-inputs {
113
132
  background: transparent;
114
133
  }
115
134
 
135
+ .memori-widget.memori-layout-chat .memori-conversation-column > .memori-chat-inputs-wrapper .memori-chat-inputs,
136
+ .memori-widget.memori-layout-chat .memori-conversation-column > .memori-chat-inputs-wrapper .memori-conversation-footer {
137
+ width: 100%;
138
+ max-width: var(--memori-conversation-max-width, 48rem);
139
+ margin-inline: auto;
140
+ }
141
+
116
142
  .memori-chat-layout--header-with-artifact {
117
143
  display: none;
118
144
  }
@@ -204,6 +230,15 @@
204
230
  text-overflow: unset;
205
231
  white-space: normal;
206
232
  }
233
+
234
+ .memori-widget.memori--active.memori-layout-chat .memori-conversation-footer {
235
+ justify-content: flex-start;
236
+ }
237
+
238
+ .memori-widget.memori--active.memori-layout-chat .memori-conversation-footer .memori-chat-inputs--ai-note {
239
+ flex: 1 1 auto;
240
+ text-align: left;
241
+ }
207
242
  }
208
243
 
209
244
  .memori-chat-layout--controls .memori-chat--wrapper {
@@ -300,14 +335,20 @@
300
335
  .memori-chat-layout--main {
301
336
  position: relative;
302
337
  display: flex;
303
- overflow: hidden;
338
+ /* clip (not hidden): the blurred/scaled global-background ::before expands
339
+ scrollable overflow; overflow:hidden still creates a scrollport, so
340
+ Chat's scrollIntoView can shift the whole chrome upward and clip the header. */
341
+ overflow: clip;
304
342
  width: 100%;
343
+ min-width: 0;
305
344
  height: 100%;
306
- flex: 1;
345
+ min-height: 0;
346
+ flex: 1 1 0%;
307
347
  flex-direction: row;
308
- align-items: center;
309
- justify-content: center;
310
- /* max-width: 1200px; */
348
+ /* Stretch — never center the column vertically or an overflowing
349
+ controls pane gets clipped at the top (header) and leaves a gap below. */
350
+ align-items: stretch;
351
+ justify-content: flex-start;
311
352
  transition: all 0.05s ease-in-out;
312
353
  }
313
354
 
@@ -318,6 +359,7 @@
318
359
  overflow: hidden;
319
360
  min-width: 0;
320
361
  height: 100%;
362
+ min-height: 0;
321
363
  max-height: 100%;
322
364
  flex: 1;
323
365
  flex-direction: column;
@@ -335,23 +377,34 @@
335
377
  background: var(--memori-secondary-background);
336
378
  }
337
379
 
338
- /* Artifact drawer column inside the Chat layout's flex row */
339
- .memori-chat-layout .memori--grid-column-artifact {
380
+ /* Header sits above the content row (FULLPAGE pattern) so opening the
381
+ artifact only redistributes the chat/artifact columns. */
382
+ .memori-widget.memori-layout-chat .memori-chat-layout--header {
383
+ position: relative;
384
+ z-index: 6;
385
+ width: 100%;
386
+ flex-shrink: 0;
387
+ }
388
+
389
+ /* Artifact drawer column — flex sibling of chat controls inside --main */
390
+ .memori-widget.memori-layout-chat .memori--grid-column-artifact {
340
391
  overflow: hidden;
341
392
  width: 0;
342
393
  min-width: 0;
394
+ height: 100%;
395
+ min-height: 0;
343
396
  flex-shrink: 0;
344
397
  transition: width 0.25s ease;
345
398
  }
346
399
 
347
- .memori-chat-layout .memori--grid-column-artifact--open {
348
- width: 620px;
400
+ .memori-widget.memori-layout-chat .memori--grid-column-artifact--open {
401
+ width: min(620px, 55%);
349
402
  border-left: 1px solid var(--memori-border-color);
350
403
  background: var(--memori-secondary-background);
351
404
  }
352
405
 
353
406
  @media (max-width: 1260px) {
354
- .memori-chat-layout .memori--grid-column-artifact {
407
+ .memori-widget.memori-layout-chat .memori--grid-column-artifact {
355
408
  display: none;
356
409
  }
357
410
  }
@@ -377,10 +430,12 @@
377
430
  background-repeat: no-repeat;
378
431
  background-size: cover;
379
432
  content: '';
433
+ filter: blur(5px);
380
434
  pointer-events: none;
435
+ transform: scale(1.06);
381
436
  }
382
437
 
383
- .memori-chat-layout--main--has-background .memori--grid-column-artifact {
438
+ .memori-widget.memori-layout-chat .memori-chat-layout--main--has-background .memori--grid-column-artifact {
384
439
  position: relative;
385
440
  z-index: 5;
386
441
  }
@@ -390,38 +445,18 @@
390
445
  background: transparent;
391
446
  }
392
447
 
393
- /* The header is a solid strip, so the image starts below it. */
394
- .memori-widget.memori-layout-chat .memori-chat-layout--main--has-background .memori-chat-layout--header {
448
+ /* Header is outside --main; keep it a solid strip above the backgrounded content. */
449
+ .memori-widget.memori-layout-chat:has(.memori-chat-layout--main--has-background) .memori-chat-layout--header {
395
450
  background: var(--memori-secondary-background);
396
451
  }
397
452
 
398
- /* The input bar stays a solid strip, so the image ends where the messages end.
399
- It breaks out of the conversation column to span the whole width; the
400
- surrounding `overflow: hidden` on the controls clips it to the chat column. */
453
+ /* Input strip is already full-bleed (see rules above); keep its solid surface over the image. */
401
454
  .memori-widget.memori-layout-chat
402
455
  .memori-chat-layout--main--has-background
403
456
  .memori-conversation-column
404
457
  > .memori-chat-inputs-wrapper {
405
- width: 100vw;
406
- max-width: 100vw;
407
458
  margin-bottom: 0;
408
459
  background: var(--memori-secondary-background);
409
- margin-inline: calc(50% - 50vw);
410
- padding-inline: var(--memori-conversation-inline-padding, var(--memori-spacing-md));
411
- }
412
-
413
- .memori-widget.memori-layout-chat
414
- .memori-chat-layout--main--has-background
415
- .memori-conversation-column
416
- > .memori-chat-inputs-wrapper
417
- .memori-chat-inputs,
418
- .memori-widget.memori-layout-chat
419
- .memori-chat-layout--main--has-background
420
- .memori-conversation-column
421
- > .memori-chat-inputs-wrapper
422
- .memori-conversation-footer {
423
- max-width: var(--memori-conversation-max-width, 48rem);
424
- margin-inline: auto;
425
460
  }
426
461
 
427
462
  /* The column-scoped image would otherwise paint a second, narrower copy. */
@@ -504,7 +539,7 @@
504
539
  .memori-widget.memori-layout-chat .memori-chat-layout--controls .memori--start-panel,
505
540
  .memori-widget.memori-layout-chat .memori-chat-layout--controls .memori-chat--wrapper {
506
541
  min-width: 0;
507
- margin-top: var(--memori-spacing-lg);
542
+ min-height: 0;
508
543
  }
509
544
 
510
545
  .memori-widget.memori-layout-chat .memori-chat-layout--controls .memori-chat--wrapper {