@memori.ai/memori-react 8.12.0 → 8.13.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 (135) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/components/Chat/Chat.css +37 -3
  3. package/dist/components/Chat/Chat.js +60 -22
  4. package/dist/components/Chat/Chat.js.map +1 -1
  5. package/dist/components/ChatBubble/ChatBubble.css +9 -5
  6. package/dist/components/ChatBubble/ChatBubble.js +54 -11
  7. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  8. package/dist/components/ChatInputs/ChatInputs.css +293 -17
  9. package/dist/components/ChatInputs/ChatInputs.js +41 -25
  10. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  11. package/dist/components/ChatTextArea/ChatTextArea.css +75 -31
  12. package/dist/components/ChatTextArea/ChatTextArea.js +47 -18
  13. package/dist/components/ChatTextArea/ChatTextArea.js.map +1 -1
  14. package/dist/components/FilePreview/FilePreview.css +225 -146
  15. package/dist/components/FilePreview/FilePreview.d.ts +1 -2
  16. package/dist/components/FilePreview/FilePreview.js +20 -6
  17. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  18. package/dist/components/Header/Header.css +2 -2
  19. package/dist/components/MediaWidget/MediaItemWidget.js +2 -1
  20. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  21. package/dist/components/MediaWidget/MediaWidget.css +0 -4
  22. package/dist/components/MemoriWidget/MemoriWidget.css +11 -2
  23. package/dist/components/MemoriWidget/MemoriWidget.js +41 -5
  24. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  25. package/dist/components/MicrophoneButton/MicrophoneButton.css +2 -2
  26. package/dist/components/StartPanel/StartPanel.css +8 -0
  27. package/dist/components/UploadButton/UploadButton.css +20 -17
  28. package/dist/components/UploadButton/UploadButton.js +218 -89
  29. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  30. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +14 -4
  31. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  32. package/dist/components/UploadButton/UploadImages/UploadImages.js +143 -16
  33. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  34. package/dist/components/layouts/chat.css +1 -1
  35. package/dist/helpers/constants.d.ts +1 -0
  36. package/dist/helpers/constants.js +2 -1
  37. package/dist/helpers/constants.js.map +1 -1
  38. package/dist/helpers/imageCompression.d.ts +7 -0
  39. package/dist/helpers/imageCompression.js +123 -0
  40. package/dist/helpers/imageCompression.js.map +1 -0
  41. package/dist/locales/de.json +7 -4
  42. package/dist/locales/en.json +8 -5
  43. package/dist/locales/es.json +7 -4
  44. package/dist/locales/fr.json +7 -4
  45. package/dist/locales/it.json +8 -5
  46. package/dist/styles.css +1 -2
  47. package/esm/components/Chat/Chat.css +37 -3
  48. package/esm/components/Chat/Chat.js +60 -22
  49. package/esm/components/Chat/Chat.js.map +1 -1
  50. package/esm/components/ChatBubble/ChatBubble.css +9 -5
  51. package/esm/components/ChatBubble/ChatBubble.js +54 -11
  52. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  53. package/esm/components/ChatInputs/ChatInputs.css +293 -17
  54. package/esm/components/ChatInputs/ChatInputs.js +42 -26
  55. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  56. package/esm/components/ChatTextArea/ChatTextArea.css +75 -31
  57. package/esm/components/ChatTextArea/ChatTextArea.js +49 -20
  58. package/esm/components/ChatTextArea/ChatTextArea.js.map +1 -1
  59. package/esm/components/FilePreview/FilePreview.css +225 -146
  60. package/esm/components/FilePreview/FilePreview.d.ts +1 -2
  61. package/esm/components/FilePreview/FilePreview.js +21 -7
  62. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  63. package/esm/components/Header/Header.css +2 -2
  64. package/esm/components/MediaWidget/MediaItemWidget.js +2 -1
  65. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  66. package/esm/components/MediaWidget/MediaWidget.css +0 -4
  67. package/esm/components/MemoriWidget/MemoriWidget.css +11 -2
  68. package/esm/components/MemoriWidget/MemoriWidget.js +41 -5
  69. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  70. package/esm/components/MicrophoneButton/MicrophoneButton.css +2 -2
  71. package/esm/components/StartPanel/StartPanel.css +8 -0
  72. package/esm/components/UploadButton/UploadButton.css +20 -17
  73. package/esm/components/UploadButton/UploadButton.js +219 -90
  74. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  75. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +14 -4
  76. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  77. package/esm/components/UploadButton/UploadImages/UploadImages.js +143 -16
  78. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  79. package/esm/components/layouts/chat.css +1 -1
  80. package/esm/helpers/constants.d.ts +1 -0
  81. package/esm/helpers/constants.js +1 -0
  82. package/esm/helpers/constants.js.map +1 -1
  83. package/esm/helpers/imageCompression.d.ts +7 -0
  84. package/esm/helpers/imageCompression.js +119 -0
  85. package/esm/helpers/imageCompression.js.map +1 -0
  86. package/esm/locales/de.json +7 -4
  87. package/esm/locales/en.json +8 -5
  88. package/esm/locales/es.json +7 -4
  89. package/esm/locales/fr.json +7 -4
  90. package/esm/locales/it.json +8 -5
  91. package/esm/styles.css +1 -2
  92. package/package.json +1 -1
  93. package/src/components/Chat/Chat.css +37 -3
  94. package/src/components/Chat/Chat.tsx +89 -21
  95. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +672 -732
  96. package/src/components/ChatBubble/ChatBubble.css +9 -5
  97. package/src/components/ChatBubble/ChatBubble.tsx +111 -20
  98. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +4 -4
  99. package/src/components/ChatInputs/ChatInputs.css +293 -17
  100. package/src/components/ChatInputs/ChatInputs.tsx +144 -87
  101. package/src/components/ChatInputs/__snapshots__/ChatInputs.test.tsx.snap +430 -424
  102. package/src/components/ChatTextArea/ChatTextArea.css +75 -31
  103. package/src/components/ChatTextArea/ChatTextArea.test.tsx +1 -16
  104. package/src/components/ChatTextArea/ChatTextArea.tsx +51 -22
  105. package/src/components/ChatTextArea/__snapshots__/ChatTextArea.test.tsx.snap +9 -72
  106. package/src/components/FilePreview/FilePreview.css +225 -146
  107. package/src/components/FilePreview/FilePreview.tsx +49 -36
  108. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +2 -2
  109. package/src/components/Header/Header.css +2 -2
  110. package/src/components/MediaWidget/MediaItemWidget.tsx +2 -1
  111. package/src/components/MediaWidget/MediaWidget.css +0 -4
  112. package/src/components/MemoriWidget/MemoriWidget.css +11 -2
  113. package/src/components/MemoriWidget/MemoriWidget.tsx +61 -12
  114. package/src/components/MicrophoneButton/MicrophoneButton.css +2 -2
  115. package/src/components/StartPanel/StartPanel.css +8 -0
  116. package/src/components/UploadButton/UploadButton.css +20 -17
  117. package/src/components/UploadButton/UploadButton.stories.tsx +247 -35
  118. package/src/components/UploadButton/UploadButton.tsx +280 -175
  119. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +19 -4
  120. package/src/components/UploadButton/UploadImages/UploadImages.tsx +195 -35
  121. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +10 -1
  122. package/src/components/layouts/chat.css +1 -1
  123. package/src/helpers/constants.ts +1 -1
  124. package/src/helpers/imageCompression.ts +230 -0
  125. package/src/locales/de.json +7 -4
  126. package/src/locales/en.json +8 -5
  127. package/src/locales/es.json +7 -4
  128. package/src/locales/fr.json +7 -4
  129. package/src/locales/it.json +8 -5
  130. package/src/styles.css +1 -2
  131. package/src/components/UploadMenu/UploadMenu.css +0 -47
  132. package/src/components/UploadMenu/UploadMenu.stories.tsx +0 -66
  133. package/src/components/UploadMenu/UploadMenu.test.tsx +0 -34
  134. package/src/components/UploadMenu/UploadMenu.tsx +0 -68
  135. package/src/components/UploadMenu/__snapshots__/UploadMenu.test.tsx.snap +0 -137
