@memori.ai/memori-react 2.2.2 → 2.3.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 (46) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +6 -2
  3. package/dist/components/Header/Header.css +3 -3
  4. package/dist/components/MemoriWidget/MemoriWidget.d.ts +1 -1
  5. package/dist/components/MemoriWidget/MemoriWidget.js +6 -3
  6. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  7. package/dist/components/PoweredBy/PoweredBy.css +1 -1
  8. package/dist/components/SettingsDrawer/SettingsDrawer.d.ts +2 -1
  9. package/dist/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  10. package/dist/components/ShareButton/ShareButton.css +1 -0
  11. package/dist/components/layouts/Chat.d.ts +4 -0
  12. package/dist/components/layouts/Chat.js +8 -0
  13. package/dist/components/layouts/Chat.js.map +1 -0
  14. package/dist/components/layouts/Chat.test.d.ts +1 -0
  15. package/dist/components/layouts/Chat.test.js +25 -0
  16. package/dist/components/layouts/Chat.test.js.map +1 -0
  17. package/dist/components/layouts/chat.css +114 -0
  18. package/dist/styles.css +1 -0
  19. package/esm/components/Header/Header.css +3 -3
  20. package/esm/components/MemoriWidget/MemoriWidget.d.ts +1 -1
  21. package/esm/components/MemoriWidget/MemoriWidget.js +6 -3
  22. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  23. package/esm/components/PoweredBy/PoweredBy.css +1 -1
  24. package/esm/components/SettingsDrawer/SettingsDrawer.d.ts +2 -1
  25. package/esm/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  26. package/esm/components/ShareButton/ShareButton.css +1 -0
  27. package/esm/components/layouts/Chat.d.ts +4 -0
  28. package/esm/components/layouts/Chat.js +5 -0
  29. package/esm/components/layouts/Chat.js.map +1 -0
  30. package/esm/components/layouts/Chat.test.d.ts +1 -0
  31. package/esm/components/layouts/Chat.test.js +22 -0
  32. package/esm/components/layouts/Chat.test.js.map +1 -0
  33. package/esm/components/layouts/chat.css +114 -0
  34. package/esm/styles.css +1 -0
  35. package/package.json +1 -1
  36. package/src/components/Header/Header.css +3 -3
  37. package/src/components/MemoriWidget/MemoriWidget.tsx +4 -1
  38. package/src/components/PoweredBy/PoweredBy.css +1 -1
  39. package/src/components/SettingsDrawer/SettingsDrawer.tsx +2 -2
  40. package/src/components/ShareButton/ShareButton.css +1 -0
  41. package/src/components/layouts/Chat.test.tsx +31 -0
  42. package/src/components/layouts/Chat.tsx +35 -0
  43. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +329 -0
  44. package/src/components/layouts/chat.css +114 -0
  45. package/src/components/layouts/layouts.stories.tsx +110 -0
  46. package/src/styles.css +1 -0
@@ -1,4 +1,3 @@
1
- import { Memori } from '@memori.ai/memori-api-client/dist/types';
2
1
  import Drawer from '../ui/Drawer';
3
2
  import { useTranslation } from 'react-i18next';
4
3
  import Checkbox from '../ui/Checkbox';
@@ -6,10 +5,11 @@ import Select from '../ui/Select';
6
5
  import { setLocalConfig } from '../../helpers/configuration';
7
6
  import { RadioGroup } from '@headlessui/react';
8
7
  import Button from '../ui/Button';
8
+ import { Props as WidgetProps } from '../MemoriWidget/MemoriWidget';
9
9
 
