@memori.ai/memori-react 7.25.1 → 7.26.1

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 (163) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/components/Chat/Chat.d.ts +5 -10
  3. package/dist/components/Chat/Chat.js +3 -3
  4. package/dist/components/Chat/Chat.js.map +1 -1
  5. package/dist/components/ChatBubble/ChatBubble.css +10 -0
  6. package/dist/components/ChatBubble/ChatBubble.d.ts +1 -0
  7. package/dist/components/ChatBubble/ChatBubble.js +24 -20
  8. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  9. package/dist/components/ChatBubble/VirtualizedContent/VirtualizedContent.d.ts +7 -0
  10. package/dist/components/ChatBubble/VirtualizedContent/VirtualizedContent.js +69 -0
  11. package/dist/components/ChatBubble/VirtualizedContent/VirtualizedContent.js.map +1 -0
  12. package/dist/components/ChatInputs/ChatInputs.d.ts +6 -10
  13. package/dist/components/ChatInputs/ChatInputs.js +37 -30
  14. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  15. package/dist/components/FilePreview/FilePreview.css +169 -140
  16. package/dist/components/FilePreview/FilePreview.d.ts +2 -6
  17. package/dist/components/FilePreview/FilePreview.js +58 -5
  18. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  19. package/dist/components/MediaWidget/LinkItemWidget.css +1 -0
  20. package/dist/components/MediaWidget/MediaItemWidget.css +10 -0
  21. package/dist/components/MediaWidget/MediaItemWidget.d.ts +6 -2
  22. package/dist/components/MediaWidget/MediaItemWidget.js +49 -11
  23. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  24. package/dist/components/MediaWidget/MediaWidget.d.ts +3 -1
  25. package/dist/components/MemoriWidget/MemoriWidget.d.ts +2 -1
  26. package/dist/components/MemoriWidget/MemoriWidget.js +10 -18
  27. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  28. package/dist/components/UploadButton/UploadButton.css +506 -27
  29. package/dist/components/UploadButton/UploadButton.d.ts +14 -11
  30. package/dist/components/UploadButton/UploadButton.js +121 -288
  31. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  32. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +19 -0
  33. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +211 -0
  34. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -0
  35. package/dist/components/UploadButton/UploadImages/UploadImages.d.ts +13 -0
  36. package/dist/components/UploadButton/UploadImages/UploadImages.js +198 -0
  37. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -0
  38. package/dist/components/icons/Bug.d.ts +5 -0
  39. package/dist/components/icons/Bug.js +6 -0
  40. package/dist/components/icons/Bug.js.map +1 -0
  41. package/dist/components/icons/Document.d.ts +5 -0
  42. package/dist/components/icons/Document.js +10 -0
  43. package/dist/components/icons/Document.js.map +1 -0
  44. package/dist/components/icons/Image.d.ts +4 -0
  45. package/dist/components/icons/Image.js +9 -0
  46. package/dist/components/icons/Image.js.map +1 -0
  47. package/dist/components/icons/Preview.d.ts +4 -5
  48. package/dist/components/icons/Preview.js +5 -2
  49. package/dist/components/icons/Preview.js.map +1 -1
  50. package/dist/components/icons/Upload.d.ts +4 -5
  51. package/dist/components/icons/Upload.js +5 -2
  52. package/dist/components/icons/Upload.js.map +1 -1
  53. package/dist/components/layouts/HiddenChat.js +100 -10
  54. package/dist/components/layouts/HiddenChat.js.map +1 -1
  55. package/dist/components/layouts/hidden-chat.css +189 -119
  56. package/dist/components/ui/Card.d.ts +1 -0
  57. package/dist/components/ui/Card.js +2 -2
  58. package/dist/components/ui/Card.js.map +1 -1
  59. package/dist/locales/de.json +16 -0
  60. package/dist/locales/en.json +24 -0
  61. package/dist/locales/es.json +16 -0
  62. package/dist/locales/fr.json +16 -0
  63. package/dist/locales/it.json +22 -0
  64. package/esm/components/Chat/Chat.d.ts +5 -10
  65. package/esm/components/Chat/Chat.js +3 -3
  66. package/esm/components/Chat/Chat.js.map +1 -1
  67. package/esm/components/ChatBubble/ChatBubble.css +10 -0
  68. package/esm/components/ChatBubble/ChatBubble.d.ts +1 -0
  69. package/esm/components/ChatBubble/ChatBubble.js +24 -20
  70. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  71. package/esm/components/ChatBubble/VirtualizedContent/VirtualizedContent.d.ts +7 -0
  72. package/esm/components/ChatBubble/VirtualizedContent/VirtualizedContent.js +67 -0
  73. package/esm/components/ChatBubble/VirtualizedContent/VirtualizedContent.js.map +1 -0
  74. package/esm/components/ChatInputs/ChatInputs.d.ts +6 -10
  75. package/esm/components/ChatInputs/ChatInputs.js +37 -30
  76. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  77. package/esm/components/FilePreview/FilePreview.css +169 -140
  78. package/esm/components/FilePreview/FilePreview.d.ts +2 -6
  79. package/esm/components/FilePreview/FilePreview.js +58 -5
  80. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  81. package/esm/components/MediaWidget/LinkItemWidget.css +1 -0
  82. package/esm/components/MediaWidget/MediaItemWidget.css +10 -0
  83. package/esm/components/MediaWidget/MediaItemWidget.d.ts +6 -2
  84. package/esm/components/MediaWidget/MediaItemWidget.js +50 -12
  85. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  86. package/esm/components/MediaWidget/MediaWidget.d.ts +3 -1
  87. package/esm/components/MemoriWidget/MemoriWidget.d.ts +2 -1
  88. package/esm/components/MemoriWidget/MemoriWidget.js +10 -18
  89. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  90. package/esm/components/UploadButton/UploadButton.css +506 -27
  91. package/esm/components/UploadButton/UploadButton.d.ts +14 -11
  92. package/esm/components/UploadButton/UploadButton.js +122 -289
  93. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  94. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +19 -0
  95. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +208 -0
  96. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -0
  97. package/esm/components/UploadButton/UploadImages/UploadImages.d.ts +13 -0
  98. package/esm/components/UploadButton/UploadImages/UploadImages.js +195 -0
  99. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -0
  100. package/esm/components/icons/Bug.d.ts +5 -0
  101. package/esm/components/icons/Bug.js +4 -0
  102. package/esm/components/icons/Bug.js.map +1 -0
  103. package/esm/components/icons/Document.d.ts +5 -0
  104. package/esm/components/icons/Document.js +6 -0
  105. package/esm/components/icons/Document.js.map +1 -0
  106. package/esm/components/icons/Image.d.ts +4 -0
  107. package/esm/components/icons/Image.js +5 -0
  108. package/esm/components/icons/Image.js.map +1 -0
  109. package/esm/components/icons/Preview.d.ts +4 -5
  110. package/esm/components/icons/Preview.js +4 -3
  111. package/esm/components/icons/Preview.js.map +1 -1
  112. package/esm/components/icons/Upload.d.ts +4 -5
  113. package/esm/components/icons/Upload.js +4 -3
  114. package/esm/components/icons/Upload.js.map +1 -1
  115. package/esm/components/layouts/HiddenChat.js +101 -11
  116. package/esm/components/layouts/HiddenChat.js.map +1 -1
  117. package/esm/components/layouts/hidden-chat.css +189 -119
  118. package/esm/components/ui/Card.d.ts +1 -0
  119. package/esm/components/ui/Card.js +2 -2
  120. package/esm/components/ui/Card.js.map +1 -1
  121. package/esm/locales/de.json +16 -0
  122. package/esm/locales/en.json +24 -0
  123. package/esm/locales/es.json +16 -0
  124. package/esm/locales/fr.json +16 -0
  125. package/esm/locales/it.json +22 -0
  126. package/package.json +1 -1
  127. package/src/components/Chat/Chat.stories.tsx +12 -0
  128. package/src/components/Chat/Chat.tsx +8 -8
  129. package/src/components/ChatBubble/ChatBubble.css +10 -0
  130. package/src/components/ChatBubble/ChatBubble.stories.tsx +203 -1
  131. package/src/components/ChatBubble/ChatBubble.tsx +49 -22
  132. package/src/components/ChatInputs/ChatInputs.tsx +92 -43
  133. package/src/components/FilePreview/FilePreview.css +169 -140
  134. package/src/components/FilePreview/FilePreview.tsx +106 -14
  135. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +146 -29
  136. package/src/components/MediaWidget/LinkItemWidget.css +1 -0
  137. package/src/components/MediaWidget/MediaItemWidget.css +10 -0
  138. package/src/components/MediaWidget/MediaItemWidget.tsx +136 -118
  139. package/src/components/MediaWidget/MediaWidget.test.tsx +2 -1
  140. package/src/components/MediaWidget/MediaWidget.tsx +1 -1
  141. package/src/components/MemoriWidget/MemoriWidget.tsx +7 -19
  142. package/src/components/UploadButton/UploadButton.css +506 -27
  143. package/src/components/UploadButton/UploadButton.stories.tsx +122 -20
  144. package/src/components/UploadButton/UploadButton.test.tsx +1 -1
  145. package/src/components/UploadButton/UploadButton.tsx +282 -451
  146. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +352 -0
  147. package/src/components/UploadButton/UploadImages/UploadImages.tsx +417 -0
  148. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +139 -13
  149. package/src/components/icons/Bug.tsx +81 -0
  150. package/src/components/icons/Document.tsx +50 -0
  151. package/src/components/icons/Image.tsx +37 -0
  152. package/src/components/icons/Preview.tsx +28 -22
  153. package/src/components/icons/Upload.tsx +33 -22
  154. package/src/components/layouts/HiddenChat.tsx +143 -7
  155. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +1 -1
  156. package/src/components/layouts/hidden-chat.css +189 -119
  157. package/src/components/ui/Card.tsx +3 -0
  158. package/src/index.stories.tsx +19 -19
  159. package/src/locales/de.json +16 -0
  160. package/src/locales/en.json +24 -0
  161. package/src/locales/es.json +16 -0
  162. package/src/locales/fr.json +16 -0
  163. package/src/locales/it.json +22 -0