@@ -4,30 +4,59 @@ const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const classnames_1 = tslib_1.__importDefault(require("classnames"));
7
- const Button_1 = tslib_1.__importDefault(require("../ui/Button"));
8
- const Expand_1 = tslib_1.__importDefault(require("../icons/Expand"));
9
- const FullscreenExit_1 = tslib_1.__importDefault(require("../icons/FullscreenExit"));
10
7
  const react_i18next_1 = require("react-i18next");
11
8
  const ChatTextArea = ({ disabled = false, value, onChange, onPressEnter, onFocus, onBlur, onExpandedChange, }) => {
12
9
  const { t } = (0, react_i18next_1.useTranslation)();
13
- const [expanded, setExpanded] = (0, react_1.useState)(false);
14
- const handleExpandToggle = () => {
15
- const newExpanded = !expanded;
16
- setExpanded(newExpanded);
17
- if (onExpandedChange) {
18
- onExpandedChange(newExpanded);
10
+ const textareaRef = (0, react_1.useRef)(null);
11
+ const innerRef = (0, react_1.useRef)(null);
12
+ const MIN_HEIGHT = 36;
13
+ const MAX_HEIGHT = 208;
14
+ (0, react_1.useEffect)(() => {
15
+ const textarea = textareaRef.current;
16
+ const inner = innerRef.current;
17
+ if (textarea && inner) {
18
+ if (value.length === 0) {
19
+ textarea.style.height = `${MIN_HEIGHT}px`;
20
+ inner.style.height = `${MIN_HEIGHT}px`;
21
+ if (onExpandedChange) {
22
+ onExpandedChange(false);
23
+ }
24
+ const chat = document.getElementsByClassName('memori-chat--content');
25
+ if (chat) {
26
+ const lastChild = chat[chat.length - 1];
27
+ if (lastChild) {
28
+ lastChild.style.paddingBottom = '0px';
29
+ }
30
+ }
31
+ }
32
+ else {
33
+ textarea.style.height = 'auto';
34
+ const scrollHeight = textarea.scrollHeight;
35
+ const newHeight = Math.min(Math.max(scrollHeight, MIN_HEIGHT), MAX_HEIGHT);
36
+ textarea.style.height = `${newHeight}px`;
37
+ inner.style.height = `${newHeight}px`;
38
+ const chat = document.getElementsByClassName('memori-chat--content');
39
+ if (chat) {
40
+ const lastChild = chat[chat.length - 1];
41
+ if (lastChild) {
42
+ chat[0].scrollTo({
43
+ top: chat[0].scrollHeight,
44
+ behavior: 'smooth'
45
+ });
46
+ }
47
+ }
48
+ }
19
49
  }
20
- };
50
+ }, [value]);
21
51
  return ((0, jsx_runtime_1.jsx)("div", { "data-testid": "chat-textarea", className: (0, classnames_1.default)('memori-chat-textarea', {
22
- 'memori-chat-textarea--expanded': expanded,
23
52
  'memori-chat-textarea--disabled': disabled,
24
- }), children: (0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-textarea--inner", children: [(0, jsx_runtime_1.jsx)("textarea", { className: "memori-chat-textarea--input", disabled: disabled, value: value, onChange: e => {
25
- onChange(e.target.value);
26
- }, onKeyDownCapture: e => {
27
- if (e.key === 'Enter' && !e.shiftKey && onPressEnter) {
28
- onPressEnter(e);
29
- }
30
- }, onFocus: onFocus, onBlur: onBlur, maxLength: 100000 }), (0, jsx_runtime_1.jsx)("div", { className: "memori-chat-textarea--expand", children: (0, jsx_runtime_1.jsx)(Button_1.default, { className: (0, classnames_1.default)('memori-chat-textarea--expand-button'), onClick: handleExpandToggle, padded: false, ghost: true, title: expanded ? t('collapse') || 'Collapse' : t('expand') || 'Expand', icon: expanded ? (0, jsx_runtime_1.jsx)(FullscreenExit_1.default, {}) : (0, jsx_runtime_1.jsx)(Expand_1.default, {}) }) })] }) }));
53
+ }), children: (0, jsx_runtime_1.jsx)("div", { ref: innerRef, className: "memori-chat-textarea--inner", children: (0, jsx_runtime_1.jsx)("textarea", { ref: textareaRef, className: "memori-chat-textarea--input", disabled: disabled, value: value, placeholder: t('placeholder', 'Ask a question') || 'Ask a question', onChange: e => {
54
+ onChange(e.target.value);
55
+ }, onKeyDownCapture: e => {
56
+ if (e.key === 'Enter' && !e.shiftKey && onPressEnter) {
57
+ onPressEnter(e);
58
+ }
59
+ }, onFocus: onFocus, onBlur: onBlur, maxLength: 100000 }) }) }));
31
60
  };
