@memori.ai/memori-react 8.38.4 → 8.38.6

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 (107) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/components/Chat/Chat.js +11 -23
  3. package/dist/components/Chat/Chat.js.map +1 -1
  4. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +12 -3
  5. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -1
  6. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +18 -8
  7. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  8. package/dist/components/DrawerFooter/DrawerFooter.js +1 -1
  9. package/dist/components/DrawerFooter/DrawerFooter.js.map +1 -1
  10. package/dist/components/FilePreview/FilePreview.js +20 -2
  11. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  12. package/dist/components/MediaWidget/MediaItemWidget.js +9 -6
  13. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  14. package/dist/components/MediaWidget/MediaItemWidget.utils.d.ts +1 -0
  15. package/dist/components/MediaWidget/MediaItemWidget.utils.js +27 -7
  16. package/dist/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
  17. package/dist/components/MobileSessionPanel/MobileSessionPanel.css +48 -4
  18. package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +7 -2
  19. package/dist/components/MobileSessionPanel/MobileSessionPanel.js +178 -58
  20. package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  21. package/dist/components/PositionPopover/PositionPopover.js +2 -1
  22. package/dist/components/PositionPopover/PositionPopover.js.map +1 -1
  23. package/dist/components/UploadButton/UploadButton.js +40 -11
  24. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  25. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +0 -2
  26. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +53 -30
  27. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  28. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +6 -2
  29. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  30. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +1 -3
  31. package/dist/components/layouts/fullpage.css +79 -28
  32. package/dist/components/ui/Tooltip.js +3 -3
  33. package/dist/components/ui/Tooltip.js.map +1 -1
  34. package/dist/helpers/constants.d.ts +3 -0
  35. package/dist/helpers/constants.js +24 -1
  36. package/dist/helpers/constants.js.map +1 -1
  37. package/dist/helpers/usePressTooltip.d.ts +13 -0
  38. package/dist/helpers/usePressTooltip.js +23 -0
  39. package/dist/helpers/usePressTooltip.js.map +1 -0
  40. package/dist/helpers/utils.d.ts +15 -0
  41. package/dist/helpers/utils.js +45 -1
  42. package/dist/helpers/utils.js.map +1 -1
  43. package/dist/version.d.ts +1 -1
  44. package/dist/version.js +1 -1
  45. package/esm/components/Chat/Chat.js +12 -24
  46. package/esm/components/Chat/Chat.js.map +1 -1
  47. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +12 -3
  48. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -1
  49. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +18 -8
  50. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  51. package/esm/components/DrawerFooter/DrawerFooter.js +1 -1
  52. package/esm/components/DrawerFooter/DrawerFooter.js.map +1 -1
  53. package/esm/components/FilePreview/FilePreview.js +22 -4
  54. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  55. package/esm/components/MediaWidget/MediaItemWidget.js +11 -8
  56. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  57. package/esm/components/MediaWidget/MediaItemWidget.utils.d.ts +1 -0
  58. package/esm/components/MediaWidget/MediaItemWidget.utils.js +25 -6
  59. package/esm/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
  60. package/esm/components/MobileSessionPanel/MobileSessionPanel.css +48 -4
  61. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +7 -2
  62. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +179 -60
  63. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  64. package/esm/components/PositionPopover/PositionPopover.js +2 -1
  65. package/esm/components/PositionPopover/PositionPopover.js.map +1 -1
  66. package/esm/components/UploadButton/UploadButton.js +40 -11
  67. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  68. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +0 -2
  69. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +53 -30
  70. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  71. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +6 -2
  72. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  73. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +1 -3
  74. package/esm/components/layouts/fullpage.css +79 -28
  75. package/esm/components/ui/Tooltip.js +3 -3
  76. package/esm/components/ui/Tooltip.js.map +1 -1
  77. package/esm/helpers/constants.d.ts +3 -0
  78. package/esm/helpers/constants.js +23 -0
  79. package/esm/helpers/constants.js.map +1 -1
  80. package/esm/helpers/usePressTooltip.d.ts +13 -0
  81. package/esm/helpers/usePressTooltip.js +20 -0
  82. package/esm/helpers/usePressTooltip.js.map +1 -0
  83. package/esm/helpers/utils.d.ts +15 -0
  84. package/esm/helpers/utils.js +39 -0
  85. package/esm/helpers/utils.js.map +1 -1
  86. package/esm/version.d.ts +1 -1
  87. package/esm/version.js +1 -1
  88. package/package.json +1 -1
  89. package/src/components/Chat/Chat.tsx +19 -44
  90. package/src/components/FilePreview/FilePreview.tsx +26 -4
  91. package/src/components/MediaWidget/MediaItemWidget.tsx +19 -7
  92. package/src/components/MediaWidget/MediaItemWidget.utils.test.ts +45 -2
  93. package/src/components/MediaWidget/MediaItemWidget.utils.ts +37 -6
  94. package/src/components/UploadButton/UploadButton.tsx +154 -104
  95. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +54 -42
  96. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +2 -2
  97. package/src/components/ui/Tooltip.tsx +3 -2
  98. package/src/helpers/constants.ts +29 -1
  99. package/src/helpers/utils.test.ts +101 -0
  100. package/src/helpers/utils.ts +66 -0
  101. package/src/version.ts +1 -1
  102. package/dist/helpers/userMessage.d.ts +0 -2
  103. package/dist/helpers/userMessage.js +0 -23
  104. package/dist/helpers/userMessage.js.map +0 -1
  105. package/esm/helpers/userMessage.d.ts +0 -2
  106. package/esm/helpers/userMessage.js +0 -18
  107. package/esm/helpers/userMessage.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  /* FullPage layout – spacing, typography and structure using global design tokens */