@@ -1,155 +1,184 @@
1
- .memori--preview-container {
2
- min-width: 200px;
3
- padding: 12px;
4
- border-radius: 8px;
5
- margin-bottom: 12px;
6
- animation: slide-in 0.3s ease;
7
- background: white;
8
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
9
- transition: all 0.3s ease;
10
- }
1
+ /* Updated FilePreview Styles */
11
2
 
12
- .memori--preview-container.slide-down {
13
- animation: slide-down 0.3s ease;
14
- }
15
-
16
- .memori--absolute-preview {
17
- position: absolute;
18
- right: 0;
19
- bottom: 100%;
20
- left: 0;
21
- }
22
-
23
- .memori--message-preview {
24
- margin: 12px 0;
25
- }
26
-
27
- .memori--preview-list {
28
- display: flex;
29
- flex-direction: column;
30
- gap: 8px;
31
- }
32
-
33
- .memori--preview-item {
34
- position: relative;
35
- display: flex;
36
- max-width: fit-content;
37
- align-items: center;
38
- padding: 8px;
39
- border-radius: 8px;
40
- animation: slide-in 0.3s ease;
41
- background-color: #f8f9fa;
42
- cursor: pointer;
43
- gap: 8px;
44
- transition: all 0.2s ease;
45
- }
46
-
47
- .memori--preview-item:hover {
48
- background-color: #f1f3f5;
49
- transform: translateX(4px);
50
- }
51
-
52
- .memori--preview-icon {
53
- width: 20px;
54
- height: 20px;
55
- flex-shrink: 0;
56
- fill: var(--memori-primary);
57
- }
58
-
59
- .memori--preview-filename {
60
- overflow: hidden;
61
- max-width: 200px;
62
- color: #495057;
63
- font-size: 14px;
64
- text-overflow: ellipsis;
65
- white-space: nowrap;
66
- }
67
-
68
- .memori--modal-title-preview {
69
- margin-top: 12px;
70
- margin-bottom: 12px;
71
- font-size: 20px;
72
- font-weight: 600;
73
- }
74
-
75
- .memori--remove-button {
76
- position: absolute;
77
- top: -4px;
78
- right: -4px;
79
- padding: 4px;
80
- border: none;
81
- border-radius: 50%;
82
- background-color: #e03131;
83
- color: white;
84
- cursor: pointer;
3
+ .memori--preview-container {
4
+ min-width: 100%;
5
+ padding: 12px;
6
+ border-radius: 8px;
7
+ margin-bottom: 12px;
8
+ animation: slide-in 0.3s ease;
9
+ background: white;
10
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
11
+ transition: all 0.3s ease;
12
+ }
13
+
14
+ .memori--preview-container.slide-down {
15
+ animation: slide-down 0.3s ease;
16
+ }
17
+
18
+ .memori--absolute-preview {
19
+ position: absolute;
20
+ bottom: 100%;
21
+ }
22
+
23
+ .memori--message-preview {
24
+ max-width: 100%;
25
+ margin: 12px 0;
26
+ }
27
+
28
+ .memori--preview-list {
29
+ display: flex;
30
+ flex-direction: row;
31
+ gap: 8px;
32
+ overflow-x: auto;
33
+ }
34
+
35
+ .memori--preview-item {
36
+ position: relative;
37
+ display: flex;
38
+ max-width: fit-content;
39
+ align-items: center;
40
+ padding: 8px;
41
+ border-radius: 8px;
42
+ animation: slide-in 0.3s ease;
43
+ background-color: #f8f9fa;
44
+ cursor: pointer;
45
+ gap: 8px;
46
+ transition: all 0.2s ease;
47
+ }
48
+
49
+ .memori--preview-item:hover {
50
+ background-color: #f1f3f5;
51
+ transform: translateX(4px);
52
+ }
53
+
54
+ .memori--preview-icon {
55
+ width: 20px;
56
+ height: 20px;
57
+ flex-shrink: 0;
58
+ color: #fff;
59
+ fill: var(--memori-primary);
60
+ }
61
+
62
+ .memori--preview-file-info {
63
+ display: flex;
64
+ overflow: hidden;
65
+ flex-direction: column;
66
+ }
67
+
68
+ .memori--preview-filename {
69
+ overflow: hidden;
70
+ max-width: 200px;
71
+ color: #495057;
72
+ font-size: 14px;
73
+ font-weight: 500;
74
+ text-overflow: ellipsis;
75
+ white-space: nowrap;
76
+ }
77
+
78
+ .memori--preview-filetype {
79
+ margin-top: 2px;
80
+ color: #868e96;
81
+ font-size: 12px;
82
+ }
83
+
84
+ .memori--modal-title-preview {
85
+ margin-top: 12px;
86
+ margin-bottom: 12px;
87
+ font-size: 20px;
88
+ font-weight: 600;
89
+ }
90
+
91
+ .memori--remove-button {
92
+ position: absolute;
93
+ top: -4px;
94
+ right: -4px;
95
+ padding: 4px;
96
+ border: none;
97
+ border-radius: 50%;
98
+ background-color: #e03131;
99
+ color: white;
100
+ cursor: pointer;
101
+ opacity: 0;
102
+ transform: scale(0.75);
103
+ transition: all 0.2s ease;
104
+ }
105
+
106
+ .memori--remove-button.visible {
107
+ opacity: 1;
108
+ transform: scale(1);
109
+ }
110
+
111
+ .memori--remove-button:hover {
112
+ background-color: #c92a2a;
113
+ transform: scale(1.1);
114
+ }
115
+
116
+ .memori--remove-icon {
117
+ width: 12px;
118
+ height: 12px;
119
+ }
120
+
121
+ .memori--modal-preview-file {
122
+ width: 100%;
123
+ max-width: 800px;
124
+ height: 100%;
125
+ padding: 12px;
126
+ }
127
+
128
+ .memori--preview-content {
129
+ padding: 16px;
130
+ border-radius: 8px;
131
+ background-color: #f8f9fa;
132
+ font-family: monospace;
133
+ font-size: 14px;
134
+ line-height: 1.5;
135
+ }
136
+
137
+ @keyframes fadeIn {
138
+ from { opacity: 0; }
139
+ to { opacity: 1; }
140
+ }
141
+
142
+ @keyframes scaleIn {
143
+ from {
85
144
  opacity: 0;
86
- transform: scale(0.75);
87
- transition: all 0.2s ease;
145
+ transform: scale(0.95);
88
146
  }
89
-
90
- .memori--remove-button.visible {
147
+ to {
91
148
  opacity: 1;
92
149
  transform: scale(1);
93
150
  }
151
+ }
94
152
 
95
- .memori--remove-button:hover {
96
- background-color: #c92a2a;
97
- transform: scale(1.1);
98
- }
99
-
100
- .memori--remove-icon {
101
- width: 12px;
102
- height: 12px;
153
+ @keyframes slide-up {
154
+ from {
155
+ opacity: 0;
156
+ transform: translateY(10px);
103
157
  }
104
-
105
- .memori--modal-preview-file {
106
- width: 100%;
107
- max-width: 800px;
108
- height: 100%;
109
- padding: 12px;
158
+ to {
159
+ opacity: 1;
160
+ transform: translateY(0);
110
161
  }
162
+ }
111
163
 
112
- @keyframes fadeIn {
113
- from { opacity: 0; }
114
- to { opacity: 1; }
164
+ @keyframes slide-in {
165
+ from {
166
+ opacity: 0;
167
+ transform: translateY(-10px);
115
168
  }
116
-
117
- @keyframes scaleIn {
118
- from {
119
- opacity: 0;
120
- transform: scale(0.95);
121
- }
122
- to {
123
- opacity: 1;
124
- transform: scale(1);
125
- }
169
+ to {
170
+ opacity: 1;
171
+ transform: translateY(0);
126
172
  }
173
+ }
127
174
 
128
- @keyframes slide-up {
129
- from {
130
- opacity: 0;
131
- transform: translateY(10px);
132
- }
133
- to {
134
- opacity: 1;
135
- transform: translateY(0);
136
- }
175
+ @keyframes slide-down {
176
+ from {
177
+ opacity: 1;
178
+ transform: translateY(0);
137
179
  }
138
-
139
- @keyframes slide-in {
140
- from {
141
- opacity: 0;
142
- transform: translateY(-10px);
143
- }
144
- to {
145
- opacity: 1;
146
- transform: translateY(0);
147
- }
180
+ to {
181
+ opacity: 0;
182
+ transform: translateY(10px);
148
183
  }
149
-
150
- @keyframes slide-down {
151
- from {
152
- opacity: 1;
153
- transform: translateY(0);
154
- }
155
- }
184
+ }
@@ -1,10 +1,6 @@
1
1
  type FilePreviewProps = {
2
- previewFiles: {
3
- name: string;
4
- id: string;
5
- content: string;
6
- }[];
7
- removeFile: (id: string) => void;
2
+ previewFiles: any;
3
+ removeFile: (id: string, mediumID: string | undefined) => void;
8
4
  allowRemove?: boolean;
9
5
  isMessagePreview?: boolean;
10
6
  };
@@ -3,19 +3,72 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
- const Preview_1 = tslib_1.__importDefault(require("../icons/Preview"));
6
+ const Document_1 = require("../icons/Document");
7
7
  const Close_1 = tslib_1.__importDefault(require("../icons/Close"));
8
8
  const Button_1 = tslib_1.__importDefault(require("../ui/Button"));
9
9
  const Modal_1 = tslib_1.__importDefault(require("../ui/Modal"));
10
+ const utils_1 = require("../../helpers/utils");
10
11
  const FilePreview = ({ previewFiles, removeFile, allowRemove = true, isMessagePreview = false, }) => {
11
12
  const [selectedFile, setSelectedFile] = (0, react_1.useState)(null);
12
13
  const [hoveredId, setHoveredId] = (0, react_1.useState)(null);
13
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [previewFiles.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: `memori--preview-container ${isMessagePreview
14
+ const getFileType = (filename, type) => {
15
+ var _a, _b;
16
+ if (type === 'image') {
17
+ const extension = (_a = filename.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
18
+ switch (extension) {
19
+ case 'jpg':
20
+ case 'jpeg':
21
+ return 'JPEG';
22
+ case 'png':
23
+ return 'PNG';
24
+ default:
25
+ return 'Image';
26
+ }
27
+ }
28
+ const extension = (_b = filename.split('.').pop()) === null || _b === void 0 ? void 0 : _b.toLowerCase();
29
+ switch (extension) {
30
+ case 'pdf':
31
+ return 'PDF';
32
+ case 'txt':
33
+ return 'Text';
34
+ case 'json':
35
+ return 'JSON';
36
+ case 'xlsx':
37
+ return 'Excel';
38
+ case 'csv':
39
+ return 'CSV';
40
+ case 'jpg':
41
+ case 'jpeg':
42
+ return 'JPEG';
43
+ case 'png':
44
+ return 'PNG';
45
+ default:
46
+ return 'Document';
47
+ }
48
+ };
49
+ const isImageContent = (content, type) => {
50
+ if (type === 'image')
51
+ return true;
52
+ const hasImageExtension = /\.(jpg|jpeg|png|gif|webp|svg)$/i.test(content);
53
+ const isImageUrl = content.startsWith('http') &&
54
+ (content.includes('/image/') ||
55
+ content.includes('/img/') ||
56
+ hasImageExtension);
57
+ return isImageUrl || hasImageExtension;
58
+ };
59
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [previewFiles.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: `memori--preview-container ${isMessagePreview
14
60
  ? 'memori--message-preview'
15
- : 'memori--absolute-preview'}`, children: (0, jsx_runtime_1.jsx)("div", { className: "memori--preview-list", children: previewFiles.map(file => ((0, jsx_runtime_1.jsxs)("div", { className: "memori--preview-item", onMouseEnter: () => setHoveredId(file.id), onMouseLeave: () => setHoveredId(null), onClick: () => setSelectedFile(file), children: [(0, jsx_runtime_1.jsx)(Preview_1.default, { className: "memori--preview-icon" }), (0, jsx_runtime_1.jsx)("span", { className: "memori--preview-filename", children: file.name }), allowRemove && ((0, jsx_runtime_1.jsx)(Button_1.default, { shape: "rounded", icon: (0, jsx_runtime_1.jsx)(Close_1.default, {}), danger: true, className: `memori--remove-button ${hoveredId === file.id ? 'visible' : ''}`, onClick: e => {
61
+ : 'memori--absolute-preview'}`, children: (0, jsx_runtime_1.jsx)("div", { className: "memori--preview-list", children: previewFiles.map((file) => ((0, jsx_runtime_1.jsxs)("div", { className: `memori--preview-item ${isImageContent(file.content, file.type)
62
+ ? 'memori--preview-item--image'
63
+ : 'memori--preview-item--document'}`, onMouseEnter: () => setHoveredId(file.id), onMouseLeave: () => setHoveredId(null), onClick: () => setSelectedFile(file), children: [isImageContent(file.content, file.type) ? ((0, jsx_runtime_1.jsx)("div", { className: "memori--preview-thumbnail", children: (0, jsx_runtime_1.jsx)("img", { src: file.content, alt: file.name }) })) : ((0, jsx_runtime_1.jsx)(Document_1.DocumentIcon, { className: "memori--preview-icon" })), (0, jsx_runtime_1.jsxs)("div", { className: "memori--preview-file-info", children: [(0, jsx_runtime_1.jsx)("span", { className: "memori--preview-filename", children: file.name }), (0, jsx_runtime_1.jsx)("span", { className: "memori--preview-filetype", children: getFileType(file.name, file.type) })] }), allowRemove && ((0, jsx_runtime_1.jsx)(Button_1.default, { shape: "rounded", icon: (0, jsx_runtime_1.jsx)(Close_1.default, {}), danger: true, className: `memori--remove-button ${hoveredId === file.id ? 'visible' : ''}`, onClick: e => {
16
64
  e.stopPropagation();
17
- removeFile(file.id);
18
- } }))] }, file.id))) }) })), (0, jsx_runtime_1.jsx)(Modal_1.default, { width: "80%", widthMd: "80%", open: !!selectedFile, className: "memori--modal-preview-file", onClose: () => setSelectedFile(null), closable: true, title: selectedFile === null || selectedFile === void 0 ? void 0 : selectedFile.name, children: (0, jsx_runtime_1.jsx)("div", { className: "memori--preview-content", style: { whiteSpace: 'pre-wrap', maxHeight: '70vh', overflowY: 'auto' }, children: selectedFile === null || selectedFile === void 0 ? void 0 : selectedFile.content }) })] }));
65
+ removeFile(file.id, file === null || file === void 0 ? void 0 : file.mediumID);
66
+ } }))] }, file.id))) }) })), (0, jsx_runtime_1.jsx)(Modal_1.default, { width: "80%", widthMd: "80%", open: !!selectedFile, className: "memori--modal-preview-file", onClose: () => setSelectedFile(null), closable: true, title: selectedFile === null || selectedFile === void 0 ? void 0 : selectedFile.name, children: (0, jsx_runtime_1.jsx)("div", { className: "memori--preview-content", style: {
67
+ maxHeight: '70vh',
68
+ overflowY: 'auto',
69
+ textAlign: 'center',
70
+ whiteSpace: selectedFile && !isImageContent(selectedFile.content, selectedFile.type) ? 'pre-wrap' : 'normal'
71
+ }, children: selectedFile && isImageContent(selectedFile.content, selectedFile.type) ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("img", { src: selectedFile.content, alt: selectedFile.name, style: { maxWidth: '100%', maxHeight: '60vh' } }) })) : ((0, utils_1.stripHTML)((selectedFile === null || selectedFile === void 0 ? void 0 : selectedFile.content) || '')) }) })] }));
19
72
  };