32
61
  exports.default = ChatTextArea;
33
62
  //# sourceMappingURL=ChatTextArea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatTextArea.js","sourceRoot":"","sources":["../../../src/components/ChatTextArea/ChatTextArea.tsx"],"names":[],"mappings":";;;;AAAA,iCAAwC;AACxC,oEAA4B;AAC5B,kEAAkC;AAClC,qEAAqC;AACrC,qFAAqD;AACrD,iDAA+C;AAY/C,MAAM,YAAY,GAAoB,CAAC,EACrC,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,MAAM,EACN,gBAAgB,GACjB,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC/B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC;QAC9B,WAAW,CAAC,WAAW,CAAC,CAAC;QACzB,IAAI,gBAAgB,EAAE;YACpB,gBAAgB,CAAC,WAAW,CAAC,CAAC;SAC/B;IACH,CAAC,CAAC;IAEF,OAAO,CACL,+CACc,eAAe,EAC3B,SAAS,EAAE,IAAA,oBAAE,EAAC,sBAAsB,EAAE;YACpC,gCAAgC,EAAE,QAAQ;YAC1C,gCAAgC,EAAE,QAAQ;SAC3C,CAAC,YAEF,iCAAK,SAAS,EAAC,6BAA6B,aAC1C,qCACE,SAAS,EAAC,6BAA6B,EACvC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE;wBACZ,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC,EACD,gBAAgB,EAAE,CAAC,CAAC,EAAE;wBACpB,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,YAAY,EAAE;4BACpD,YAAY,CAAC,CAAC,CAAC,CAAC;yBACjB;oBACH,CAAC,EACD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GACjB,EACF,gCAAK,SAAS,EAAC,8BAA8B,YAC3C,uBAAC,gBAAM,IACL,SAAS,EAAE,IAAA,oBAAE,EAAC,qCAAqC,CAAC,EACpD,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,KAAK,EACb,KAAK,QACL,KAAK,EACH,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAElE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,uBAAC,wBAAc,KAAG,CAAC,CAAC,CAAC,uBAAC,gBAAM,KAAG,GAChD,GACE,IACF,GACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"ChatTextArea.js","sourceRoot":"","sources":["../../../src/components/ChatTextArea/ChatTextArea.tsx"],"names":[],"mappings":"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"}