2
2
 
3
3
  .memori-widget.memori-layout-fullpage {
4
- max-width: var(--memori-layout-max-width);
5
- min-height: 100vh;
6
- min-height: 100dvh;
4
+ /* max-width: var(--memori-layout-max-width); */
5
+ /* min-height: 100vh;
6
+ min-height: 100dvh; */
7
7
  padding: var(--memori-spacing-md);
8
8
  margin-right: auto;
9
9
  margin-left: auto;
@@ -17,22 +17,11 @@
17
17
  flex-direction: column;
18
18
  gap: 0;
19
19
  }
20
- /*
21
- .memori-widget.memori-layout-fullpage > .memori-spin > .memori--powered-by {
22
- top: auto;
23
- right: auto;
24
- bottom: 22%;
25
- left: 8%;
26
- } */
27
-
28
- /* 3D avatar: pin “Powered by” to the corner so it clears the figure */
29
- .memori-widget.memori-layout-fullpage > .memori-spin > .memori--powered-by,
30
- .memori-widget.memori-layout-fullpage.memori--avatar-readyplayerme > .memori-spin > .memori--powered-by,
31
- .memori-widget.memori-layout-fullpage.memori--avatar-readyplayerme-full > .memori-spin > .memori--powered-by,
32
- .memori-widget.memori-layout-fullpage.memori--avatar-customglb > .memori-spin > .memori--powered-by,
33
- .memori-widget.memori-layout-fullpage.memori--avatar-customrpm > .memori-spin > .memori--powered-by {
34
- bottom: 3.5rem;
35
- left: 1.5rem;
20
+ /* "Powered by" is rendered inside .memori--grid-column-left and pinned to its bottom-left corner
21
+ via the default absolute positioning defined in PoweredBy.css. */
22
+ .memori-widget.memori-layout-fullpage .memori--grid-column-left > .memori--powered-by {
23
+ bottom: 1rem;
24
+ left: 1rem;
36
25
  }
37
26
 
38
27
  /* Header spacing + fullpage chrome (brand + actions bar) */
@@ -50,11 +39,16 @@
50
39
  min-width: 100%;
51
40
  flex-shrink: 0;
52
41
  /* padding: 0.625rem 0.9rem; */
42
+ border-bottom: 1px solid color-mix(in srgb, var(--memori-text-color, #111827) 12%, transparent);
43
+ /* border-radius: 0.9rem; */
44
+ -webkit-backdrop-filter: blur(12px);
45
+ backdrop-filter: blur(12px);
46
+ background: color-mix(in oklch, var(--memori-secondary-background), transparent 8%);
47
+ /* box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08); */
48
+ }
49
+
50
+ .memori-widget.memori-layout-fullpage .memori-chat-layout--controls .memori-chat--history {
53
51
  border: 1px solid color-mix(in srgb, var(--memori-text-color, #111827) 12%, transparent);
54
- border-radius: 0.9rem;
55
- backdrop-filter: blur(10px);
56
- background: color-mix(in srgb, var(--memori-main-background, #ffffff) 92%, transparent);
57
- box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
58
52
  }
59
53
 
60
54
  .memori-widget.memori-layout-fullpage .memori-fullpage-header-row,
@@ -71,8 +65,9 @@
71
65
  .memori-widget.memori-layout-fullpage .memori-fullpage-header-brand,
72
66
  .memori-widget.memori-layout-chat .memori-fullpage-header-brand {
73
67
  display: inline-flex;
68
+ overflow: hidden;
74
69
  min-width: 0;
75
- flex-shrink: 0;
70
+ flex: 1 1 auto;
76
71
  align-items: center;
77
72
  gap: 0.625rem;
78
73
  }
@@ -99,7 +94,11 @@
99
94
 
100
95
  .memori-widget.memori-layout-fullpage .memori-fullpage-header-brand-name,
101
96
  .memori-widget.memori-layout-chat .memori-fullpage-header-brand-name {
97
+ display: block;
102
98
  overflow: hidden;
99
+ min-width: 0;
100
+ max-width: 100%;
101
+ flex: 1 1 auto;
103
102
  color: var(--memori-text-color, #1f2937);
104
103
  font-size: 1.35rem;
105
104
  font-weight: 700;
@@ -113,7 +112,7 @@
113
112
  .memori-widget.memori-layout-chat .memori-fullpage-header-actions {
114
113
  display: flex;
115
114
  min-width: 0;
116
- flex: 1;
115
+ flex: 0 0 auto;
117
116
  align-items: center;
118
117
  justify-content: flex-end;
119
118
  }
@@ -140,6 +139,7 @@
140
139
  /* CHAT: title block a sinistra, controlli allineati a destra */
141
140
  .memori-widget.memori-layout-chat .memori-fullpage-header-row {
142
141
  justify-content: flex-end;
142
+ background: var(--memori-secondary-background);
143
143
  }
144
144
 
145
145
  .memori-widget.memori-layout-chat .memori-fullpage-header-brand {
@@ -147,12 +147,25 @@
147
147
  }
148
148
 
149
149
  .memori-widget.memori-layout-chat .memori-fullpage-header-actions {
150
- flex: 0 1 auto;
150
+ flex: 0 0 auto;
151
+ }
152
+
153
+ /* Full-height flex row: [grid] [artifact column] — outside the grid so artifact
154
+ spans the entire content height without inheriting grid padding/max-width */
155
+ .memori-widget.memori-layout-fullpage .memori-fullpage-content-row {
156
+ display: flex;
157
+ overflow: hidden;
158
+ min-height: 0;
159
+ flex: 1 1 auto;
160
+ flex-direction: row;
161
+ align-items: stretch;
151
162
  }
152
163
 
153
164
  /* Grid: main + left column (avatar) */
154
165
  .memori-widget.memori-layout-fullpage .memori--grid {
155
166
  display: flex;
167
+ width: 100%;
168
+ max-width: var(--memori-layout-max-width);
156
169
  height: 100%;
157
170
  min-height: 0;
158
171
  flex: 1 1 auto;
@@ -161,6 +174,7 @@
161
174
  padding: 0 var(--memori-spacing-md) var(--memori-spacing-md);
162
175
  padding-top: var(--memori-spacing-md);
163
176
  padding-bottom: var(--memori-spacing-xl);
177
+ margin: 0 auto;
164
178
  gap: var(--memori-spacing-md);
165
179
  }
166
180
 
@@ -197,6 +211,36 @@
197
211
  justify-content: stretch;
198
212
  }
199
213
 
214
+ /* Artifact column — flex sibling of .memori--grid inside .memori-fullpage-content-row.
215
+ Sits outside the padded grid so it spans the full content height with no padding gaps. */
216
+ .memori-widget.memori-layout-fullpage .memori--grid-column-artifact {
217
+ overflow: hidden;
218
+ width: 0;
219
+ min-width: 0;
220
+ flex-shrink: 0;
221
+ transition: width 0.25s ease;
222
+ }
223
+
224
+ .memori-widget.memori-layout-fullpage .memori--grid-column-artifact--open {
225
+ width: 600px;
226
+ border-left: 1px solid color-mix(in srgb, var(--memori-text-color, #111827) 10%, transparent);
227
+ background: var(--memori-secondary-background);
228
+ }
229
+
230
+ /* Hide avatar column when artifact drawer is open.
231
+ Selector updated: artifact is now a sibling of .memori--grid, not inside it. */
232
+ .memori-widget.memori-layout-fullpage
233
+ .memori-fullpage-content-row:has(.memori--grid-column-artifact--open)
234
+ .memori--grid-column-left {
235
+ display: none;
236
+ }
237
+
238
+ @media (max-width: 1260px) {
239
+ .memori-widget.memori-layout-fullpage .memori--grid-column-artifact {
240
+ display: none;
241
+ }
242
+ }
243
+
200
244
  .memori-widget.memori-layout-fullpage .memori-chat-layout--controls {
201
245
  display: flex;
202
246
  width: 100%;
@@ -316,9 +360,16 @@
316
360
  align-items: flex-start;
317
361
  }
318
362
 
363
+ .memori-widget.memori-layout-fullpage .memori-fullpage-header-brand,
364
+ .memori-widget.memori-layout-chat .memori-fullpage-header-brand {
365
+ min-width: 0;
366
+ max-width: calc(100% - 6.5rem);
367
+ flex: 1 1 auto;
368
+ }
369
+
319
370
  .memori-widget.memori-layout-fullpage .memori-fullpage-header-actions,
320
371
  .memori-widget.memori-layout-chat .memori-fullpage-header-actions {
321
- flex: 1 1 100%;
372
+ flex: 0 0 auto;
322
373
  justify-content: flex-end;
323
374
  }
324
375
 
@@ -330,7 +381,7 @@
330
381
 
331
382
  .memori-widget.memori-layout-chat .memori-fullpage-header-actions {
332
383
  min-width: 0;
333
- flex: 1 1 auto;
384
+ flex: 0 0 auto;
334
385
  flex-wrap: nowrap;
335
386
  justify-content: flex-end;
336
387
  -webkit-overflow-scrolling: touch;
@@ -33,7 +33,7 @@ const Tooltip = ({ content, className, align = 'right', disabled = false, visibl
33
33
  closeTimeoutRef.current = setTimeout(() => {
34
34
  setIsHovered(false);
35
35
  closeTimeoutRef.current = null;
36
- }, 100);
36
+ }, 300);
37
37
  }, []);
38
38
  const handleContentEnter = useCallback(() => {
39
39
  clearCloseTimeout();
@@ -43,7 +43,7 @@ const Tooltip = ({ content, className, align = 'right', disabled = false, visibl
43
43
  closeTimeoutRef.current = setTimeout(() => {
44
44
  setIsHovered(false);
45
45
  closeTimeoutRef.current = null;
46
- }, 100);
46
+ }, 300);
47
47
  }, []);
48
48
  useEffect(() => {
49
49
  if (!isOpen)
@@ -75,7 +75,7 @@ const Tooltip = ({ content, className, align = 'right', disabled = false, visibl
75
75
  height: 0,
76
76
  pointerEvents: 'none',
77
77
  zIndex: 2147483647,
78
- }, children: _jsx("div", { className: "memori-tooltip--content memori-tooltip--content-portal", onMouseEnter: handleContentEnter, onMouseLeave: handleContentLeave, children: content }) })), document.body)
78
+ }, children: _jsx("div", { className: "memori-tooltip--content memori-tooltip--content-portal", style: { pointerEvents: 'auto' }, onMouseEnter: handleContentEnter, onMouseLeave: handleContentLeave, children: content }) })), document.body)
79
79
  : null;
80
80
  return (_jsxs(_Fragment, { children: [_jsx("div", { ref: triggerRef, className: cx('memori-tooltip', `memori-tooltip--align-${align}`, className, {
81
81
  'memori-tooltip--disabled': disabled,
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/ui/Tooltip.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/ui/Tooltip.tsx"],"names":[],"mappings":"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"}
@@ -14,7 +14,10 @@ export declare const getGroupedChatLanguages: () => {
14
14
  }[];
15
15
  };
16
16
  export declare const uiLanguages: string[];
17
+ export declare const officeNativeExtensions: readonly [".doc", ".docx", ".xls", ".xltx", ".potx"];
17
18
  export declare const allowedMediaTypes: string[];
19
+ export declare const officeMimeShortLabels: Record<string, string>;
20
+ export declare const officeExtensionShortLabels: Record<string, string>;
18
21
  export declare const anonTag = "\uD83D\uDC64";
19
22
  export declare const prismSyntaxLangs: ({
20
23
  name: string;
@@ -37,6 +37,13 @@ export const getGroupedChatLanguages = () => {
37
37
  };
38
38
  };
39
39
  export const uiLanguages = ['en', 'it', 'fr', 'es', 'de'];
40
+ export const officeNativeExtensions = [
41
+ '.doc',
42
+ '.docx',
43
+ '.xls',
44
+ '.xltx',
45
+ '.potx',
46
+ ];
40
47
  export const allowedMediaTypes = [
41
48
  'image/jpeg',
42
49
  'image/png',
@@ -55,6 +62,22 @@ export const allowedMediaTypes = [
55
62
  'video/mpeg',
56
63
  'model/gltf-binary',
57
64
  ];
65
+ export const officeMimeShortLabels = {
66
+ 'application/msword': 'Word',
67
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': 'Word',
68
+ 'application/vnd.ms-excel': 'Excel',
69
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': 'Excel',
70
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.template': 'Excel',
71
+ 'application/vnd.openxmlformats-officedocument.presentationml.template': 'PPT',
72
+ };
73
+ export const officeExtensionShortLabels = {
74
+ DOC: 'Word',
75
+ DOCX: 'Word',
76
+ XLS: 'Excel',
77
+ XLSX: 'Excel',
78
+ XLTX: 'Excel',
79
+ POTX: 'PPT',
80
+ };
58
81
  export const anonTag = '👤';
59
82
  export const prismSyntaxLangs = [
60
83
  {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/helpers/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/helpers/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type MouseEvent, type PointerEvent } from 'react';
2
+ export declare function usePressTooltip(defaultOpen?: boolean): {
3
+ open: boolean;
4
+ setOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
5
+ pressTriggerProps: {
6
+ readonly onPointerDown: (e: PointerEvent) => void;
7
+ readonly onClick: (e: MouseEvent | PointerEvent) => void;
8
+ };
9
+ tooltipProps: {
10
+ readonly open: boolean;
11
+ readonly onOpenChange: import("react").Dispatch<import("react").SetStateAction<boolean>>;
12
+ };
13
+ };
@@ -0,0 +1,20 @@
1
+ import { useCallback, useState, } from 'react';
2
+ export function usePressTooltip(defaultOpen = false) {
3
+ const [open, setOpen] = useState(defaultOpen);
4
+ const toggleOpen = useCallback((e) => {
5
+ e.stopPropagation();
6
+ setOpen(prev => !prev);
7
+ }, []);
8
+ const pressTriggerProps = {
9
+ onPointerDown: (e) => {
10
+ e.stopPropagation();
11
+ },
12
+ onClick: toggleOpen,
13
+ };
14
+ const tooltipProps = {
15
+ open,
16
+ onOpenChange: setOpen,
17
+ };
18
+ return { open, setOpen, pressTriggerProps, tooltipProps };
19
+ }
20
+ //# sourceMappingURL=usePressTooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePressTooltip.js","sourceRoot":"","sources":["../../src/helpers/usePressTooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,QAAQ,GAGT,MAAM,OAAO,CAAC;AAEf,MAAM,UAAU,eAAe,CAAC,WAAW,GAAG,KAAK;IACjD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAA4B,EAAE,EAAE;QAC9D,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,iBAAiB,GAAG;QACxB,aAAa,EAAE,CAAC,CAAe,EAAE,EAAE;YACjC,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,CAAC;QACD,OAAO,EAAE,UAAU;KACX,CAAC;IAEX,MAAM,YAAY,GAAG;QACnB,IAAI;QACJ,YAAY,EAAE,OAAO;KACb,CAAC;IAEX,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC;AAC5D,CAAC"}
@@ -15,6 +15,21 @@ export declare function useDebounceFn<T extends (...args: any) => any>(fn: T, de
15
15
  export declare const stripDuplicates: (text: string) => string;
16
16
  export declare const stripEmojis: (text: string) => string;
17
17
  export declare const stripMarkdown: (text: string) => string;
18
+ export declare const OFFICE_NATIVE_EXTENSIONS: readonly [".doc", ".docx", ".xls", ".xltx", ".potx"];
19
+ export declare const isOfficeNativeFilename: (filename: string) => boolean;
20
+ export type ParsedDocumentAttachment = {
21
+ filename: string;
22
+ type: string;
23
+ content: string;
24
+ url: string;
25
+ };
26
+ export declare const parseDocumentAttachmentsFromMessage: (text: string) => ParsedDocumentAttachment[];
27
+ export declare const extractAttachmentLinks: (content: string) => string[];
28
+ export declare const extractAttachmentLink: (content: string) => string | null;
29
+ export declare const isAssetOnlyDocumentAttachment: (attachment: {
30
+ content?: string | null;
31
+ url?: string | null;
32
+ }) => boolean;
18
33
  export declare const stripDocumentAttachmentTags: (text: string) => string;
19
34
  export declare const stripOutputTags: (text: string) => string;
20
35
  export declare const stripReasoningTags: (text: string) => string;
@@ -1,6 +1,7 @@
1
1
  import { useState, useEffect, useRef, useMemo } from 'react';
2
2
  import { MeshStandardMaterial } from 'three';
3
3
  import * as THREE from 'three';
4
+ import { officeNativeExtensions } from './constants';
4
5
  export const hasTouchscreen = () => {
5
6
  let hasTouchScreen = false;
6
7
  if (typeof window === 'undefined' || typeof navigator === 'undefined') {
@@ -168,6 +169,44 @@ export const stripMarkdown = (text) => {
168
169
  text = text.replaceAll(/\s+/g, ' ').trim();
169
170
  return text;
170
171
  };
172
+ export const OFFICE_NATIVE_EXTENSIONS = officeNativeExtensions;
173
+ export const isOfficeNativeFilename = (filename) => {
174
+ var _a;
175
+ const ext = `.${((_a = filename.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || ''}`;
176
+ return officeNativeExtensions.includes(ext);
177
+ };
178
+ const DOCUMENT_ATTACHMENT_REGEX = /<document_attachment filename="([^"]+)" type="([^"]+)">([\s\S]*?)<\/document_attachment>/g;
179
+ const ATTACHMENT_LINK_AFTER_REGEX = /<attachment_link>\s*([\s\S]*?)\s*<\/attachment_link>/;
180
+ export const parseDocumentAttachmentsFromMessage = (text) => {
181
+ var _a;
182
+ if (!text)
183
+ return [];
184
+ const attachments = [];
185
+ const regex = new RegExp(DOCUMENT_ATTACHMENT_REGEX.source, 'g');
186
+ let match;
187
+ while ((match = regex.exec(text)) !== null) {
188
+ const [, filename, type, content] = match;
189
+ const afterTag = text.slice(match.index + match[0].length);
190
+ const linkMatch = afterTag.match(ATTACHMENT_LINK_AFTER_REGEX);
191
+ const rawUrl = ((_a = linkMatch === null || linkMatch === void 0 ? void 0 : linkMatch[1]) === null || _a === void 0 ? void 0 : _a.trim()) || '';
192
+ const url = /^https?:\/\//.test(rawUrl) ? rawUrl : '';
193
+ attachments.push({
194
+ filename,
195
+ type,
196
+ content: content.trim(),
197
+ url,
198
+ });
199
+ }
200
+ return attachments;
201
+ };
202
+ export const extractAttachmentLinks = (content) => {
203
+ return parseDocumentAttachmentsFromMessage(content).map(attachment => attachment.url);
204
+ };
205
+ export const extractAttachmentLink = (content) => {
206
+ const match = content === null || content === void 0 ? void 0 : content.match(/<attachment_link>\s*(https?:\/\/[^\s<]+)\s*<\/attachment_link>/);
207
+ return match ? match[1].trim() : null;
208
+ };
209
+ export const isAssetOnlyDocumentAttachment = (attachment) => { var _a, _b; return !((_a = attachment.content) === null || _a === void 0 ? void 0 : _a.trim()) && !!((_b = attachment.url) === null || _b === void 0 ? void 0 : _b.trim()); };
171
210
  export const stripDocumentAttachmentTags = (text) => {
172
211
  const documentAttachmentTagRegex = /<document_attachment filename="([^"]+)" type="([^"]+)">([\s\S]*?)<\/document_attachment>/g;
173
212
  return text
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"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"}
package/esm/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "8.38.4";
1
+ export declare const version = "8.38.6";
package/esm/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '8.38.4';
1
+ export const version = '8.38.6';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "8.38.4",
2
+ "version": "8.38.6",
3
3
  "name": "@memori.ai/memori-react",
4
4
  "author": "Memori Srl",
5
5
  "main": "dist/index.js",
@@ -16,7 +16,10 @@ import {
16
16
  Tenant,
17
17
  User,
18
18
  } from '@memori.ai/memori-api-client/dist/types';
19
- import { hasTouchscreen } from '../../helpers/utils';
19
+ import {
20
+ hasTouchscreen,
21
+ parseDocumentAttachmentsFromMessage,
22
+ } from '../../helpers/utils';
20
23
  import { getResourceUrl } from '../../helpers/media';
21
24
  import ChatBubble from '../ChatBubble/ChatBubble';
22
25
  import MediaWidget, {
@@ -445,49 +448,21 @@ const Chat: React.FC<Props> = ({
445
448
  ?.filter(m => !(m.mimeType === 'text/html' && !!m.url)) ||
446
449
  []),
447
450
 
448
- // Extract document attachments that are embedded in the message text
449
- ...(() => {
450
- // Get the translated or original message text
451
- const text = message.translatedText || message.text;
452
-
453
- // Regex to match document attachments in format:
454
- // <document_attachment filename="name.ext" type="mime/type">content</document_attachment>
455
- const documentAttachmentRegex =
456
- /<document_attachment filename="([^"]+)" type="([^"]+)">([\s\S]*?)<\/document_attachment>/g;
457
-
458
- const attachments: (Medium & { type?: string })[] = [];
459
- let match;
460
- let attachmentIndex = 0;
461
-
462
- // Find all document attachments in the text
463
- while (
464
- (match = documentAttachmentRegex.exec(text)) !== null
465
- ) {
466
- const [, filename, type, content] = match;
467
-
468
- // Create a Medium object for each attachment with:
469
- // - Unique ID using timestamp and random string
470
- // - Empty URL since content is embedded
471
- // - Original mime type and filename
472
- // - Trimmed content from the attachment
473
- // - Properties to mark it as a document attachment
474
- attachments.push({
475
- mediumID: `doc_${Date.now()}_${attachmentIndex}_${Math.random()
476
- .toString(36)
477
- .substr(2, 9)}`,
478
- url: '',
479
- mimeType: type,
480
- title: filename,
481
- content: content.trim(),
482
- properties: { isDocumentAttachment: true },
483
- type: 'document',
484
- });
485
-
486
- attachmentIndex++;
487
- }
488
-
489
- return attachments;
490
- })(),
451
+ // Extract document attachments from the original message text.
452
+ // Use message.text (not translatedText) so internal tags stay intact.
453
+ ...parseDocumentAttachmentsFromMessage(
454
+ message.text || ''
455
+ ).map((attachment, attachmentIndex) => ({
456
+ mediumID: `doc_${Date.now()}_${attachmentIndex}_${Math.random()
457
+ .toString(36)
458
+ .substr(2, 9)}`,
459
+ url: attachment.url,
460
+ mimeType: attachment.type,
461
+ title: attachment.filename,
462
+ content: attachment.content,
463
+ properties: { isDocumentAttachment: true },
464
+ type: 'document' as const,
465
+ })),
491
466
  ]}
492
467
  sessionID={sessionID}
493
468
  baseUrl={baseUrl}
@@ -4,8 +4,13 @@ import CloseIcon from '../icons/Close';
4
4
  import Button from '../ui/Button';
5
5
  import ContentPreviewModal from '../ContentPreviewModal';
6
6
  import Snippet from '../Snippet/Snippet';
7
- import { stripHTML, stripDocumentAttachmentTags } from '../../helpers/utils';
8
- import { getFileExtensionFromMime } from '../MediaWidget/MediaItemWidget.utils';
7
+ import {
8
+ stripHTML,
9
+ stripDocumentAttachmentTags,
10
+ isOfficeNativeFilename,
11
+ extractAttachmentLink,
12
+ } from '../../helpers/utils';
13
+ import { getDocumentBadgeLabel } from '../MediaWidget/MediaItemWidget.utils';
9
14
  import { useTranslation } from 'react-i18next';
10
15
 
11
16
  type FilePreviewProps = {
@@ -61,6 +66,14 @@ const FilePreview = ({
61
66
  return 'CSV';
62
67
  case 'html':
63
68
  return 'HTML';
69
+ case 'doc':
70
+ case 'docx':
71
+ return 'Word';
72
+ case 'xls':
73
+ case 'xltx':
74
+ return 'Excel';
75
+ case 'potx':
76
+ return 'PowerPoint';
64
77
  case 'jpg':
65
78
  case 'jpeg':
66
79
  return 'JPEG';
@@ -166,7 +179,16 @@ const FilePreview = ({
166
179
  ? 'memori--preview-item--image'
167
180
  : 'memori--preview-item--document'
168
181
  }`}
169
- onClick={() => setSelectedFile(file)}
182
+ onClick={() => {
183
+ if (isOfficeNativeFilename(file.name || '')) {
184
+ const url = extractAttachmentLink(file.content);
185
+ if (url) {
186
+ window.open(url, '_blank', 'noopener,noreferrer');
187
+ }
188
+ } else {
189
+ setSelectedFile(file);
190
+ }
191
+ }}
170
192
  >
171
193
  {isImageContent(file.content, file.type) ? (
172
194
  <div className="memori--preview-thumbnail">
@@ -180,7 +202,7 @@ const FilePreview = ({
180
202
  <span className="memori--preview-filename">{file.name}</span>
181
203
  <span className="memori--preview-filetype">
182
204
  {file.mimeType
183
- ? getFileExtensionFromMime(file.mimeType)
205
+ ? getDocumentBadgeLabel(file.mimeType, file.name)
184
206
  : getFileType(file.name, file.type)}
185
207
  </span>
186
208
  </div>