20
73
  exports.default = FilePreview;
21
74
  //# sourceMappingURL=FilePreview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilePreview.js","sourceRoot":"","sources":["../../../src/components/FilePreview/FilePreview.tsx"],"names":[],"mappings":";;;;AAAA,iCAAwC;AACxC,uEAA2C;AAC3C,mEAAuC;AACvC,kEAAkC;AAClC,gEAAgC;AAShC,MAAM,WAAW,GAAG,CAAC,EACnB,YAAY,EACZ,UAAU,EACV,WAAW,GAAG,IAAI,EAClB,gBAAgB,GAAG,KAAK,GACP,EAAE,EAAE;IACrB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAGtC,IAAI,CAAC,CAAC;IAChB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAgB,IAAI,CAAC,CAAC;IAEhE,OAAO,CACL,6DACG,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1B,gCACE,SAAS,EAAE,6BACT,gBAAgB;oBACd,CAAC,CAAC,yBAAyB;oBAC3B,CAAC,CAAC,0BACN,EAAE,YAEF,gCAAK,SAAS,EAAC,sBAAsB,YAClC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACxB,iCAEE,SAAS,EAAC,sBAAsB,EAChC,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EACzC,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EACtC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,aAEpC,uBAAC,iBAAW,IAAC,SAAS,EAAC,sBAAsB,GAAG,EAChD,iCAAM,SAAS,EAAC,0BAA0B,YAAE,IAAI,CAAC,IAAI,GAAQ,EAE5D,WAAW,IAAI,CACd,uBAAC,gBAAM,IACL,KAAK,EAAC,SAAS,EACf,IAAI,EAAE,uBAAC,eAAS,KAAG,EACnB,MAAM,QACN,SAAS,EAAE,yBACT,SAAS,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtC,EAAE,EACF,OAAO,EAAE,CAAC,CAAC,EAAE;oCACX,CAAC,CAAC,eAAe,EAAE,CAAC;oCACpB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCACtB,CAAC,GACD,CACH,KAtBI,IAAI,CAAC,EAAE,CAuBR,CACP,CAAC,GACE,GACF,CACP,EAED,uBAAC,eAAK,IACJ,KAAK,EAAC,KAAK,EACX,OAAO,EAAC,KAAK,EACb,IAAI,EAAE,CAAC,CAAC,YAAY,EACpB,SAAS,EAAC,4BAA4B,EACtC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EACpC,QAAQ,QACR,KAAK,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,YAEzB,gCAAK,SAAS,EAAC,yBAAyB,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAC7G,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,GAClB,GACA,IACP,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"FilePreview.js","sourceRoot":"","sources":["../../../src/components/FilePreview/FilePreview.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  .memori-link-items--grid {