@@ -1,223 +1,302 @@
1
1
  /* Updated FilePreview Styles */
2
2
 
3
3
  .memori--preview-container {
4
- z-index: 10;
5
- min-width: 100%;
6
- padding: 12px;
7
- border-radius: 8px;
8
- margin-bottom: 12px;
9
- animation: slide-in 0.3s ease;
10
- background: white;
11
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
12
- transition: all 0.3s ease;
4
+ z-index: 10;
5
+ min-width: 100%;
6
+ /* padding: 12px; */
7
+ border-radius: 8px;
8
+ /* margin-bottom: 12px; */
9
+ animation: slide-in 0.3s ease;
10
+ background: white;
11
+ /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
12
+ transition: all 0.3s ease;
13
13
  }
14
14
 
15
15
  .memori--preview-container.slide-down {
16
- animation: slide-down 0.3s ease;
17
- }
18
-
19
- .memori--absolute-preview {
20
- position: absolute;
21
- z-index: 10;
22
- right: 0;
23
- bottom: 100%;
24
- left: 0;
25
- max-height: 200px;
26
- overflow-y: auto;
16
+ animation: slide-down 0.3s ease;
27
17
  }
28
18
 
29
19
  /* Responsive adjustments for file preview */
30
20
  @media (max-width: 768px) {
31
- .memori--absolute-preview {
32
- max-height: 150px;
33
- }
21
+ .memori--absolute-preview {
22
+ max-height: 150px;
23
+ }
34
24
 
35
- .memori--preview-container {
36
- padding: 8px;
37
- margin-bottom: 8px;
38
- }
25
+ .memori--preview-container {
26
+ padding: 8px;
27
+ margin-bottom: 8px;
28
+ }
39
29
 
40
- .memori--preview-filename {
41
- max-width: 150px;
42
- font-size: 12px;
43
- }
30
+ .memori--preview-filename {
31
+ max-width: 150px;
32
+ font-size: 12px;
33
+ }
34
+
35
+ /* Make remove button always visible on mobile */
36
+ .memori--remove-button {
37
+ opacity: 1 !important;
38
+ transform: scale(1) !important;
39
+ }
40
+
41
+ /* Increase card size for easier interaction */
42
+ .memori--preview-item {
43
+ min-width: 140px;
44
+ min-height: 60px;
45
+ padding: 12px;
46
+ }
47
+
48
+ .memori--preview-icon {
49
+ width: 24px;
50
+ height: 24px;
51
+ }
52
+
53
+ .memori--preview-thumbnail {
54
+ min-width: 50px;
55
+ min-height: 50px;
56
+ }
57
+
58
+ .memori--preview-thumbnail img {
59
+ width: 50px;
60
+ height: 50px;
61
+ object-fit: cover;
62
+ }
44
63
  }
