@memori.ai/memori-react 7.25.0 → 7.26.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 (132) hide show
  1. package/CHANGELOG.md +42 -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 +16 -20
  8. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  9. package/dist/components/ChatInputs/ChatInputs.d.ts +6 -10
  10. package/dist/components/ChatInputs/ChatInputs.js +37 -30
  11. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  12. package/dist/components/FilePreview/FilePreview.css +169 -140
  13. package/dist/components/FilePreview/FilePreview.d.ts +2 -6
  14. package/dist/components/FilePreview/FilePreview.js +58 -5
  15. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  16. package/dist/components/MemoriWidget/MemoriWidget.d.ts +2 -1
  17. package/dist/components/MemoriWidget/MemoriWidget.js +15 -21
  18. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  19. package/dist/components/UploadButton/UploadButton.css +506 -27
  20. package/dist/components/UploadButton/UploadButton.d.ts +14 -11
  21. package/dist/components/UploadButton/UploadButton.js +110 -288
  22. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  23. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +19 -0
  24. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +211 -0
  25. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -0
  26. package/dist/components/UploadButton/UploadImages/UploadImages.d.ts +13 -0
  27. package/dist/components/UploadButton/UploadImages/UploadImages.js +207 -0
  28. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -0
  29. package/dist/components/icons/Bug.d.ts +5 -0
  30. package/dist/components/icons/Bug.js +6 -0
  31. package/dist/components/icons/Bug.js.map +1 -0
  32. package/dist/components/icons/Document.d.ts +5 -0
  33. package/dist/components/icons/Document.js +10 -0
  34. package/dist/components/icons/Document.js.map +1 -0
  35. package/dist/components/icons/Image.d.ts +4 -0
  36. package/dist/components/icons/Image.js +9 -0
  37. package/dist/components/icons/Image.js.map +1 -0
  38. package/dist/components/icons/Preview.d.ts +4 -5
  39. package/dist/components/icons/Preview.js +5 -2
  40. package/dist/components/icons/Preview.js.map +1 -1
  41. package/dist/components/icons/Upload.d.ts +4 -5
  42. package/dist/components/icons/Upload.js +5 -2
  43. package/dist/components/icons/Upload.js.map +1 -1
  44. package/dist/components/layouts/HiddenChat.js +100 -10
  45. package/dist/components/layouts/HiddenChat.js.map +1 -1
  46. package/dist/components/layouts/hidden-chat.css +189 -119
  47. package/dist/locales/de.json +16 -0
  48. package/dist/locales/en.json +24 -0
  49. package/dist/locales/es.json +16 -0
  50. package/dist/locales/fr.json +16 -0
  51. package/dist/locales/it.json +22 -0
  52. package/esm/components/Chat/Chat.d.ts +5 -10
  53. package/esm/components/Chat/Chat.js +3 -3
  54. package/esm/components/Chat/Chat.js.map +1 -1
  55. package/esm/components/ChatBubble/ChatBubble.css +10 -0
  56. package/esm/components/ChatBubble/ChatBubble.d.ts +1 -0
  57. package/esm/components/ChatBubble/ChatBubble.js +16 -20
  58. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  59. package/esm/components/ChatInputs/ChatInputs.d.ts +6 -10
  60. package/esm/components/ChatInputs/ChatInputs.js +37 -30
  61. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  62. package/esm/components/FilePreview/FilePreview.css +169 -140
  63. package/esm/components/FilePreview/FilePreview.d.ts +2 -6
  64. package/esm/components/FilePreview/FilePreview.js +58 -5
  65. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  66. package/esm/components/MemoriWidget/MemoriWidget.d.ts +2 -1
  67. package/esm/components/MemoriWidget/MemoriWidget.js +15 -21
  68. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  69. package/esm/components/UploadButton/UploadButton.css +506 -27
  70. package/esm/components/UploadButton/UploadButton.d.ts +14 -11
  71. package/esm/components/UploadButton/UploadButton.js +111 -289
  72. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  73. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +19 -0
  74. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +208 -0
  75. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -0
  76. package/esm/components/UploadButton/UploadImages/UploadImages.d.ts +13 -0
  77. package/esm/components/UploadButton/UploadImages/UploadImages.js +204 -0
  78. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -0
  79. package/esm/components/icons/Bug.d.ts +5 -0
  80. package/esm/components/icons/Bug.js +4 -0
  81. package/esm/components/icons/Bug.js.map +1 -0
  82. package/esm/components/icons/Document.d.ts +5 -0
  83. package/esm/components/icons/Document.js +6 -0
  84. package/esm/components/icons/Document.js.map +1 -0
  85. package/esm/components/icons/Image.d.ts +4 -0
  86. package/esm/components/icons/Image.js +5 -0
  87. package/esm/components/icons/Image.js.map +1 -0
  88. package/esm/components/icons/Preview.d.ts +4 -5
  89. package/esm/components/icons/Preview.js +4 -3
  90. package/esm/components/icons/Preview.js.map +1 -1
  91. package/esm/components/icons/Upload.d.ts +4 -5
  92. package/esm/components/icons/Upload.js +4 -3
  93. package/esm/components/icons/Upload.js.map +1 -1
  94. package/esm/components/layouts/HiddenChat.js +101 -11
  95. package/esm/components/layouts/HiddenChat.js.map +1 -1
  96. package/esm/components/layouts/hidden-chat.css +189 -119
  97. package/esm/locales/de.json +16 -0
  98. package/esm/locales/en.json +24 -0
  99. package/esm/locales/es.json +16 -0
  100. package/esm/locales/fr.json +16 -0
  101. package/esm/locales/it.json +22 -0
  102. package/package.json +1 -1
  103. package/src/components/Chat/Chat.tsx +8 -8
  104. package/src/components/ChatBubble/ChatBubble.css +10 -0
  105. package/src/components/ChatBubble/ChatBubble.stories.tsx +25 -0
  106. package/src/components/ChatBubble/ChatBubble.tsx +41 -17
  107. package/src/components/ChatInputs/ChatInputs.tsx +92 -43
  108. package/src/components/FilePreview/FilePreview.css +169 -140
  109. package/src/components/FilePreview/FilePreview.tsx +106 -14
  110. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +146 -29
  111. package/src/components/MemoriWidget/MemoriWidget.tsx +14 -22
  112. package/src/components/UploadButton/UploadButton.css +506 -27
  113. package/src/components/UploadButton/UploadButton.stories.tsx +122 -20
  114. package/src/components/UploadButton/UploadButton.test.tsx +1 -1
  115. package/src/components/UploadButton/UploadButton.tsx +264 -454
  116. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +352 -0
  117. package/src/components/UploadButton/UploadImages/UploadImages.tsx +434 -0
  118. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +140 -13
  119. package/src/components/icons/Bug.tsx +81 -0
  120. package/src/components/icons/Document.tsx +50 -0
  121. package/src/components/icons/Image.tsx +37 -0
  122. package/src/components/icons/Preview.tsx +28 -22
  123. package/src/components/icons/Upload.tsx +33 -22
  124. package/src/components/layouts/HiddenChat.tsx +143 -7
  125. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +1 -1
  126. package/src/components/layouts/hidden-chat.css +189 -119
  127. package/src/index.stories.tsx +19 -19
  128. package/src/locales/de.json +16 -0
  129. package/src/locales/en.json +24 -0
  130. package/src/locales/es.json +16 -0
  131. package/src/locales/fr.json +16 -0
  132. package/src/locales/it.json +22 -0