2
2
  display: grid;
3
3
  padding: 1rem;
4
+ direction: rtl;
4
5
  grid-auto-flow: dense;
5
6
  grid-gap: 1rem;
6
7
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
@@ -1,6 +1,7 @@
1
1
  .memori-media-items--grid {
2
2
  display: grid;
3
3
  padding: 1rem;
4
+ direction: rtl;
4
5
  grid-auto-flow: dense;
5
6
  grid-gap: 1rem;
6
7
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
@@ -143,3 +144,12 @@ a.memori-media-item--link {
143
144
  border-color: #fff;
144
145
  color: #fff;
145
146
  }
147
+
148
+ .memori-media-item-preview--modal {
149
+ z-index: 10000;
150
+ width: 100%;
151
+ max-width: 80%;
152
+ height: 100%;
153
+ max-height: 80%;
154
+ background: #fff;
155
+ }
@@ -1,7 +1,9 @@
1
1
  import { Medium } from '@memori.ai/memori-api-client/dist/types';
2
2
  import React from 'react';
3
3
  export interface Props {
4
- items: Medium[];
4
+ items: (Medium & {
5
+ type?: string;
6
+ })[];
5
7
  sessionID?: string;
6
8
  tenantID?: string;
7
9
  translateTo?: string;
@@ -11,7 +13,9 @@ export interface Props {
11
13
  }
12
14
  export declare const RenderMediaItem: ({ isChild, item, sessionID, tenantID, preview, baseURL, apiURL, onClick, customMediaRenderer, }: {
13
15
  isChild?: boolean | undefined;
14
- item: Medium;
16
+ item: Medium & {
17
+ type: string;
18
+ };
15
19
  sessionID?: string | undefined;
16
20
  tenantID?: string | undefined;
17
21
  preview?: boolean | undefined;
@@ -16,8 +16,10 @@ const FilePdf_1 = tslib_1.__importDefault(require("../icons/FilePdf"));
16
16
  const FileExcel_1 = tslib_1.__importDefault(require("../icons/FileExcel"));
17
17
  const FileWord_1 = tslib_1.__importDefault(require("../icons/FileWord"));
18
18
  const react_2 = require("@headlessui/react");
19
+ const utils_1 = require("../../helpers/utils");
19
20
  const RenderMediaItem = ({ isChild = false, item, sessionID, tenantID, preview = false, baseURL, apiURL, onClick, customMediaRenderer, }) => {
20
21
  var _a, _b;
22
+ const [modalOpen, setModalOpen] = (0, react_1.useState)(false);
21
23
  const url = (0, media_1.getResourceUrl)({
22
24
  resourceURI: item.url,
23
25
  sessionID,
@@ -29,15 +31,51 @@ const RenderMediaItem = ({ isChild = false, item, sessionID, tenantID, preview =
29
31
  if (customRenderer) {
30
32
  return customRenderer;
31
33
  }
34
+ const renderMediaContent = (item) => {
35
+ switch (item.mimeType) {
36
+ case 'image/jpeg':
37
+ case 'image/png':
38
+ case 'image/jpg':
39
+ case 'image/gif':
40
+ return isImageRGB ? ((0, jsx_runtime_1.jsxs)("picture", { className: "memori-media-item--figure", children: [(0, jsx_runtime_1.jsx)("div", { className: "memori-media-item--rgb-item", style: {
41
+ backgroundColor: item.url,
42
+ } }), item.title && ((0, jsx_runtime_1.jsx)("figcaption", { className: "memori-media-item--figure-caption", children: item.title }))] })) : ((0, jsx_runtime_1.jsxs)("picture", { className: "memori-media-item--figure", children: [!preview && ((0, jsx_runtime_1.jsx)("source", { srcSet: [url, item.url, item.content].join(', '), type: item.mimeType })), (0, jsx_runtime_1.jsx)("img", { alt: item.title, src: "data:image/png;base64,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" }), item.title && ((0, jsx_runtime_1.jsx)("figcaption", { className: "memori-media-item--figure-caption", children: item.title }))] }));
43
+ case 'application/msword':
44
+ case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':
45
+ return (0, jsx_runtime_1.jsx)(FileWord_1.default, { className: "memori-media-item--icon" });
46
+ case 'application/vnd.ms-excel':
47
+ case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':
48
+ return (0, jsx_runtime_1.jsx)(FileExcel_1.default, { className: "memori-media-item--icon" });
49
+ case 'application/pdf':
50
+ return (0, jsx_runtime_1.jsx)(FilePdf_1.default, { className: "memori-media-item--icon" });
51
+ case 'video/mp4':
52
+ case 'video/quicktime':
53
+ case 'video/avi':
54
+ case 'video/mpeg':
55
+ return ((0, jsx_runtime_1.jsxs)("video", { style: { width: '100%', height: '100%' }, controls: true, src: url, title: item.title, children: [item.mimeType === 'video/quicktime' && ((0, jsx_runtime_1.jsx)("source", { src: item.url, type: "video/mp4" })), (0, jsx_runtime_1.jsx)("source", { src: item.url, type: item.mimeType }), "Your browser does not support this video format.", (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("a", { href: item.url, target: "_blank", rel: "noopener noreferrer", children: "Download the video" })] }));
56
+ case 'audio/mpeg3':
57
+ case 'audio/wav':
58
+ case 'audio/mpeg':
59
+ return ((0, jsx_runtime_1.jsx)("audio", { style: { width: '100%', height: '100%' }, controls: true, src: url }));
60
+ case 'model/gltf-binary':
61
+ return ((0, jsx_runtime_1.jsx)(ModelViewer_1.default, { src: url, alt: "", poster: "data:image/png;base64,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" }));
62
+ default:
63
+ return (0, jsx_runtime_1.jsx)(File_1.default, { className: "memori-media-item--icon" });
64
+ }
65
+ };
66
+ if (!item.url && (item === null || item === void 0 ? void 0 : item.type) === 'document' && item.content) {
67
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("a", { className: "memori-media-item--link", href: "#", onClick: e => {
68
+ e.preventDefault();
69
+ setModalOpen(true);
70
+ }, title: item.title, children: (0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, cover: renderMediaContent(item), title: item.title }) }), (0, jsx_runtime_1.jsx)(Modal_1.default, { open: modalOpen, onClose: () => setModalOpen(false), title: item.title, className: "memori-media-item-preview--modal", children: (0, jsx_runtime_1.jsx)("pre", { children: (0, utils_1.stripHTML)(item.content) }) })] }));
71
+ }
32
72
  const isImageRGB = ((_a = item.url) === null || _a === void 0 ? void 0 : _a.startsWith('rgb(')) || ((_b = item.url) === null || _b === void 0 ? void 0 : _b.startsWith('rgba('));
33
73
  switch (item.mimeType) {
34
74
  case 'image/jpeg':
35
75
  case 'image/png':
36
76
  case 'image/jpg':
37
77
  case 'image/gif':
38
- return isImageRGB ? ((0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, className: "memori-media-item--card memori-media-item--image", cover: (0, jsx_runtime_1.jsxs)("picture", { className: "memori-media-item--figure", children: [(0, jsx_runtime_1.jsx)("div", { className: "memori-media-item--rgb-item", style: {
39
- backgroundColor: item.url,
40
- } }), item.title && ((0, jsx_runtime_1.jsx)("figcaption", { className: "memori-media-item--figure-caption", children: item.title }))] }) })) : ((0, jsx_runtime_1.jsx)("a", { className: "memori-media-item--link", href: item.url, onClick: e => {
78
+ return isImageRGB ? ((0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, className: "memori-media-item--card memori-media-item--image", cover: renderMediaContent(item) })) : ((0, jsx_runtime_1.jsx)("a", { className: "memori-media-item--link", href: item.url, onClick: e => {
41
79
  if (isChild) {
42
80
  e.preventDefault();
43
81
  }
@@ -45,15 +83,13 @@ const RenderMediaItem = ({ isChild = false, item, sessionID, tenantID, preview =
45
83
  e.preventDefault();
46
84
  onClick(item.mediumID);
47
85
  }
48
- }, target: "_blank", rel: "noopener noreferrer", title: item.title, children: (0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, className: "memori-media-item--card memori-media-item--image", cover: (0, jsx_runtime_1.jsxs)("picture", { className: "memori-media-item--figure", children: [!preview && ((0, jsx_runtime_1.jsx)("source", { srcSet: [url, item.url, item.content].join(', '), type: item.mimeType })), (0, jsx_runtime_1.jsx)("img", { alt: item.title, src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMIAAADDCAYAAADQvc6UAAABRWlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASSSwoyGFhYGDIzSspCnJ3UoiIjFJgf8LAwSDCIMogwMCcmFxc4BgQ4ANUwgCjUcG3awyMIPqyLsis7PPOq3QdDFcvjV3jOD1boQVTPQrgSkktTgbSf4A4LbmgqISBgTEFyFYuLykAsTuAbJEioKOA7DkgdjqEvQHEToKwj4DVhAQ5A9k3gGyB5IxEoBmML4BsnSQk8XQkNtReEOBxcfXxUQg1Mjc0dyHgXNJBSWpFCYh2zi+oLMpMzyhRcASGUqqCZ16yno6CkYGRAQMDKMwhqj/fAIcloxgHQqxAjIHBEugw5sUIsSQpBobtQPdLciLEVJYzMPBHMDBsayhILEqEO4DxG0txmrERhM29nYGBddr//5/DGRjYNRkY/l7////39v///y4Dmn+LgeHANwDrkl1AuO+pmgAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAwqADAAQAAAABAAAAwwAAAAD9b/HnAAAHlklEQVR4Ae3dP3PTWBSGcbGzM6GCKqlIBRV0dHRJFarQ0eUT8LH4BnRU0NHR0UEFVdIlFRV7TzRksomPY8uykTk/zewQfKw/9znv4yvJynLv4uLiV2dBoDiBf4qP3/ARuCRABEFAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghgg0Aj8i0JO4OzsrPv69Wv+hi2qPHr0qNvf39+iI97soRIh4f3z58/u7du3SXX7Xt7Z2enevHmzfQe+oSN2apSAPj09TSrb+XKI/f379+08+A0cNRE2ANkupk+ACNPvkSPcAAEibACyXUyfABGm3yNHuAECRNgAZLuYPgEirKlHu7u7XdyytGwHAd8jjNyng4OD7vnz51dbPT8/7z58+NB9+/bt6jU/TI+AGWHEnrx48eJ/EsSmHzx40L18+fLyzxF3ZVMjEyDCiEDjMYZZS5wiPXnyZFbJaxMhQIQRGzHvWR7XCyOCXsOmiDAi1HmPMMQjDpbpEiDCiL358eNHurW/5SnWdIBbXiDCiA38/Pnzrce2YyZ4//59F3ePLNMl4PbpiL2J0L979+7yDtHDhw8vtzzvdGnEXdvUigSIsCLAWavHp/+qM0BcXMd/q25n1vF57TYBp0a3mUzilePj4+7k5KSLb6gt6ydAhPUzXnoPR0dHl79WGTNCfBnn1uvSCJdegQhLI1vvCk+fPu2ePXt2tZOYEV6/fn31dz+shwAR1sP1cqvLntbEN9MxA9xcYjsxS1jWR4AIa2Ibzx0tc44fYX/16lV6NDFLXH+YL32jwiACRBiEbf5KcXoTIsQSpzXx4N28Ja4BQoK7rgXiydbHjx/P25TaQAJEGAguWy0+2Q8PD6/Ki4R8EVl+bzBOnZY95fq9rj9zAkTI2SxdidBHqG9+skdw43borCXO/ZcJdraPWdv22uIEiLA4q7nvvCug8WTqzQveOH26fodo7g6uFe/a17W3+nFBAkRYENRdb1vkkz1CH9cPsVy/jrhr27PqMYvENYNlHAIesRiBYwRy0V+8iXP8+/fvX11Mr7L7ECueb/r48eMqm7FuI2BGWDEG8cm+7G3NEOfmdcTQw4h9/55lhm7DekRYKQPZF2ArbXTAyu4kDYB2YxUzwg0gi/41ztHnfQG26HbGel/crVrm7tNY+/1btkOEAZ2M05r4FB7r9GbAIdxaZYrHdOsgJ/wCEQY0J74TmOKnbxxT9n3FgGGWWsVdowHtjt9Nnvf7yQM2aZU/TIAIAxrw6dOnAWtZZcoEnBpNuTuObWMEiLAx1HY0ZQJEmHJ3HNvGCBBhY6jtaMoEiJB0Z29vL6ls58vxPcO8/zfrdo5qvKO+d3Fx8Wu8zf1dW4p/cPzLly/dtv9Ts/EbcvGAHhHyfBIhZ6NSiIBTo0LNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiEC/wGgKKC4YMA4TAAAAABJRU5ErkJggg==" }), item.title && ((0, jsx_runtime_1.jsx)("figcaption", { className: "memori-media-item--figure-caption", children: item.title }))] }) }) }));
86
+ }, target: "_blank", rel: "noopener noreferrer", title: item.title, children: (0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, className: "memori-media-item--card memori-media-item--image", cover: renderMediaContent(item) }) }));
49
87
  case 'application/msword':
50
88
  case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':
51
- return ((0, jsx_runtime_1.jsx)("a", { className: "memori-media-item--link", href: url, target: "_blank", rel: "noopener noreferrer", title: item.title, children: (0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, cover: (0, jsx_runtime_1.jsx)(FileWord_1.default, { className: "memori-media-item--icon" }), title: item.title }) }));
52
89
  case 'application/vnd.ms-excel':
53
90
  case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':
54
- return ((0, jsx_runtime_1.jsx)("a", { className: "memori-media-item--link", href: url, target: "_blank", rel: "noopener noreferrer", title: item.title, children: (0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, cover: (0, jsx_runtime_1.jsx)(FileExcel_1.default, { className: "memori-media-item--icon" }), title: item.title }) }));
55
91
  case 'application/pdf':
56
- return ((0, jsx_runtime_1.jsx)("a", { className: "memori-media-item--link", href: url, target: "_blank", rel: "noopener noreferrer", title: item.title, children: (0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, cover: (0, jsx_runtime_1.jsx)(FilePdf_1.default, { className: "memori-media-item--icon" }), title: item.title }) }));
92
+ return ((0, jsx_runtime_1.jsx)("a", { className: "memori-media-item--link", href: url, target: "_blank", rel: "noopener noreferrer", title: item.title, children: (0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, cover: renderMediaContent(item), title: item.title }) }));
57
93
  case 'video/mp4':
58
94
  case 'video/quicktime':
59
95
  case 'video/avi':
@@ -66,15 +102,15 @@ const RenderMediaItem = ({ isChild = false, item, sessionID, tenantID, preview =
66
102
  e.preventDefault();
67
103
  onClick(item.mediumID);
68
104
  }
69
- }, target: "_blank", rel: "noopener noreferrer", title: item.title, children: (0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, cover: (0, jsx_runtime_1.jsxs)("video", { style: { width: '100%', height: '100%' }, controls: true, src: url, title: item.title, children: [item.mimeType === 'video/quicktime' && ((0, jsx_runtime_1.jsx)("source", { src: item.url, type: "video/mp4" })), (0, jsx_runtime_1.jsx)("source", { src: item.url, type: item.mimeType }), "Your browser does not support this video format.", (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("a", { href: item.url, target: "_blank", rel: "noopener noreferrer", children: "Download the video" })] }), title: item.title }) }));
105
+ }, target: "_blank", rel: "noopener noreferrer", title: item.title, children: (0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, cover: renderMediaContent(item), title: item.title }) }));
70
106
  case 'audio/mpeg3':
71
107
  case 'audio/wav':
72
108
  case 'audio/mpeg':
73
- return ((0, jsx_runtime_1.jsx)("a", { className: "memori-media-item--link", href: url, target: "_blank", rel: "noopener noreferrer", title: item.title, children: (0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, cover: (0, jsx_runtime_1.jsx)("audio", { style: { width: '100%', height: '100%' }, controls: true, src: url }), title: item.title }) }));
109
+ return ((0, jsx_runtime_1.jsx)("a", { className: "memori-media-item--link", href: url, target: "_blank", rel: "noopener noreferrer", title: item.title, children: (0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, cover: renderMediaContent(item), title: item.title }) }));
74
110
  case 'model/gltf-binary':