45
64
 
46
65
  @media (max-width: 480px) {
47
- .memori--absolute-preview {
48
- max-height: 120px;
49
- }
66
+ .memori--absolute-preview {
67
+ max-height: 120px;
68
+ }
50
69
 
51
- .memori--preview-container {
52
- padding: 6px;
53
- margin-bottom: 6px;
54
- }
70
+ .memori--preview-container {
71
+ padding: 6px;
72
+ margin-bottom: 6px;
73
+ }
55
74
 
56
- .memori--preview-filename {
57
- max-width: 100px;
58
- font-size: 11px;
59
- }
75
+ .memori--preview-filename {
76
+ max-width: 100px;
77
+ font-size: 11px;
78
+ }
79
+
80
+ /* Make remove button always visible on mobile */
81
+ .memori--remove-button {
82
+ opacity: 1 !important;
83
+ transform: scale(1) !important;
84
+ }
85
+
86
+ /* Increase card size for easier interaction on small screens */
87
+ .memori--preview-item {
88
+ min-width: 160px;
89
+ min-height: 70px;
90
+ padding: 14px;
91
+ }
92
+
93
+ .memori--preview-icon {
94
+ width: 28px;
95
+ height: 28px;
96
+ }
97
+
98
+ .memori--preview-thumbnail {
99
+ min-width: 60px;
100
+ min-height: 60px;
101
+ }
102
+
103
+ .memori--preview-thumbnail img {
104
+ width: 60px;
105
+ height: 60px;
106
+ object-fit: cover;
107
+ }
60
108
  }
61
109
 
62
110
  .memori--message-preview {
63
- max-width: 100%;
64
- margin: 12px 0;
111
+ max-width: 100%;
112
+ margin: 12px 0;
65
113
  }
66
114
 
67
115
  .memori--preview-list {
68
- display: flex;
69
- flex-direction: row;
70
- gap: 8px;
71
- overflow-x: auto;
116
+ display: flex;
117
+ flex-direction: row;
118
+ padding: 0.875rem;
119
+ padding-bottom: 0.625rem;
120
+ gap: 8px;
121
+ overflow-x: auto;
122
+ scrollbar-color: hsla(var(--border-300) / 35%) transparent;
123
+ scrollbar-width: thin;
72
124
  }
73
125
 