10
10
  export interface Props {
11
11
  open: boolean;
12
- layout?: 'FULLPAGE' | 'TOTEM' | 'DEFAULT';
12
+ layout?: WidgetProps['layout'];
13
13
  onClose: () => void;
14
14
  microphoneMode?: 'HOLD_TO_TALK' | 'CONTINUOUS';
15
15
  continuousSpeechTimeout?: number;
@@ -44,6 +44,7 @@ a.memori-share-button--link {
44
44
  width: 100%;
45
45
  justify-content: flex-start;
46
46
  color: inherit;
47
+ font-weight: normal;
47
48
  text-align: left;
48
49
  text-decoration: none;
49
50
  }
@@ -0,0 +1,31 @@
1
+ import { render } from '@testing-library/react';
2
+ import Memori from '../MemoriWidget/MemoriWidget';
3
+ import { integration, memori, tenant } from '../../mocks/data';
4
+
5
+ Object.defineProperty(window, 'matchMedia', {
6
+ writable: true,
7
+ value: jest.fn().mockImplementation(query => ({
8
+ matches: false,
9
+ media: query,
10
+ onchange: null,
11
+ addListener: jest.fn(), // Deprecated
12
+ removeListener: jest.fn(), // Deprecated
13
+ addEventListener: jest.fn(),
14
+ removeEventListener: jest.fn(),
15
+ dispatchEvent: jest.fn(),
16
+ })),
17
+ });
18
+
19
+ it('renders Chat layout unchanged', () => {
20
+ const { container } = render(
21
+ <Memori
22
+ showShare={true}
23
+ showSettings={true}
24
+ memori={memori}
25
+ tenant={tenant}
26
+ integration={integration}
27
+ layout="CHAT"
28
+ />
29
+ );
30
+ expect(container).toMatchSnapshot();
31
+ });
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import Spin from '../ui/Spin';
3
+ import { LayoutProps } from '../MemoriWidget/MemoriWidget';
4
+
5
+ const ChatLayout: React.FC<LayoutProps> = ({
6
+ header,
7
+ chat,
8
+ startPanel,
9
+ integrationStyle,
10
+ integrationBackground,
11
+ changeMode,
12
+ sessionId,
13
+ hasUserActivatedSpeak,
14
+ showInstruct = false,
15
+ loading = false,
16
+ poweredBy,
17
+ }) => (
18
+ <>
19
+ {integrationStyle}
20
+ {integrationBackground}
21
+
22
+ <Spin spinning={loading} className="memori-chat-layout">
23
+ {poweredBy}
24
+ {showInstruct && changeMode}
25
+
26
+ <div className="memori-chat-layout--header">{header}</div>
27
+
28
+ <div className="memori-chat-layout--controls">
29
+ {sessionId && hasUserActivatedSpeak ? chat : startPanel}
30
+ </div>
31
+ </Spin>
32
+ </>
33
+ );
34
+
35
+ export default ChatLayout;
@@ -0,0 +1,329 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`renders Chat layout unchanged 1`] = `
4
+ <div>
5
+ <div
6
+ class="memori memori-widget memori-layout-chat memori-controls-bottom memori--with-integration"
7
+ data-memori-engine-state="{}"
8
+ data-memori-id="66b4e161-2431-4b21-9b70-d8c27de730ca"
9
+ data-memori-integration="cb3c4776-7f0b-4f97-a773-c32a5d7a3bf1"
10
+ data-memori-name="Memori"
11
+ data-memori-secondary-id="25ced51c-3520-41af-8bbe-222d861b8e32"
12
+ style="height: 100vh;"
13
+ >
14
+ <style>
15
+
16
+ :root, .memori-widget {
17
+ --memori-chat-bubble-bg: #fff;
18
+ --memori-text-color: #2a2a2a;
19
+ --memori-button-bg: #823ce1;
20
+ --memori-primary: #823ce1;
21
+ --memori-button-text: #ffffff;
22
+ --memori-blur-background: 5px;
23
+ --memori-inner-bg: rgba(255, 255, 255, 0.8);
24
+ --memori-inner-content-pad: 1.5rem;
25
+ --memori-nav-bg-image: none;
26
+ --memori-nav-bg: rgba(255, 255, 255, 0.8);
27
+ }
28
+
29
+ </style>
30
+ <div
31
+ class="memori--global-background"
32
+ >
33
+ <div
34
+ class="memori--global-background-image"
35
+ style="background-image: url(https://assets.memori.ai/api/v2/asset/364e498c-11da-42d5-9e32-19e5d137d4b8.jpeg);"
36
+ />
37
+ </div>
38
+ <div
39
+ class="memori-spin memori-chat-layout"
40
+ >
41
+ <div
42
+ class="memori--powered-by"
43
+ >
44
+ <img
45
+ alt=""
46
+ src="https://app.twincreator.com/images/twincreator/logo.png"
47
+ />
48
+ <p>
49
+ Powered by
50
+
51
+ <a
52
+ href="https://app.twincreator.com/it"
53
+ rel="noopener noreferrer"
54
+ target="_blank"
55
+ >
56
+ TwinCreator
57
+ </a>
58
+ </p>
59
+ </div>
60
+ <div
61
+ class="memori-chat-layout--header"
62
+ >
63
+ <div
64
+ class="memori-header"
65
+ >
66
+ <div
67
+ class="memori-export-history-button memori-header--button"
68
+ data-headlessui-state=""
69
+ title="write_and_speak.exportChatHistoryMessage"
70
+ >
71
+ <button
72
+ class="memori-button memori-button--circle memori-button--icon-only memori-button--disabled"
73
+ data-headlessui-state=""
74
+ disabled=""
75
+ id="headlessui-popover-button-:r0:"
76
+ type="button"
77
+ >
78
+ <div
79
+ class="memori-button--icon"
80
+ >
81
+ <svg
82
+ aria-hidden="true"
83
+ focusable="false"
84
+ role="img"
85
+ viewBox="0 0 1024 1024"
86
+ xmlns="http://www.w3.org/2000/svg"
87
+ >
88
+ <path
89
+ d="M464 512a48 48 0 1096 0 48 48 0 10-96 0zm200 0a48 48 0 1096 0 48 48 0 10-96 0zm-400 0a48 48 0 1096 0 48 48 0 10-96 0zm661.2-173.6c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 00-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 00-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 00112 714v152a46 46 0 0046 46h152.1A449.4 449.4 0 00510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 00142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z"
90
+ />
91
+ </svg>
92
+ </div>
93
+ </button>
94
+ </div>
95
+ <button
96
+ class="memori-button memori-button--primary memori-button--circle memori-button--padded memori-button--icon-only memori-header--button memori-header--button-settings"
97
+ title="widget.settings"
98
+ >
99
+ <span
100
+ class="memori-button--icon"
101
+ >
102
+ <svg
103
+ aria-hidden="true"
104
+ focusable="false"
105
+ role="img"
106
+ viewBox="0 0 1024 1024"
107
+ xmlns="http://www.w3.org/2000/svg"
108
+ >
109
+ <path
110
+ d="M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z"
111
+ />
112
+ </svg>
113
+ </span>
114
+ </button>
115
+ <div
116
+ class="memori-share-button memori-share-button--align-left"
117
+ data-headlessui-state=""
118
+ >
119
+ <button
120
+ aria-expanded="false"
121
+ aria-haspopup="true"
122
+ class="memori-button memori-button--circle memori-button--icon-only memori-share-button--button memori-header--button memori-button--primary"
123
+ data-headlessui-state=""
124
+ id="headlessui-menu-button-:r5:"
125
+ title="widget.share"
126
+ type="button"
127
+ >
128
+ <div
129
+ class="memori-button--icon"
130
+ >
131
+ <svg
132
+ aria-hidden="true"
133
+ focusable="false"
134
+ role="img"
135
+ viewBox="0 0 1024 1024"
136
+ xmlns="http://www.w3.org/2000/svg"
137
+ >
138
+ <path
139
+ d="M752 664c-28.5 0-54.8 10-75.4 26.7L469.4 540.8a160.68 160.68 0 0 0 0-57.6l207.2-149.9C697.2 350 723.5 360 752 360c66.2 0 120-53.8 120-120s-53.8-120-120-120-120 53.8-120 120c0 11.6 1.6 22.7 4.7 33.3L439.9 415.8C410.7 377.1 364.3 352 312 352c-88.4 0-160 71.6-160 160s71.6 160 160 160c52.3 0 98.7-25.1 127.9-63.8l196.8 142.5c-3.1 10.6-4.7 21.8-4.7 33.3 0 66.2 53.8 120 120 120s120-53.8 120-120-53.8-120-120-120zm0-476c28.7 0 52 23.3 52 52s-23.3 52-52 52-52-23.3-52-52 23.3-52 52-52zM312 600c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88zm440 236c-28.7 0-52-23.3-52-52s23.3-52 52-52 52 23.3 52 52-23.3 52-52 52z"
140
+ />
141
+ </svg>
142
+ </div>
143
+ </button>
144
+ </div>
145
+ </div>
146
+ </div>
147
+ <div
148
+ class="memori-chat-layout--controls"
149
+ >
150
+ <div
151
+ class="memori--start-panel"
152
+ >
153
+ <div
154
+ class="memori--cover"
155
+ >
156
+ <div
157
+ class="memori--completions-enabled"
158
+ >
159
+ <div
160
+ class="memori-tooltip memori-tooltip--align-left"
161
+ >
162
+ <div
163
+ class="memori-tooltip--content"
164
+ >
165
+ completionsEnabled
166
+ </div>
167
+ <div
168
+ class="memori-tooltip--trigger"
169
+ >
170
+ <span
171
+ aria-label="completionsEnabled"
172
+ >
173
+ <svg
174
+ aria-hidden="true"
175
+ fill="none"
176
+ focusable="false"
177
+ role="img"
178
+ viewBox="0 0 24 24"
179
+ xmlns="http://www.w3.org/2000/svg"
180
+ >
181
+ <g
182
+ clip-rule="evenodd"
183
+ fill="currentColor"
184
+ fill-rule="evenodd"
185
+ >
186
+ <path
187
+ clip-rule="evenodd"
188
+ d="M0 4a4 4 0 014-4h16a4 4 0 014 4v16a4 4 0 01-4 4H4a4 4 0 01-4-4zm4-2.4A2.4 2.4 0 001.6 4v16A2.4 2.4 0 004 22.4h16a2.4 2.4 0 002.4-2.4V4A2.4 2.4 0 0020 1.6z"
189
+ fill-rule="evenodd"
190
+ />
191
+ <path
192
+ clip-rule="evenodd"
193
+ d="M9.715 8.442a.798.798 0 00-1.43 0l-3.2 6.4a.799.799 0 101.431.716l.579-1.158h3.811l.578 1.158a.8.8 0 001.431-.716zm.391 4.358L9 10.589 7.894 12.8z"
194
+ fill-rule="evenodd"
195
+ />
196
+ <path
197
+ clip-rule="evenodd"
198
+ d="M17 8c.552 0 1 .358 1 .8v6.4c0 .442-.448.8-1 .8s-1-.358-1-.8V8.8c0-.442.448-.8 1-.8z"
199
+ fill-rule="evenodd"
200
+ />
201
+ </g>
202
+ </svg>
203
+ </span>
204
+ </div>
205
+ </div>
206
+ </div>
207
+ </div>
208
+ <picture
209
+ class="memori--avatar"
210
+ >
211
+ <source
212
+ src="https://app.twincreator.com/images/twincreator/square_logo.png"
213
+ />
214
+ <img
215
+ alt="Memori"
216
+ src="https://app.twincreator.com/images/twincreator/square_logo.png"
217
+ />
218
+ </picture>
219
+ <h2
220
+ class="memori--title"
221
+ >
222
+ Memori
223
+ </h2>
224
+ <div
225
+ class="memori--description"
226
+ >
227
+ <p>
228
+ <span
229
+ class="memori--description-text"
230
+ >
231
+ Lorem ipsum.
232
+ </span>
233
+ </p>
234
+ <div
235
+ class="memori--language-chooser"
236
+ >
237
+ <div
238
+ class="memori-select"
239
+ >
240
+ <input
241
+ hidden=""
242
+ name="day"
243
+ readonly=""
244
+ style="position: fixed; top: 1px; left: 1px; width: 1px; height: 0px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border-width: 0px; display: none;"
245
+ type="hidden"
246
+ value="IT"
247
+ />
248
+ <label
249
+ class="memori-select--label"
250
+ data-headlessui-state=""
251
+ id="headlessui-listbox-label-:r7:"
252
+ >
253
+ write_and_speak.iWantToTalkToIn
254
+ :
255
+ </label>
256
+ <button
257
+ aria-expanded="false"
258
+ aria-haspopup="true"
259
+ aria-label="write_and_speak.iWantToTalkToIn"
260
+ aria-labelledby="headlessui-listbox-label-:r7: headlessui-listbox-button-:r8:"
261
+ class="memori-select--button"
262
+ data-headlessui-state=""
263
+ id="headlessui-listbox-button-:r8:"
264
+ type="button"
265
+ >
266
+ <span
267
+ class="memori-select--value"
268
+ >
269
+ Italiano
270
+ </span>
271
+ <span
272
+ class="memori-select--icon"
273
+ >
274
+ <svg
275
+ aria-hidden="true"
276
+ fill="currentColor"
277
+ focusable="false"
278
+ role="img"
279
+ viewBox="0 0 20 20"
280
+ xmlns="http://www.w3.org/2000/svg"
281
+ >
282
+ <path
283
+ clip-rule="evenodd"
284
+ d="M10 3a.75.75 0 01.55.24l3.25 3.5a.75.75 0 11-1.1 1.02L10 4.852 7.3 7.76a.75.75 0 01-1.1-1.02l3.25-3.5A.75.75 0 0110 3zm-3.76 9.2a.75.75 0 011.06.04l2.7 2.908 2.7-2.908a.75.75 0 111.1 1.02l-3.25 3.5a.75.75 0 01-1.1 0l-3.25-3.5a.75.75 0 01.04-1.06z"
285
+ fill-rule="evenodd"
286
+ />
287
+ </svg>
288
+ </span>
289
+ </button>
290
+ </div>
291
+ </div>
292
+ <button
293
+ class="memori-button memori-button--primary memori-button--rounded memori-button--padded memori--start-button"
294
+ >
295
+ write_and_speak.tryMeButton
296
+ </button>
297
+ <p
298
+ class="memori--start-description"
299
+ >
300
+ write_and_speak.pageTryMeExplanation
301
+ </p>
302
+ </div>
303
+ </div>
304
+ </div>
305
+ <div
306
+ class="memori-spin--spinner"
307
+ >
308
+ <svg
309
+ aria-hidden="true"
310
+ class="memori-loading-icon"
311
+ focusable="false"
312
+ role="img"
313
+ viewBox="0 0 1024 1024"
314
+ xmlns="http://www.w3.org/2000/svg"
315
+ >
316
+ <path
317
+ d="M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"
318
+ />
319
+ </svg>
320
+ </div>
321
+ </div>
322
+ <audio
323
+ id="memori-audio"
324
+ src="https://app.twincreator.com/intro.mp3"
325
+ style="display: none;"
326
+ />
327
+ </div>
328
+ </div>
329
+ `;
@@ -0,0 +1,114 @@
1
+ .memori-widget.memori-layout-chat {
2
+ height: 100vh !important;
3
+ }
4
+
5
+ .memori-widget.memori-layout-chat .memori--global-background.no-background-image {
6
+ background: none;
7
+ }
8
+
9
+ .memori-widget>.memori-spin.memori-chat-layout {
10
+ display: flex;
11
+ height: 100%;
12
+ flex-direction: column;
13
+ }
14
+
15
+ .memori-chat-layout--header {
16
+ text-align: right;
17
+ }
18
+
19
+ .memori-chat-layout .memori-header {
20
+ display: inline-block;
21
+ width: auto;
22
+ }
23
+
24
+ .memori-chat-layout .memori--avatar {
25
+ top: 0;
26
+ }
27
+
28
+ .memori-chat-layout .memori--title {
29
+ position: relative;
30
+ top: 10px;
31
+ }
32
+
33
+ .memori-chat-layout .memori-chat--cover {
34
+ display: none;
35
+ }
36
+
37
+ .memori-chat-layout .memori--cover {
38
+ top: 10px;
39
+ padding: 0;
40
+ background-image: none !important;
41
+ }
42
+
43
+ .memori-chat-layout .memori--powered-by {
44
+ top: 0;
45
+ bottom: auto;
46
+ }
47
+
48
+ .memori-chat-layout--controls {
49
+ position: relative;
50
+ z-index: 5;
51
+ max-height: calc(100% - 50px);
52
+ flex: 1;
53
+ }
54
+
55
+ .memori-chat-layout--controls .memori--start-panel,
56
+ .memori-chat-layout--controls .memori-chat--wrapper {
57
+ width: 80vw;
58
+ max-width: 800px;
59
+ margin: 0 auto;
60
+ }
61
+
62
+ .memori-chat-layout--controls .memori--start-panel {
63
+ margin-top: 3rem;
64
+ }
65
+
66
+ .memori-chat-layout--controls .memori-chat--wrapper {
67
+ height: calc(100% - 1rem);
68
+ }
69
+
70
+ .memori-chat-layout .memori-chat--content {
71
+ padding: 0;
72
+ }
73
+
74
+ @media (max-width: 870px) {
75
+
76
+ .memori-chat-layout--controls .memori--start-panel,
77
+ .memori-chat-layout--controls .memori-chat--wrapper {
78
+ width: 100%;
79
+ }
80
+
81
+ .memori-chat-layout--controls .memori-chat--wrapper {
82
+ padding: 0;
83
+ }
84
+ }
85
+
86
+ @media (max-width: 480px) {
87
+ .memori-send-on-enter-menu {
88
+ display: none;
89
+ }
90
+
91
+ .memori-header--button-settings {
92
+ display: none;
93
+ }
94
+ }
95
+
96
+ .memori-chat-layout .memori--avatar-toggle {
97
+ display: none;
98
+ width: 100%;
99
+ justify-content: center;
100
+ }
101
+
102
+ .memori-chat-layout .memori--title,
103
+ .memori-chat-layout .memori--description,
104
+ .memori-chat-layout .memori--needsPosition {
105
+ color: var(--memori-text-color);
106
+ }
107
+
108
+ .memori-chat-layout .memori--global-background-image {
109
+ background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(200, 200, 200, 0.8));
110
+ }
111
+
112
+ .memori-chat-layout .memori-chat-inputs--mic {
113
+ font-size: 125%;
114
+ }
@@ -74,6 +74,116 @@ FullPage.args = {
74
74
  layout: 'FULLPAGE',
75
75
  };