75
- return ((0, jsx_runtime_1.jsx)(ModelViewer_1.default, { src: url, alt: "", poster: "data:image/png;base64,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" }));
111
+ return (0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, cover: renderMediaContent(item) });
76
112
  default:
77
- return ((0, jsx_runtime_1.jsx)("a", { className: "memori-media-item--link", href: url, target: "_blank", rel: "noopener noreferrer", title: item.title, children: (0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, cover: (0, jsx_runtime_1.jsx)(File_1.default, { className: "memori-media-item--icon" }), title: item.title }) }));
113
+ return ((0, jsx_runtime_1.jsx)("a", { className: "memori-media-item--link", href: url, target: "_blank", rel: "noopener noreferrer", title: item.title, children: (0, jsx_runtime_1.jsx)(Card_1.default, { hoverable: true, cover: renderMediaContent(item), title: item.title }) }));
78
114
  }
79
115
  };
80
116
  exports.RenderMediaItem = RenderMediaItem;
@@ -132,11 +168,13 @@ const MediaItemWidget = ({ items, sessionID, tenantID, translateTo, baseURL, api
132
168
  title: item.title,
133
169
  url: item.url,
134
170
  content: item.content,
171
+ type: 'document',
135
172
  }, customMediaRenderer: customMediaRenderer }) }, item.url + '&index=' + index))) })), codeSnippets.map(medium => ((0, jsx_runtime_1.jsx)(react_2.Transition.Child, { as: "div", className: "memori-media-item--snippet", enter: "ease-out duration-500", enterFrom: "opacity-0 translate-y-1", enterTo: "opacity-1 translate-y-0", leave: "ease-in duration-300", leaveFrom: "opacity-1", leaveTo: "opacity-0", children: (0, jsx_runtime_1.jsx)(Snippet_1.default, { medium: medium }, medium.mediumID) }, medium.mediumID))), cssExecutableCode.map(medium => ((0, jsx_runtime_1.jsx)("style", { dangerouslySetInnerHTML: { __html: medium.content || '' } }, medium.mediumID))), (openModalMedium === null || openModalMedium === void 0 ? void 0 : openModalMedium.mediumID) && ((0, jsx_runtime_1.jsx)(Modal_1.default, { width: "100%", widthMd: "100%", className: "memori-media-item--modal", open: !!openModalMedium, onClose: () => setOpenModalMedium(undefined), footer: null, children: (0, jsx_runtime_1.jsx)(exports.RenderMediaItem, { isChild: true, sessionID: sessionID, tenantID: tenantID, baseURL: baseURL, apiURL: apiURL, item: {
136
173
  ...openModalMedium,
137
174
  title: openModalMedium.title,
138
175
  url: openModalMedium.url,
139
176
  content: openModalMedium.content,
177
+ type: 'document',
140
178
  }, customMediaRenderer: customMediaRenderer }) }))] }));
141
179
  };
142
180
  exports.default = (0, react_1.memo)(MediaItemWidget);