74
126
  .memori--preview-item {
75
- position: relative;
76
- display: flex;
77
- max-width: fit-content;
78
- align-items: center;
79
- padding: 8px;
80
- border-radius: 8px;
81
- animation: slide-in 0.3s ease;
82
- background-color: #f8f9fa;
83
- cursor: pointer;
84
- gap: 8px;
85
- transition: all 0.2s ease;
127
+ position: relative;
128
+ display: flex;
129
+ max-width: fit-content;
130
+ align-items: center;
131
+ padding: 8px;
132
+ border-radius: 8px;
133
+ animation: slide-in 0.3s ease;
134
+ background-color: #f8f9fa;
135
+ cursor: pointer;
136
+ gap: 8px;
137
+ transition: all 0.2s ease;
86
138
  }
87
139
 
88
140
  .memori--preview-item:hover {
89
- background-color: #f1f3f5;
90
- transform: translateX(4px);
141
+ background-color: #f1f3f5;
142
+ transform: translateX(4px);
91
143
  }
92
144
 
93
145
  .memori--preview-icon {
94
- width: 20px;
95
- height: 20px;
96
- flex-shrink: 0;
97
- color: #fff;
98
- fill: var(--memori-primary);
146
+ width: 20px;
147
+ height: 20px;
148
+ flex-shrink: 0;
149
+ color: #fff;
150
+ fill: var(--memori-primary);
151
+ }
152
+
153
+ .memori--preview-thumbnail {
154
+ display: flex;
155
+ overflow: hidden;
156
+ flex-shrink: 0;
157
+ align-items: center;
158
+ justify-content: center;
159
+ border-radius: 4px;
160
+ }
161
+
162
+ .memori--preview-thumbnail img {
163
+ width: 40px;
164
+ height: 40px;
165
+ border-radius: 4px;
166
+ object-fit: cover;
99
167
  }
100
168
 
101
169
  .memori--preview-file-info {
102
- display: flex;
103
- overflow: hidden;
104
- flex-direction: column;
170
+ display: flex;
171
+ overflow: hidden;
172
+ flex-direction: column;
173
+ }
174
+
175
+ .memori-modal--title {
176
+ overflow: hidden;
177
+ max-width: 100%;
178
+ text-overflow: ellipsis;
179
+ white-space: nowrap;
105
180
  }
106
181
 
107
182
  .memori--preview-filename {
108
- overflow: hidden;
109
- max-width: 200px;
110
- color: #495057;
111
- font-size: 14px;
112
- font-weight: 500;
113
- text-overflow: ellipsis;
114
- white-space: nowrap;
183
+ overflow: hidden;
184
+ max-width: 100px;
185
+ color: #495057;
186
+ font-size: 14px;
187
+ font-weight: 500;
188
+ text-overflow: ellipsis;
189
+ white-space: nowrap;
115
190
  }
116
191
 
117
192
  .memori--preview-filetype {
118
- margin-top: 2px;
119
- color: #868e96;
120
- font-size: 12px;
193
+ margin-top: 2px;
194
+ color: #868e96;
195
+ font-size: 12px;
121
196
  }
122
197
 
123
198
  .memori--modal-title-preview {
124
- margin-top: 12px;
125
- margin-bottom: 12px;
126
- font-size: 20px;
127
- font-weight: 600;
199
+ margin-top: 12px;
200
+ margin-bottom: 12px;
201
+ font-size: 20px;
202
+ font-weight: 600;
128
203
  }
129
204
 
130
205
  .memori--remove-button {
131
- position: absolute;
132
- top: -4px;
133
- right: -4px;
134
- padding: 4px;
135
- border: none;
136
- border-radius: 50%;
137
- background-color: #e03131;
138
- color: white;
139
- cursor: pointer;
140
- opacity: 0;
141
- transform: scale(0.75);
142
- transition: all 0.2s ease;
206
+ position: absolute;
207
+ top: -4px;
208
+ right: -4px;
209
+ padding: 4px;
210
+ border: none;
211
+ border-radius: 50%;
212
+ background-color: #e03131;
213
+ color: white;
214
+ cursor: pointer;
215
+ opacity: 0;
216
+ transform: scale(0.75);
217
+ transition: all 0.2s ease;
143
218
  }