76
76
 
77
+ export const ChatOnly = Template.bind({});
78
+ ChatOnly.args = {
79
+ uiLang: 'it',
80
+ showShare: true,
81
+ showSettings: true,
82
+ // memori,
83
+ // tenant,
84
+ memori: {
85
+ memoriID: '6573844d-a7cd-47ef-9e78-840d82020c21',
86
+ name: 'Nicola',
87
+ password: null,
88
+ recoveryTokens: null,
89
+ newPassword: null,
90
+ ownerUserID: null,
91
+ ownerUserName: 'nzambello',
92
+ ownerTenantName: 'app.memorytwin.com',
93
+ memoriConfigurationID: 'fd10bb42-98d9-4c08-8e02-2b08bd4e4975',
94
+ description:
95
+ 'Sono Nicola Zambello, sviluppatore e attivista per un web etico e sostenibile',
96
+ completionDescription: null,
97
+ engineMemoriID: '9b0a2913-d3d8-4e98-a49d-6e1c99479e1b',
98
+ isOwner: false,
99
+ isGiver: false,
100
+ isReceiver: false,
101
+ giverTag: null,
102
+ giverPIN: null,
103
+ privacyType: 'PUBLIC',
104
+ secretToken: null,
105
+ minimumNumberOfRecoveryTokens: null,
106
+ totalNumberOfRecoveryTokens: null,
107
+ sentInvitations: [],
108
+ receivedInvitations: [],
109
+ integrations: [
110
+ {
111
+ integrationID: '62de8c99-0ac2-4cbe-bd95-a39ad7dc6b32',
112
+ memoriID: '6573844d-a7cd-47ef-9e78-840d82020c21',
113
+ type: 'LANDING_EXPERIENCE',
114
+ state: 'NEW',
115
+ deviceEmails: null,
116
+ invocationText: null,
117
+ jobID: null,
118
+ customData:
119
+ '{"textColor":"#000000","buttonBgColor":"#007eb6","buttonTextColor":"#ffffff","globalBackground":"https://assets.memori.ai/api/v2/asset/cade3b9c-0437-4342-b2bd-8db9c2a3a20e.png","blurBackground":true,"innerBgColor":"light","multilanguage":true,"avatar":"readyplayerme","avatarURL":"https://assets.memori.ai/api/v2/asset/893c41df-7619-436d-9e86-fe1d406fc933.glb#1681736752156","name":"Pagina pubblica","contextVars":"ANIMALE:CANE","personTag":"☠️","personPIN":"666666","personName":"Pirata","showShare":true,"avatarFullBodyURL":"https://models.readyplayer.me/63b55751f17e295642bf07a2.glb"}',
120
+ resources: [],
121
+ publish: true,
122
+ creationTimestamp: '2022-06-13T14:44:52.833573Z',
123
+ lastChangeTimestamp: '2022-06-13T14:44:52.833573Z',
124
+ },
125
+ ],
126
+ avatarURL:
127
+ 'https://assets.memori.ai/api/v2/asset/3049582f-db5f-452c-913d-e4340d4afd0a.png',
128
+ coverURL:
129
+ 'https://assets.memori.ai/api/v2/asset/e9bb9f6d-8f34-45ab-af9e-6d630d9a51a8.png',
130
+ avatar3DURL:
131
+ 'https://assets.memori.ai/api/v2/asset/893c41df-7619-436d-9e86-fe1d406fc933.glb',
132
+ avatarOriginal3DURL:
133
+ 'https://d1a370nemizbjq.cloudfront.net/c7c80a1d-deda-4fe1-96c6-fabad0771aa2.glb',
134
+ needsPosition: false,
135
+ voiceType: 'MALE',
136
+ culture: 'it-IT',
137
+ categories: [
138
+ 'biografico',
139
+ 'tecnologia',
140
+ 'web',
141
+ 'open-source',
142
+ 'green',
143
+ 'privacy',
144
+ ],
145
+ exposed: true,
146
+ disableR2R3Loop: null,
147
+ disableR4Loop: null,
148
+ disableR5Loop: null,
149
+ enableCompletions: true,
150
+ completionModel: null,
151
+ chainingMemoriID: null,
152
+ chainingBaseURL: null,
153
+ chainingPassword: null,
154
+ contentQualityIndex: 210.8,
155
+ contentQualityIndexTimestamp: '2023-04-17T00:01:32.194744Z',
156
+ publishedInTheMetaverse: true,
157
+ metaverseEnvironment: 'apartment',
158
+ blockedUntil: null,
159
+ creationTimestamp: '2022-06-13T14:21:55.793034Z',
160
+ lastChangeTimestamp: '2023-04-15T08:15:36.403546Z',
161
+ },
162
+ integration: {
163
+ integrationID: '62de8c99-0ac2-4cbe-bd95-a39ad7dc6b32',
164
+ memoriID: '6573844d-a7cd-47ef-9e78-840d82020c21',
165
+ type: 'LANDING_EXPERIENCE',
166
+ state: 'NEW',
167
+ deviceEmails: null,
168
+ invocationText: null,
169
+ jobID: null,
170
+ publish: true,
171
+ creationTimestamp: '2022-06-13T14:44:52.833573Z',
172
+ lastChangeTimestamp: '2022-06-13T14:44:52.833573Z',
173
+ customData: JSON.stringify({
174
+ ...JSON.parse(
175
+ '{"textColor":"#000000","buttonBgColor":"#007eb6","buttonTextColor":"#ffffff","globalBackground":"https://assets.memori.ai/api/v2/asset/cade3b9c-0437-4342-b2bd-8db9c2a3a20e.png","blurBackground":true,"innerBgColor":"light","multilanguage":true,"avatar":"readyplayerme","avatarURL":"https://assets.memori.ai/api/v2/asset/893c41df-7619-436d-9e86-fe1d406fc933.glb#1681736752156","name":"Pagina pubblica","contextVars":"ANIMALE:CANE","personTag":"☠️","personPIN":"666666","personName":"Pirata","showShare":true,"avatarFullBodyURL":"https://models.readyplayer.me/63b55751f17e295642bf07a2.glb"}'
176
+ ),
177
+ avatar: 'readyplayerme-full',
178
+ avatarURL:
179
+ 'https://models.readyplayer.me/63b55751f17e295642bf07a2.glb#' +
180
+ // 'https://models.readyplayer.me/63b558263858282637c54115.glb#' +
181
+ new Date(Date.now()).getTime(),
182
+ }),
183
+ },
184
+ layout: 'CHAT',
185
+ };
186
+
77
187
  export const Totem = Template.bind({});
78
188
  Totem.args = {
79
189
  uiLang: 'it',
package/src/styles.css CHANGED
@@ -41,6 +41,7 @@
41
41
  @import url('https://fonts.bunny.net/css?family=exo-2:200,400,700');
42
42
 
43
43
  @import url('./components/layouts/totem.css');
44
+ @import url('./components/layouts/chat.css');
44
45
 
45
46
  .sr-only {
46
47
  position: absolute;