@@ -1,45 +1,524 @@
1
- .file-upload-wrapper {
2
- margin-right: 0.5rem;
1
+ /* Core Container */
2
+ .memori--unified-upload-wrapper {
3
+ position: relative;
4
+ display: inline-block;
5
+ margin-right: 0.5rem;
3
6
  }
4
7
 
8
+ /* Component Containers - Combined selectors for shared properties */
9
+ .memori--document-upload-wrapper,
10
+ .memori--image-upload-wrapper {
11
+ position: relative;
12
+ display: inline-block;
13
+ margin-right: 0.5rem;
14
+ }
15
+
16
+ /* Hidden File Inputs */
5
17
  .memori--upload-file-input {
6
- display: none;
18
+ display: none;
19
+ }
20
+
21
+ /* Hidden Uploader Container - Using more accessible approach */
22
+ .memori--hidden-uploader {
23
+ position: absolute;
24
+ overflow: hidden;
25
+ width: 1px;
26
+ height: 1px;
27
+ padding: 0;
28
+ border: 0;
29
+ margin: -1px;
30
+ clip: rect(0, 0, 0, 0);
31
+ white-space: nowrap;
32
+ }
33
+
34
+ /* Base button styles */
35
+ .memori--base-upload-button {
36
+ position: relative;
37
+ display: flex;
38
+ width: 40px;
39
+ height: 40px;
40
+ align-items: center;
41
+ justify-content: center;
42
+ border: 1px solid #e0e0e0;
43
+ border-radius: 50%;
44
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
45
+ cursor: pointer;
46
+ transition: all 0.2s ease;
47
+ }
48
+
49
+ .memori--base-upload-button:hover {
50
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
51
+ transform: translateY(-1px);
52
+ }
53
+
54
+ .memori--base-upload-button:active {
55
+ box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
56
+ transform: translateY(0);
57
+ }
58
+
59
+ .memori--base-upload-button.memori--error {
60
+ border-color: #ff4d4f;
61
+ animation: pulse 1.5s infinite;
62
+ }
63
+
64
+ /* Main Upload Button */
65
+ .memori--unified-upload-button {
66
+ position: relative;
67
+ display: flex;
68
+ width: 40px;
69
+ height: 40px;
70
+ align-items: center;
71
+ justify-content: center;
72
+ border: 1px solid #e0e0e0;
73
+ border-radius: 50%;
74
+ background-color: #f5f5f5;
75
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
76
+ cursor: pointer;
77
+ transition: all 0.2s ease;
7
78
  }
8
79
 
9
- .memori--upload-button {
10
- /* position: absolute; */
11
- right: 160px;
12
- bottom: 8px;
13
- padding: 8px;
14
- border: none;
15
- background: transparent;
16
- cursor: pointer;
17
- transition: background-color 0.2s ease;
80
+ .memori--unified-upload-button:hover {
81
+ background-color: #efefef;
82
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
83
+ transform: translateY(-1px);
18
84
  }
19
85
 
20
- .memori--upload-button:disabled {
21
- cursor: not-allowed;
22
- opacity: 0.6;
86
+ /* Document Button */
87
+ .memori--document-upload-button {
88
+ position: relative;
89
+ display: flex;
90
+ width: 40px;
91
+ height: 40px;
92
+ align-items: center;
93
+ justify-content: center;
94
+ border: 1px solid #fd7e14;
95
+ border-radius: 50%;
96
+ background-color: #fff9db;
97
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
98
+ cursor: pointer;
99
+ transition: all 0.2s ease;
23
100
  }
24
101
 
25
- .memori--upload-button:hover:not(:disabled) {
26
- background-color: rgba(128, 128, 128, 0.1);
102
+ .memori--document-upload-button:hover {
103
+ background-color: #fff3bf;
104
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
105
+ transform: translateY(-1px);
27
106
  }
28
107
 
108
+ /* Image Button */
109
+ .memori--image-upload-button {
110
+ position: relative;
111
+ display: flex;
112
+ width: 40px;
113
+ height: 40px;
114
+ align-items: center;
115
+ justify-content: center;
116
+ border: 1px solid #4dabf7;
117
+ border-radius: 50%;
118
+ background-color: #e7f5ff;
119
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
120
+ cursor: pointer;
121
+ transition: all 0.2s ease;
122
+ }
123
+
124
+ .memori--image-upload-button:hover {
125
+ background-color: #d0ebff;
126
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
127
+ transform: translateY(-1px);
128
+ }
129
+
130
+ /* Disabled button - Simplified */
131
+ .memori--image-upload-button:disabled {
132
+ box-shadow: none;
133
+ cursor: not-allowed;
134
+ opacity: 0.5;
135
+ transform: none;
136
+ }
137
+
138
+ /* Pulse animation */
139
+ @keyframes pulse {
140
+ 0% {
141
+ box-shadow: 0 0 0 0 rgba(255, 77, 79, 0.4);
142
+ }
143
+ 70% {
144
+ box-shadow: 0 0 0 10px rgba(255, 77, 79, 0);
145
+ }
146
+ 100% {
147
+ box-shadow: 0 0 0 0 rgba(255, 77, 79, 0);
148
+ }
149
+ }
150
+
151
+ /* Upload Icon */
29
152
  .memori--upload-icon {
30
- width: 20px;
31
- height: 20px;
153
+ width: 18px;
154
+ height: 18px;
155
+ color: #666;
156
+ }
157
+
158
+ @keyframes fadeIn {
159
+ from {
160
+ opacity: 0;
161
+ transform: scale(0.95);
162
+ }
163
+ to {
164
+ opacity: 1;
165
+ transform: scale(1);
166
+ }
167
+ }
168
+
169
+ /* Menu Items - Base styling */
170
+ .memori--upload-menu-item {
171
+ display: flex;
172
+ align-items: center;
173
+ padding: 12px 16px;
174
+ border-radius: 8px;
175
+ margin: 4px 8px;
176
+ cursor: pointer;
177
+ transition: all 0.2s;
178
+ }
179
+
180
+ .memori--upload-menu-item:hover {
181
+ background-color: #f5f5f5;
182
+ transform: translateX(4px);
183
+ }
184
+
185
+
186
+ /* Menu icons - Consolidated styles */
187
+ .memori--upload-menu-icon,
188
+ .memori--upload-menu-icon-image {
189
+ margin-right: 12px;
190
+ color: var(--memori-primary, #4dabf7);
191
+ }
192
+
193
+ .memori--upload-menu-icon {
194
+ width: 24px;
195
+ height: 24px;
196
+ }
197
+
198
+ .memori--upload-menu-icon-image {
199
+ width: 20px;
200
+ height: 20px;
201
+ }
202
+
203
+ /* Preview Container */
204
+ .memori--preview-container {
205
+ min-width: 200px;
206
+ padding: 12px;
207
+ border-radius: 8px;
208
+ margin-bottom: 12px;
209
+ animation: slide-in 0.3s ease;
210
+ background: #fff;
211
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
212
+ transition: all 0.3s ease;
213
+ }
214
+
215
+ .memori--absolute-preview {
216
+ position: absolute;
217
+ z-index: 100;
218
+ right: 0;
219
+ bottom: 50px;
220
+ left: auto;
221
+ width: 300px;
222
+ max-height: 300px;
223
+ overflow-y: auto;
224
+ }
225
+
226
+ /* Preview Item - Base styling */
227
+ .memori--preview-item {
228
+ position: relative;
229
+ display: flex;
230
+ align-items: center;
231
+ padding: 10px 12px;
232
+ border-radius: 8px;
233
+ border-left: 3px solid transparent;
234
+ margin-bottom: 8px;
235
+ background-color: #f8f9fa;
236
+ cursor: pointer;
237
+ gap: 12px;
238
+ transition: all 0.2s ease;
239
+ }
240
+
241
+ .memori--preview-item:hover {
242
+ background-color: #f1f3f5;
243
+ transform: translateX(4px);
244
+ }
245
+
246
+ /* Preview item variants */
247
+ .memori--preview-item--document {
248
+ border-left-color: #fd7e14;
249
+ background-color: #fff9db;
250
+ }
251
+
252
+ .memori--preview-item--image {
253
+ border-left-color: #4dabf7;
254
+ background-color: #e7f5ff;
255
+ }
256
+
257
+ .memori--preview-item--uploaded {
258
+ border-left-color: #40c057;
259
+ }
260
+
261
+ .memori--preview-item--error {
262
+ border-left-color: #fa5252;
263
+ }
264
+
265
+ /* Preview Icon */
266
+ .memori--preview-icon {
267
+ width: 20px;
268
+ height: 20px;
269
+ flex-shrink: 0;
270
+ fill: var(--memori-primary, #4dabf7);
32
271
  }
33
272
 
34
- .memori--conversation-button:hover .memori--upload-icon {
35
- fill: var(--memori-primary);
36
- transition: fill 0.2s ease;
273
+ /* Preview Thumbnail */
274
+ .memori--preview-thumbnail {
275
+ overflow: hidden;
276
+ width: 36px;
277
+ height: 36px;
278
+ flex-shrink: 0;
279
+ border-radius: 4px;
280
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
37
281
  }
38
282
 
283
+ .memori--preview-thumbnail img {
284
+ width: 100%;
285
+ height: 100%;
286
+ object-fit: cover;
287
+ }
288
+
289
+ /* Preview File Info */
290
+ .memori--preview-file-info {
291
+ display: flex;
292
+ overflow: hidden;
293
+ flex-direction: column;
294
+ flex-grow: 1;
295
+ }
296
+
297
+ .memori--preview-filename {
298
+ overflow: hidden;
299
+ max-width: 200px;
300
+ color: #495057;
301
+ font-size: 14px;
302
+ font-weight: 500;
303
+ text-overflow: ellipsis;
304
+ white-space: nowrap;
305
+ }
306
+
307
+ .memori--preview-filetype {
308
+ display: flex;
309
+ align-items: center;
310
+ padding: 2px 0;
311
+ margin-top: 2px;
312
+ color: #868e96;
313
+ font-size: 12px;
314
+ }
315
+
316
+ /* Upload Status */
317
+ .memori--upload-status {
318
+ margin-left: 6px;
319
+ color: #40c057;
320
+ font-weight: 500;
321
+ }
322
+
323
+ .memori--upload-status-error {
324
+ color: #fa5252;
325
+ }
326
+
327
+ /* Remove Button */
328
+ .memori--remove-button {
329
+ position: absolute !important;
330
+ top: -4px;
331
+ right: -4px;
332
+ width: 20px !important;
333
+ height: 20px !important;
334
+ padding: 4px;
335
+ margin: 0;
336
+ opacity: 0;
337
+ transform: scale(0.75);
338
+ transition: all 0.2s ease;
339
+ }
340
+
341
+ .memori--remove-button.visible {
342
+ opacity: 1;
343
+ transform: scale(1);
344
+ }
345
+
346
+ .memori--remove-button:hover {
347
+ transform: scale(1.1) !important;
348
+ }
349
+
350
+ /* Modal Preview Content */
351
+ .memori--preview-content {
352
+ padding: 16px;
353
+ border-radius: 8px;
354
+ margin: 0;
355
+ background-color: #f8f9fa;
356
+ font-family: monospace;
357
+ line-height: 1.5;
358
+ }
359
+
360
+ .memori--modal-preview-file .memori--asset-info {
361
+ padding: 12px;
362
+ border: 1px solid #b2f2bb;
363
+ border-radius: 8px;
364
+ margin-top: 16px;
365
+ background-color: #ebfbee;
366
+ text-align: left;
367
+ }
368
+
369
+ .memori--asset-url {
370
+ overflow: hidden;
371
+ padding: 8px 12px;
372
+ border-radius: 4px;
373
+ margin-top: 8px;
374
+ background-color: #f5f5f5;
375
+ font-family: monospace;
376
+ text-overflow: ellipsis;
377
+ white-space: nowrap;
378
+ }
379
+
380
+ /* Positioned containers */
381
+ .memori--error-message-container,
382
+ .memori--login-tip {
383
+ position: absolute;
384
+ z-index: 1001;
385
+ right: 0;
386
+ bottom: 50px;
387
+ }
388
+
389
+ /* File Stats */
390
+ .memori--file-stats {
391
+ position: absolute;
392
+ z-index: 10;
393
+ right: 0;
394
+ bottom: -35px;
395
+ padding: 4px 8px;
396
+ border-radius: 4px;
397
+ margin: 0;
398
+ background-color: #f5f5f5;
399
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
400
+ color: #666;
401
+ font-size: 12px;
402
+ }
403
+
404
+ .memori--file-stats p {
405
+ padding: 2px 0;
406
+ margin: 0;
407
+ }
408
+
409
+ /* Improved image count indicator */
410
+ .memori--image-count {
411
+ position: absolute;
412
+ z-index: 5;
413
+ top: -8px;
414
+ right: -8px;
415
+ padding: 1px 6px;
416
+ border-radius: 10px;
417
+ background-color: #4dabf7;
418
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
419
+ color: white;
420
+ font-size: 11px;
421
+ font-weight: bold;
422
+ }
423
+
424
+ .memori--image-count-full {
425
+ background-color: #fa5252;
426
+ }
427
+
428
+ /* Styled upload slots info */
429
+ .memori--upload-slots-info {
430
+ margin-left: 4px;
431
+ color: #868e96;
432
+ font-size: 12px;
433
+ font-style: italic;
434
+ }
435
+
436
+ /* Disabled menu item styling */
437
+ .memori--upload-menu-item--disabled {
438
+ cursor: not-allowed;
439
+ opacity: 0.5;
440
+ }
441
+
442
+ .memori--upload-menu-item--disabled:hover {
443
+ background-color: transparent;
444
+ transform: none;
445
+ }
446
+
447
+ /* Enhanced floating menu */
448
+ .memori--upload-menu {
449
+ position: absolute;
450
+ z-index: 1000;
451
+ right: 0;
452
+ bottom: 50px;
453
+ width: 220px; /* Slightly wider to accommodate the text */
454
+ padding: 8px 0;
455
+ border-radius: 12px;
456
+ animation: fadeIn 0.2s ease;
457
+ background-color: #fff;
458
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
459
+ transform-origin: bottom right;
460
+ }
461
+
462
+ /* Menu item hover effect */
463
+ .memori--upload-menu-item:hover:not(.memori--upload-menu-item--disabled) {
464
+ background-color: #f5f5f5;
465
+ transform: translateX(4px);
466
+ }
467
+
468
+ /* Error container positioning */
39
469
  .memori--error-message-container {
40
- position: absolute;
41
- z-index: 1000;
42
- right: 0;
43
- bottom: 50%;
44
- width: 100%;
470
+ position: absolute;
471
+ z-index: 1001;
472
+ right: 0;
473
+ bottom: 50px;
474
+ min-width: 250px;
475
+ }
476
+
477
+ input.memori--upload-title-input {
478
+ min-height: 2.5rem;
479
+ border: 1px solid #e0e0e0;
480
+ border-radius: 0.375rem;
481
+ appearance: none;
482
+ background: inherit;
483
+ font-size: 1rem;
484
+ outline: transparent solid 2px;
485
+ outline-offset: 2px;
486
+ padding-inline-end: 1rem;
487
+ padding-inline-start: 1rem;
488
+ transition-duration: 0.2s;
489
+ transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
490
+ }
491
+
492
+ /* Animation Keyframes */
493
+ @keyframes slide-in {
494
+ from {
495
+ opacity: 0;
496
+ transform: translateY(-10px);
497
+ }
498
+ to {
499
+ opacity: 1;
500
+ transform: translateY(0);
501
+ }
502
+ }
503
+
504
+ @keyframes slide-down {
505
+ from {
506
+ opacity: 1;
507
+ transform: translateY(0);
508
+ }
509
+ to {
510
+ opacity: 0;
511
+ transform: translateY(10px);
512
+ }
513
+ }
514
+
515
+ /* Responsive adjustments */
516
+ @media (max-width: 768px) {
517
+ .memori--absolute-preview {
518
+ width: 250px;
519
+ }
520
+
521
+ .memori--upload-menu {
522
+ width: 180px;
523
+ }
45
524
  }
@@ -1,14 +1,17 @@
1
- declare global {
2
- interface Window {
3
- pdfjsLib: any;
4
- XLSX: any;
5
- }
6
- }
7
- declare const FileUploadButton: ({ setPreviewFiles, }: {
8
- setPreviewFiles: (previewFiles: {
1
+ import React from 'react';
2
+ interface UploadManagerProps {
3
+ authToken?: string;
4
+ apiUrl?: string;
5
+ sessionID?: string;
6
+ isMediaAccepted?: boolean;
7
+ setDocumentPreviewFiles: any;
8
+ documentPreviewFiles: {
9
9
  name: string;
10
10
  id: string;
11
11
  content: string;
12
- }[]) => void;
13
- }) => JSX.Element;
14
- export default FileUploadButton;
12
+ mediumID?: string;
13
+ type?: string;
14
+ }[];
15
+ }
16
+ declare const UploadButton: React.FC<UploadManagerProps>;
17
+ export default UploadButton;