144
219
 
145
220
  .memori--remove-button.visible {
146
- opacity: 1;
147
- transform: scale(1);
221
+ opacity: 1;
222
+ transform: scale(1);
148
223
  }
149
224
 
150
225
  .memori--remove-button:hover {
151
- background-color: #c92a2a;
152
- transform: scale(1.1);
226
+ background-color: #c92a2a;
227
+ transform: scale(1.1);
153
228
  }
154
229
 
155
230
  .memori--remove-icon {
156
- width: 12px;
157
- height: 12px;
231
+ width: 12px;
232
+ height: 12px;
158
233
  }
159
234
 
160
235
  .memori--modal-preview-file {
161
- width: 100%;
162
- max-width: 800px;
163
- height: 100%;
164
- padding: 12px;
236
+ width: 100%;
237
+ max-width: 800px;
238
+ height: 100%;
239
+ padding: 12px;
165
240
  }
166
241
 
167
242
  .memori--preview-content {
168
- padding: 16px;
169
- border-radius: 8px;
170
- background-color: #f8f9fa;
171
- font-family: monospace;
172
- font-size: 14px;
173
- line-height: 1.5;
243
+ padding: 16px;
244
+ border-radius: 8px;
245
+ /* background-color: #f8f9fa; */
246
+ font-family: monospace;
247
+ font-size: 14px;
248
+ line-height: 1.5;
174
249
  }
175
250
 
176
251
  @keyframes fadeIn {
177
- from { opacity: 0; }
178
- to { opacity: 1; }
252
+ from {
253
+ opacity: 0;
254
+ }
255
+ to {
256
+ opacity: 1;
257
+ }
179
258
  }
180
259
 
181
260
  @keyframes scaleIn {
182
- from {
183
- opacity: 0;
184
- transform: scale(0.95);
185
- }
186
- to {
187
- opacity: 1;
188
- transform: scale(1);
189
- }
261
+ from {
262
+ opacity: 0;
263
+ transform: scale(0.95);
264
+ }
265
+ to {
266
+ opacity: 1;
267
+ transform: scale(1);
268
+ }
190
269
  }
191
270
 
192
271
  @keyframes slide-up {
193
- from {
194
- opacity: 0;
195
- transform: translateY(10px);
196
- }
197
- to {
198
- opacity: 1;
199
- transform: translateY(0);
200
- }
272
+ from {
273
+ opacity: 0;
274
+ transform: translateY(10px);
275
+ }
276
+ to {
277
+ opacity: 1;
278
+ transform: translateY(0);
279
+ }
201
280
  }
202
281
 
203
282
  @keyframes slide-in {
204
- from {
205
- opacity: 0;
206
- transform: translateY(-10px);
207
- }
208
- to {
209
- opacity: 1;
210
- transform: translateY(0);
211
- }
283
+ from {
284
+ opacity: 0;
285
+ transform: translateY(-10px);
286
+ }
287
+ to {
288
+ opacity: 1;
289
+ transform: translateY(0);
290
+ }
212
291
  }
213
292
 
214
293
  @keyframes slide-down {
215
- from {
216
- opacity: 1;
217
- transform: translateY(0);
218
- }
219
- to {
220
- opacity: 0;
221
- transform: translateY(10px);
222
- }
223
- }
294
+ from {
295
+ opacity: 1;
296
+ transform: translateY(0);
297
+ }
298
+ to {
299
+ opacity: 0;
300
+ transform: translateY(10px);
301
+ }
302
+ }
@@ -3,7 +3,6 @@ type FilePreviewProps = {
3
3
  previewFiles: any;
4
4
  removeFile: (id: string, mediumID: string | undefined) => void;
5
5
  allowRemove?: boolean;
6
- isMessagePreview?: boolean;
7
6
  };
8
- declare const FilePreview: ({ previewFiles, removeFile, allowRemove, isMessagePreview, }: FilePreviewProps) => JSX.Element;
7
+ declare const FilePreview: ({ previewFiles, removeFile, allowRemove, }: FilePreviewProps) => JSX.Element;
9
8
  export default FilePreview;
