@memori.ai/memori-react 8.15.1 → 8.16.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.
- package/CHANGELOG.md +26 -0
- package/dist/components/Chat/Chat.css +2 -1
- package/dist/components/Chat/Chat.js +17 -17
- package/dist/components/Chat/Chat.js.map +1 -1
- package/dist/components/ChatBubble/ChatBubble.css +1 -1
- package/dist/components/ContentPreviewModal/ContentPreviewModal.css +114 -0
- package/dist/components/ContentPreviewModal/ContentPreviewModal.d.ts +14 -0
- package/dist/components/ContentPreviewModal/ContentPreviewModal.js +18 -0
- package/dist/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -0
- package/dist/components/ContentPreviewModal/index.d.ts +2 -0
- package/dist/components/ContentPreviewModal/index.js +9 -0
- package/dist/components/ContentPreviewModal/index.js.map +1 -0
- package/dist/components/FilePreview/FilePreview.css +1 -1
- package/dist/components/FilePreview/FilePreview.js +43 -13
- package/dist/components/FilePreview/FilePreview.js.map +1 -1
- package/dist/components/MediaWidget/DocumentCard.d.ts +3 -0
- package/dist/components/MediaWidget/DocumentCard.js +9 -0
- package/dist/components/MediaWidget/DocumentCard.js.map +1 -0
- package/dist/components/MediaWidget/MediaItemWidget.css +946 -19
- package/dist/components/MediaWidget/MediaItemWidget.d.ts +5 -36
- package/dist/components/MediaWidget/MediaItemWidget.js +295 -198
- package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
- package/dist/components/MediaWidget/MediaItemWidget.types.d.ts +62 -0
- package/dist/components/MediaWidget/MediaItemWidget.types.js +3 -0
- package/dist/components/MediaWidget/MediaItemWidget.types.js.map +1 -0
- package/dist/components/MediaWidget/MediaItemWidget.utils.d.ts +23 -0
- package/dist/components/MediaWidget/MediaItemWidget.utils.js +162 -0
- package/dist/components/MediaWidget/MediaItemWidget.utils.js.map +1 -0
- package/dist/components/MediaWidget/MediaPreviewModal.d.ts +15 -0
- package/dist/components/MediaWidget/MediaPreviewModal.js +162 -0
- package/dist/components/MediaWidget/MediaPreviewModal.js.map +1 -0
- package/dist/components/MediaWidget/MediaWidget.js +1 -2
- package/dist/components/MediaWidget/MediaWidget.js.map +1 -1
- package/dist/components/Snippet/Snippet.css +64 -33
- package/dist/components/Snippet/Snippet.js +17 -4
- package/dist/components/Snippet/Snippet.js.map +1 -1
- package/dist/components/StartPanel/StartPanel.js +1 -2
- package/dist/components/StartPanel/StartPanel.js.map +1 -1
- package/dist/components/UploadButton/UploadButton.css +0 -5
- package/dist/components/layouts/WebsiteAssistant.js +8 -8
- package/dist/components/layouts/WebsiteAssistant.js.map +1 -1
- package/dist/components/layouts/chat.css +1 -1
- package/dist/components/layouts/website-assistant.css +405 -197
- package/dist/helpers/constants.js +0 -7
- package/dist/helpers/constants.js.map +1 -1
- package/dist/helpers/utils.d.ts +1 -0
- package/dist/helpers/utils.js +3 -1
- package/dist/helpers/utils.js.map +1 -1
- package/dist/index.js +43 -1
- package/dist/index.js.map +1 -1
- package/dist/styles.css +0 -2
- package/dist/version.d.ts +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/esm/components/Chat/Chat.css +2 -1
- package/esm/components/Chat/Chat.js +17 -17
- package/esm/components/Chat/Chat.js.map +1 -1
- package/esm/components/ChatBubble/ChatBubble.css +1 -1
- package/esm/components/ContentPreviewModal/ContentPreviewModal.css +114 -0
- package/esm/components/ContentPreviewModal/ContentPreviewModal.d.ts +14 -0
- package/esm/components/ContentPreviewModal/ContentPreviewModal.js +15 -0
- package/esm/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -0
- package/esm/components/ContentPreviewModal/index.d.ts +2 -0
- package/esm/components/ContentPreviewModal/index.js +2 -0
- package/esm/components/ContentPreviewModal/index.js.map +1 -0
- package/esm/components/FilePreview/FilePreview.css +1 -1
- package/esm/components/FilePreview/FilePreview.js +44 -14
- package/esm/components/FilePreview/FilePreview.js.map +1 -1
- package/esm/components/MediaWidget/DocumentCard.d.ts +3 -0
- package/esm/components/MediaWidget/DocumentCard.js +5 -0
- package/esm/components/MediaWidget/DocumentCard.js.map +1 -0
- package/esm/components/MediaWidget/MediaItemWidget.css +946 -19
- package/esm/components/MediaWidget/MediaItemWidget.d.ts +5 -36
- package/esm/components/MediaWidget/MediaItemWidget.js +296 -197
- package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
- package/esm/components/MediaWidget/MediaItemWidget.types.d.ts +62 -0
- package/esm/components/MediaWidget/MediaItemWidget.types.js +2 -0
- package/esm/components/MediaWidget/MediaItemWidget.types.js.map +1 -0
- package/esm/components/MediaWidget/MediaItemWidget.utils.d.ts +23 -0
- package/esm/components/MediaWidget/MediaItemWidget.utils.js +149 -0
- package/esm/components/MediaWidget/MediaItemWidget.utils.js.map +1 -0
- package/esm/components/MediaWidget/MediaPreviewModal.d.ts +15 -0
- package/esm/components/MediaWidget/MediaPreviewModal.js +157 -0
- package/esm/components/MediaWidget/MediaPreviewModal.js.map +1 -0
- package/esm/components/MediaWidget/MediaWidget.js +1 -2
- package/esm/components/MediaWidget/MediaWidget.js.map +1 -1
- package/esm/components/Snippet/Snippet.css +64 -33
- package/esm/components/Snippet/Snippet.js +18 -5
- package/esm/components/Snippet/Snippet.js.map +1 -1
- package/esm/components/StartPanel/StartPanel.js +1 -2
- package/esm/components/StartPanel/StartPanel.js.map +1 -1
- package/esm/components/UploadButton/UploadButton.css +0 -5
- package/esm/components/layouts/WebsiteAssistant.js +8 -8
- package/esm/components/layouts/WebsiteAssistant.js.map +1 -1
- package/esm/components/layouts/chat.css +1 -1
- package/esm/components/layouts/website-assistant.css +405 -197
- package/esm/helpers/constants.js +0 -7
- package/esm/helpers/constants.js.map +1 -1
- package/esm/helpers/utils.d.ts +1 -0
- package/esm/helpers/utils.js +1 -0
- package/esm/helpers/utils.js.map +1 -1
- package/esm/index.js +43 -1
- package/esm/index.js.map +1 -1
- package/esm/styles.css +0 -2
- package/esm/version.d.ts +1 -0
- package/esm/version.js +2 -0
- package/esm/version.js.map +1 -0
- package/package.json +5 -3
- package/src/components/Chat/Chat.css +2 -1
- package/src/components/Chat/Chat.stories.tsx +124 -0
- package/src/components/Chat/Chat.tsx +72 -71
- package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +567 -1034
- package/src/components/ChatBubble/ChatBubble.css +1 -1
- package/src/components/ContentPreviewModal/ContentPreviewModal.css +114 -0
- package/src/components/ContentPreviewModal/ContentPreviewModal.tsx +69 -0
- package/src/components/ContentPreviewModal/index.ts +2 -0
- package/src/components/FilePreview/FilePreview.css +1 -1
- package/src/components/FilePreview/FilePreview.tsx +60 -37
- package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +15 -105
- package/src/components/MediaWidget/DocumentCard.test.tsx +45 -0
- package/src/components/MediaWidget/DocumentCard.tsx +19 -0
- package/src/components/MediaWidget/MediaItemWidget.css +946 -19
- package/src/components/MediaWidget/MediaItemWidget.test.tsx +89 -1
- package/src/components/MediaWidget/MediaItemWidget.tsx +734 -461
- package/src/components/MediaWidget/MediaItemWidget.types.ts +65 -0
- package/src/components/MediaWidget/MediaItemWidget.utils.test.ts +324 -0
- package/src/components/MediaWidget/MediaItemWidget.utils.ts +194 -0
- package/src/components/MediaWidget/MediaPreviewModal.test.tsx +271 -0
- package/src/components/MediaWidget/MediaPreviewModal.tsx +423 -0
- package/src/components/MediaWidget/MediaWidget.stories.tsx +193 -0
- package/src/components/MediaWidget/MediaWidget.tsx +2 -4
- package/src/components/MediaWidget/__snapshots__/DocumentCard.test.tsx.snap +24 -0
- package/src/components/MediaWidget/__snapshots__/MediaItemWidget.test.tsx.snap +162 -170
- package/src/components/MediaWidget/__snapshots__/MediaWidget.test.tsx.snap +21 -63
- package/src/components/Snippet/Snippet.css +64 -33
- package/src/components/Snippet/Snippet.tsx +30 -21
- package/src/components/Snippet/__snapshots__/Snippet.test.tsx.snap +314 -297
- package/src/components/StartPanel/StartPanel.tsx +0 -9
- package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +12 -636
- package/src/components/UploadButton/UploadButton.css +0 -5
- package/src/components/layouts/WebsiteAssistant.tsx +66 -62
- package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +1 -53
- package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +2 -106
- package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +1 -53
- package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +1 -53
- package/src/components/layouts/__snapshots__/WebsiteAssistant.test.tsx.snap +32 -33
- package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +1 -53
- package/src/components/layouts/chat.css +1 -1
- package/src/components/layouts/layouts.stories.tsx +68 -0
- package/src/components/layouts/website-assistant.css +405 -197
- package/src/helpers/constants.ts +0 -7
- package/src/helpers/utils.ts +4 -0
- package/src/index.test.tsx +8 -0
- package/src/index.tsx +51 -1
- package/src/styles.css +0 -2
- package/src/version.ts +2 -0
- package/src/components/AttachmentLinkModal/AttachmentLinkModal.css +0 -68
- package/src/components/AttachmentLinkModal/AttachmentLinkModal.stories.tsx +0 -32
- package/src/components/AttachmentLinkModal/AttachmentLinkModal.test.tsx +0 -10
- package/src/components/AttachmentLinkModal/AttachmentLinkModal.tsx +0 -131
- package/src/components/AttachmentLinkModal/__snapshots__/AttachmentLinkModal.test.tsx.snap +0 -9
- package/src/components/MediaWidget/LinkItemWidget.css +0 -46
- package/src/components/MediaWidget/LinkItemWidget.stories.tsx +0 -61
- package/src/components/MediaWidget/LinkItemWidget.test.tsx +0 -33
- package/src/components/MediaWidget/LinkItemWidget.tsx +0 -204
- package/src/components/MediaWidget/__snapshots__/LinkItemWidget.test.tsx.snap +0 -253
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import { Medium } from '@memori.ai/memori-api-client/dist/types';
|
|
2
|
-
import React, { useState, useEffect } from 'react';
|
|
3
|
-
import Link from '../icons/Link';
|
|
4
|
-
import cx from 'classnames';
|
|
5
|
-
import { ellipsis } from 'ellipsed';
|
|
6
|
-
import Card from '../ui/Card';
|
|
7
|
-
import { Transition } from '@headlessui/react';
|
|
8
|
-
|
|
9
|
-
export declare type ILinkPreviewInfo = {
|
|
10
|
-
title?: string | undefined;
|
|
11
|
-
siteName?: string | undefined;
|
|
12
|
-
description?: string | undefined;
|
|
13
|
-
mediaType?: string | undefined;
|
|
14
|
-
image?: string | undefined;
|
|
15
|
-
imageWidth?: number | undefined;
|
|
16
|
-
imageHeight?: number | undefined;
|
|
17
|
-
favicon?: string | undefined;
|
|
18
|
-
images?: string[] | undefined;
|
|
19
|
-
video?: string | undefined;
|
|
20
|
-
videos?: string[] | undefined;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export interface Props {
|
|
24
|
-
isChild?: boolean;
|
|
25
|
-
items: Medium[];
|
|
26
|
-
baseUrl?: string;
|
|
27
|
-
descriptionOneLine?: boolean;
|
|
28
|
-
onLinkPreviewInfo?: (linkPreviewInfo: ILinkPreviewInfo) => void;
|
|
29
|
-
fromUser?: boolean;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const getSiteInfo = async (url: string, baseUrl?: string) => {
|
|
33
|
-
try {
|
|
34
|
-
const data = await fetch(
|
|
35
|
-
`${baseUrl || 'https://aisuru.com'}/api/linkpreview/${encodeURIComponent(
|
|
36
|
-
url
|
|
37
|
-
)}`
|
|
38
|
-
);
|
|
39
|
-
const siteInfo: ILinkPreviewInfo = await data.json();
|
|
40
|
-
return siteInfo;
|
|
41
|
-
} catch (err) {
|
|
42
|
-
console.error('getSiteInfo', err);
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export const RenderLinkItem = ({
|
|
48
|
-
isChild = false,
|
|
49
|
-
item,
|
|
50
|
-
baseUrl,
|
|
51
|
-
onLinkPreviewInfo,
|
|
52
|
-
descriptionOneLine = false,
|
|
53
|
-
}: Omit<Props, 'items'> & {
|
|
54
|
-
item: Medium;
|
|
55
|
-
}) => {
|
|
56
|
-
const [link, setLink] = useState<
|
|
57
|
-
(ILinkPreviewInfo & { urlKey: string }) | null
|
|
58
|
-
>(null);
|
|
59
|
-
const normURL =
|
|
60
|
-
item.url?.startsWith('http') || !item.url || item.url?.length === 0
|
|
61
|
-
? item.url
|
|
62
|
-
: `https://${item.url}`;
|
|
63
|
-
|
|
64
|
-
useEffect(() => {
|
|
65
|
-
let normURL =
|
|
66
|
-
item.url?.startsWith('http') || !item.url || item.url?.length === 0
|
|
67
|
-
? item.url
|
|
68
|
-
: `https://${item.url}`;
|
|
69
|
-
if (normURL && normURL !== link?.urlKey) {
|
|
70
|
-
getSiteInfo(normURL, baseUrl).then(siteInfo => {
|
|
71
|
-
setLink(
|
|
72
|
-
siteInfo
|
|
73
|
-
? ({ ...siteInfo, urlKey: normURL } as ILinkPreviewInfo & {
|
|
74
|
-
urlKey: string;
|
|
75
|
-
})
|
|
76
|
-
: null
|
|
77
|
-
);
|
|
78
|
-
|
|
79
|
-
if (onLinkPreviewInfo && siteInfo) onLinkPreviewInfo(siteInfo);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
83
|
-
}, [item?.url, baseUrl, onLinkPreviewInfo]);
|
|
84
|
-
|
|
85
|
-
const title = item.title && item.title.length > 0 ? item.title : link?.title;
|
|
86
|
-
const description = link?.description;
|
|
87
|
-
const video = link?.video;
|
|
88
|
-
const image = link?.image ?? link?.images?.[0];
|
|
89
|
-
|
|
90
|
-
useEffect(() => {
|
|
91
|
-
setTimeout(() => {
|
|
92
|
-
ellipsis('.memori-link-item--card .memori-card--description', 3, {
|
|
93
|
-
responsive: true,
|
|
94
|
-
});
|
|
95
|
-
}, 300);
|
|
96
|
-
}, [description, item.mediumID]);
|
|
97
|
-
|
|
98
|
-
return (
|
|
99
|
-
<a
|
|
100
|
-
href={normURL}
|
|
101
|
-
target="_blank"
|
|
102
|
-
rel="noopener noreferrer"
|
|
103
|
-
className={cx('memori-link-item--link', {
|
|
104
|
-
'memori-link-item--link--child': isChild,
|
|
105
|
-
})}
|
|
106
|
-
onClick={e => {
|
|
107
|
-
if (!isChild) {
|
|
108
|
-
e.preventDefault();
|
|
109
|
-
e.stopPropagation();
|
|
110
|
-
window.open(
|
|
111
|
-
normURL,
|
|
112
|
-
'_blank',
|
|
113
|
-
`toolbar=yes,top=${window.innerHeight * 0.1},left=${
|
|
114
|
-
window.innerWidth * 0.1
|
|
115
|
-
},width=${window.innerWidth * 0.8},height=${
|
|
116
|
-
window.innerHeight * 0.8
|
|
117
|
-
}`
|
|
118
|
-
);
|
|
119
|
-
}
|
|
120
|
-
}}
|
|
121
|
-
>
|
|
122
|
-
<Card
|
|
123
|
-
hoverable
|
|
124
|
-
className={cx('memori-link-item--card', {
|
|
125
|
-
'memori-link-item--card-description-oneline': descriptionOneLine,
|
|
126
|
-
'memori-link-item--card-has-image': image,
|
|
127
|
-
'memori-link-item--card-has-video': video,
|
|
128
|
-
})}
|
|
129
|
-
cover={
|
|
130
|
-
video ? (
|
|
131
|
-
<iframe
|
|
132
|
-
width="100%"
|
|
133
|
-
height="100%"
|
|
134
|
-
src={video}
|
|
135
|
-
title="Video player"
|
|
136
|
-
frameBorder="0"
|
|
137
|
-
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
|
138
|
-
allowFullScreen
|
|
139
|
-
/>
|
|
140
|
-
) : image ? (
|
|
141
|
-
<img
|
|
142
|
-
className="memori-link-item--card-cover-img"
|
|
143
|
-
src="data:image/png;base64,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"
|
|
144
|
-
srcSet={
|
|
145
|
-
image.includes('data:image')
|
|
146
|
-
? undefined
|
|
147
|
-
: image.startsWith('https')
|
|
148
|
-
? image
|
|
149
|
-
: `https://${image.replace('http://', '')}`
|
|
150
|
-
}
|
|
151
|
-
alt={item.title}
|
|
152
|
-
/>
|
|
153
|
-
) : (
|
|
154
|
-
<div className="memori-link-item--card-cover-icon">
|
|
155
|
-
<Link className="memori-link-item--icon" />
|
|
156
|
-
</div>
|
|
157
|
-
)
|
|
158
|
-
}
|
|
159
|
-
title={title}
|
|
160
|
-
description={description}
|
|
161
|
-
/>
|
|
162
|
-
</a>
|
|
163
|
-
);
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
const LinkItemWidget: React.FC<Props> = ({
|
|
167
|
-
items,
|
|
168
|
-
baseUrl,
|
|
169
|
-
descriptionOneLine = false,
|
|
170
|
-
onLinkPreviewInfo,
|
|
171
|
-
fromUser = false,
|
|
172
|
-
}: Props) => {
|
|
173
|
-
return (
|
|
174
|
-
<Transition appear show as="div" className="memori-link-items">
|
|
175
|
-
<div className={cx('memori-link-items--grid memori-chat-scroll-item', {
|
|
176
|
-
'memori-link-items--user': fromUser,
|
|
177
|
-
'memori-link-items--agent': !fromUser,
|
|
178
|
-
})}>
|
|
179
|
-
{items.map((item, index) => (
|
|
180
|
-
<Transition.Child
|
|
181
|
-
as="div"
|
|
182
|
-
className="memori-link-item"
|
|
183
|
-
key={item.mediumID}
|
|
184
|
-
enter={`ease-out duration-500 delay-${index * 100}`}
|
|
185
|
-
enterFrom="opacity-0 scale-95"
|
|
186
|
-
enterTo="opacity-1 scale-100"
|
|
187
|
-
leave="ease-in duration-300"
|
|
188
|
-
leaveFrom="opacity-1 scale-100"
|
|
189
|
-
leaveTo="opacity-0 scale-95"
|
|
190
|
-
>
|
|
191
|
-
<RenderLinkItem
|
|
192
|
-
item={item}
|
|
193
|
-
baseUrl={baseUrl}
|
|
194
|
-
descriptionOneLine={descriptionOneLine}
|
|
195
|
-
onLinkPreviewInfo={onLinkPreviewInfo}
|
|
196
|
-
/>
|
|
197
|
-
</Transition.Child>
|
|
198
|
-
))}
|
|
199
|
-
</div>
|
|
200
|
-
</Transition>
|
|
201
|
-
);
|
|
202
|
-
};
|
|
203
|
-
|
|
204
|
-
export default LinkItemWidget;
|
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
-
|
|
3
|
-
exports[`renders LinkItemWidget unchanged 1`] = `
|
|
4
|
-
<div>
|
|
5
|
-
<div
|
|
6
|
-
class="memori-link-items"
|
|
7
|
-
>
|
|
8
|
-
<div
|
|
9
|
-
class="memori-link-items--grid memori-chat-scroll-item memori-link-items--agent"
|
|
10
|
-
>
|
|
11
|
-
<div
|
|
12
|
-
class="memori-link-item ease-out duration-500 delay-0 opacity-0 scale-95"
|
|
13
|
-
>
|
|
14
|
-
<a
|
|
15
|
-
class="memori-link-item--link"
|
|
16
|
-
href="https://memori.ai/en"
|
|
17
|
-
rel="noopener noreferrer"
|
|
18
|
-
target="_blank"
|
|
19
|
-
>
|
|
20
|
-
<div
|
|
21
|
-
class="memori-card memori-link-item--card memori-card--with-cover memori-card--hoverable"
|
|
22
|
-
>
|
|
23
|
-
<div
|
|
24
|
-
class="memori-spin"
|
|
25
|
-
>
|
|
26
|
-
<div
|
|
27
|
-
class="memori-card--cover"
|
|
28
|
-
>
|
|
29
|
-
<div
|
|
30
|
-
class="memori-link-item--card-cover-icon"
|
|
31
|
-
>
|
|
32
|
-
<svg
|
|
33
|
-
aria-hidden="true"
|
|
34
|
-
class="memori-link-item--icon"
|
|
35
|
-
focusable="false"
|
|
36
|
-
role="img"
|
|
37
|
-
viewBox="0 0 1024 1024"
|
|
38
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
39
|
-
>
|
|
40
|
-
<path
|
|
41
|
-
d="M574 665.4a8.03 8.03 0 0 0-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 0 0-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 0 0 0 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 0 0 0 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 0 0-11.3 0L372.3 598.7a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"
|
|
42
|
-
/>
|
|
43
|
-
</svg>
|
|
44
|
-
</div>
|
|
45
|
-
</div>
|
|
46
|
-
<div
|
|
47
|
-
class="memori-card--content"
|
|
48
|
-
>
|
|
49
|
-
<h3
|
|
50
|
-
class="memori-card--title"
|
|
51
|
-
>
|
|
52
|
-
Memori Srl
|
|
53
|
-
</h3>
|
|
54
|
-
<div
|
|
55
|
-
class="memori-card--children"
|
|
56
|
-
/>
|
|
57
|
-
</div>
|
|
58
|
-
<div
|
|
59
|
-
class="memori-spin--spinner"
|
|
60
|
-
>
|
|
61
|
-
<svg
|
|
62
|
-
aria-hidden="true"
|
|
63
|
-
class="memori-loading-icon"
|
|
64
|
-
focusable="false"
|
|
65
|
-
role="img"
|
|
66
|
-
viewBox="0 0 1024 1024"
|
|
67
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
68
|
-
>
|
|
69
|
-
<path
|
|
70
|
-
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"
|
|
71
|
-
/>
|
|
72
|
-
</svg>
|
|
73
|
-
</div>
|
|
74
|
-
</div>
|
|
75
|
-
</div>
|
|
76
|
-
</a>
|
|
77
|
-
</div>
|
|
78
|
-
</div>
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
81
|
-
`;
|
|
82
|
-
|
|
83
|
-
exports[`renders LinkItemWidget unchanged with baseUrl 1`] = `
|
|
84
|
-
<div>
|
|
85
|
-
<div
|
|
86
|
-
class="memori-link-items"
|
|
87
|
-
>
|
|
88
|
-
<div
|
|
89
|
-
class="memori-link-items--grid memori-chat-scroll-item memori-link-items--agent"
|
|
90
|
-
>
|
|
91
|
-
<div
|
|
92
|
-
class="memori-link-item ease-out duration-500 delay-0 opacity-0 scale-95"
|
|
93
|
-
>
|
|
94
|
-
<a
|
|
95
|
-
class="memori-link-item--link"
|
|
96
|
-
href="https://memori.ai/en"
|
|
97
|
-
rel="noopener noreferrer"
|
|
98
|
-
target="_blank"
|
|
99
|
-
>
|
|
100
|
-
<div
|
|
101
|
-
class="memori-card memori-link-item--card memori-card--with-cover memori-card--hoverable"
|
|
102
|
-
>
|
|
103
|
-
<div
|
|
104
|
-
class="memori-spin"
|
|
105
|
-
>
|
|
106
|
-
<div
|
|
107
|
-
class="memori-card--cover"
|
|
108
|
-
>
|
|
109
|
-
<div
|
|
110
|
-
class="memori-link-item--card-cover-icon"
|
|
111
|
-
>
|
|
112
|
-
<svg
|
|
113
|
-
aria-hidden="true"
|
|
114
|
-
class="memori-link-item--icon"
|
|
115
|
-
focusable="false"
|
|
116
|
-
role="img"
|
|
117
|
-
viewBox="0 0 1024 1024"
|
|
118
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
119
|
-
>
|
|
120
|
-
<path
|
|
121
|
-
d="M574 665.4a8.03 8.03 0 0 0-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 0 0-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 0 0 0 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 0 0 0 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 0 0-11.3 0L372.3 598.7a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"
|
|
122
|
-
/>
|
|
123
|
-
</svg>
|
|
124
|
-
</div>
|
|
125
|
-
</div>
|
|
126
|
-
<div
|
|
127
|
-
class="memori-card--content"
|
|
128
|
-
>
|
|
129
|
-
<h3
|
|
130
|
-
class="memori-card--title"
|
|
131
|
-
>
|
|
132
|
-
Memori Srl
|
|
133
|
-
</h3>
|
|
134
|
-
<div
|
|
135
|
-
class="memori-card--children"
|
|
136
|
-
/>
|
|
137
|
-
</div>
|
|
138
|
-
<div
|
|
139
|
-
class="memori-spin--spinner"
|
|
140
|
-
>
|
|
141
|
-
<svg
|
|
142
|
-
aria-hidden="true"
|
|
143
|
-
class="memori-loading-icon"
|
|
144
|
-
focusable="false"
|
|
145
|
-
role="img"
|
|
146
|
-
viewBox="0 0 1024 1024"
|
|
147
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
148
|
-
>
|
|
149
|
-
<path
|
|
150
|
-
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"
|
|
151
|
-
/>
|
|
152
|
-
</svg>
|
|
153
|
-
</div>
|
|
154
|
-
</div>
|
|
155
|
-
</div>
|
|
156
|
-
</a>
|
|
157
|
-
</div>
|
|
158
|
-
</div>
|
|
159
|
-
</div>
|
|
160
|
-
</div>
|
|
161
|
-
`;
|
|
162
|
-
|
|
163
|
-
exports[`renders LinkItemWidget unchanged with description oneline 1`] = `
|
|
164
|
-
<div>
|
|
165
|
-
<div
|
|
166
|
-
class="memori-link-items"
|
|
167
|
-
>
|
|
168
|
-
<div
|
|
169
|
-
class="memori-link-items--grid memori-chat-scroll-item memori-link-items--agent"
|
|
170
|
-
>
|
|
171
|
-
<div
|
|
172
|
-
class="memori-link-item ease-out duration-500 delay-0 opacity-0 scale-95"
|
|
173
|
-
>
|
|
174
|
-
<a
|
|
175
|
-
class="memori-link-item--link"
|
|
176
|
-
href="https://memori.ai/en"
|
|
177
|
-
rel="noopener noreferrer"
|
|
178
|
-
target="_blank"
|
|
179
|
-
>
|
|
180
|
-
<div
|
|
181
|
-
class="memori-card memori-link-item--card memori-link-item--card-description-oneline memori-card--with-cover memori-card--hoverable"
|
|
182
|
-
>
|
|
183
|
-
<div
|
|
184
|
-
class="memori-spin"
|
|
185
|
-
>
|
|
186
|
-
<div
|
|
187
|
-
class="memori-card--cover"
|
|
188
|
-
>
|
|
189
|
-
<div
|
|
190
|
-
class="memori-link-item--card-cover-icon"
|
|
191
|
-
>
|
|
192
|
-
<svg
|
|
193
|
-
aria-hidden="true"
|
|
194
|
-
class="memori-link-item--icon"
|
|
195
|
-
focusable="false"
|
|
196
|
-
role="img"
|
|
197
|
-
viewBox="0 0 1024 1024"
|
|
198
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
199
|
-
>
|
|
200
|
-
<path
|
|
201
|
-
d="M574 665.4a8.03 8.03 0 0 0-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 0 0-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 0 0 0 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 0 0 0 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 0 0-11.3 0L372.3 598.7a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"
|
|
202
|
-
/>
|
|
203
|
-
</svg>
|
|
204
|
-
</div>
|
|
205
|
-
</div>
|
|
206
|
-
<div
|
|
207
|
-
class="memori-card--content"
|
|
208
|
-
>
|
|
209
|
-
<h3
|
|
210
|
-
class="memori-card--title"
|
|
211
|
-
>
|
|
212
|
-
Memori Srl
|
|
213
|
-
</h3>
|
|
214
|
-
<div
|
|
215
|
-
class="memori-card--children"
|
|
216
|
-
/>
|
|
217
|
-
</div>
|
|
218
|
-
<div
|
|
219
|
-
class="memori-spin--spinner"
|
|
220
|
-
>
|
|
221
|
-
<svg
|
|
222
|
-
aria-hidden="true"
|
|
223
|
-
class="memori-loading-icon"
|
|
224
|
-
focusable="false"
|
|
225
|
-
role="img"
|
|
226
|
-
viewBox="0 0 1024 1024"
|
|
227
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
228
|
-
>
|
|
229
|
-
<path
|
|
230
|
-
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"
|
|
231
|
-
/>
|
|
232
|
-
</svg>
|
|
233
|
-
</div>
|
|
234
|
-
</div>
|
|
235
|
-
</div>
|
|
236
|
-
</a>
|
|
237
|
-
</div>
|
|
238
|
-
</div>
|
|
239
|
-
</div>
|
|
240
|
-
</div>
|
|
241
|
-
`;
|
|
242
|
-
|
|
243
|
-
exports[`renders LinkItemWidget unchanged with no media 1`] = `
|
|
244
|
-
<div>
|
|
245
|
-
<div
|
|
246
|
-
class="memori-link-items"
|
|
247
|
-
>
|
|
248
|
-
<div
|
|
249
|
-
class="memori-link-items--grid memori-chat-scroll-item memori-link-items--agent"
|
|
250
|
-
/>
|
|
251
|
-
</div>
|
|
252
|
-
</div>
|
|
253
|
-
`;
|