@@ -8,7 +8,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
10
  const utils_1 = require("../../helpers/utils");
11
- const FilePreview = ({ previewFiles, removeFile, allowRemove = true, isMessagePreview = false, }) => {
11
+ const FilePreview = ({ previewFiles, removeFile, allowRemove = true, }) => {
12
12
  const [selectedFile, setSelectedFile] = (0, react_1.useState)(null);
13
13
  const [hoveredId, setHoveredId] = (0, react_1.useState)(null);
14
14
  const getFileType = (filename, type) => {
@@ -46,6 +46,18 @@ const FilePreview = ({ previewFiles, removeFile, allowRemove = true, isMessagePr
46
46
  return 'Document';
47
47
  }
48
48
  };
49
+ (0, react_1.useEffect)(() => {
50
+ const chat = document.getElementsByClassName('memori-chat--content');
51
+ if (chat) {
52
+ const lastChild = chat[chat.length - 1];
53
+ if (lastChild) {
54
+ chat[0].scrollTo({
55
+ top: chat[0].scrollHeight,
56
+ behavior: 'smooth',
57
+ });
58
+ }
59
+ }
60
+ }, [previewFiles]);
49
61
  const isImageContent = (content, type) => {
50
62
  if (type === 'image')
51
63
  return true;
@@ -56,9 +68,7 @@ const FilePreview = ({ previewFiles, removeFile, allowRemove = true, isMessagePr
56
68
  hasImageExtension);
57
69
  return isImageUrl || hasImageExtension;
58
70
  };
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
60
- ? 'memori--message-preview'
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)
71
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [previewFiles.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "memori--preview-container", 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
72
  ? 'memori--preview-item--image'
63
73
  : '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 => {
64
74
  e.stopPropagation();
@@ -67,8 +77,12 @@ const FilePreview = ({ previewFiles, removeFile, allowRemove = true, isMessagePr
67
77
  maxHeight: '70vh',
68
78
  overflowY: 'auto',
69
79
  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) || '')) }) })] }));
80
+ whiteSpace: selectedFile &&
81
+ !isImageContent(selectedFile.content, selectedFile.type)
82
+ ? 'pre-wrap'
83
+ : 'normal',
84
+ }, children: selectedFile &&
85
+ 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) || '')) }) })] }));
72
86
  };
73
87
  exports.default = FilePreview;
74
88
  //# sourceMappingURL=FilePreview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilePreview.js","sourceRoot":"","sources":["../../../src/components/FilePreview/FilePreview.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilePreview.js","sourceRoot":"","sources":["../../../src/components/FilePreview/FilePreview.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  .memori-header {
2
2
  position: relative;
3
- z-index: 999;
3
+ z-index: 1000;
4
4
  width: calc(50% - 1rem);
5
5
  height: 50px;
6
6
  padding: calc(var(--memori-inner-content-pad) / 4) calc(var(--memori-inner-content-pad) / 2);
@@ -106,4 +106,4 @@
106
106
 
107
107
  .memori-dropdown--avatar-initial:hover + .memori-dropdown--avatar-input,.memori-dropdown--avatar:hover + .memori-dropdown--avatar-input{
108
108
  display: block;
109
- }
109
+ }
@@ -39,6 +39,7 @@ const RenderMediaItem = ({ isChild = false, item, sessionID, tenantID, preview =
39
39
  const isCodeSnippet = constants_1.prismSyntaxLangs
40
40
  .map(l => l.mimeType)
41
41
  .includes(item.mimeType);
42
+ const isHTML = item.mimeType === 'text/html';
42
43
  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('));
43
44
  const isValidUrl = (urlString) => {
44
45
  if (!urlString)
@@ -98,7 +99,7 @@ const RenderMediaItem = ({ isChild = false, item, sessionID, tenantID, preview =
98
99
  return (0, jsx_runtime_1.jsx)(File_1.default, { className: "memori-media-item--icon" });
99
100
  }
100
101
  };
101
- if (isCodeSnippet && item.content) {
102
+ if ((isCodeSnippet && item.content) || isHTML) {
102
103
  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 => {
103
104
  e.preventDefault();
104
105
  setModalOpen(true);