@memori.ai/memori-react 8.29.0 → 8.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/README.md +1 -1
- package/dist/components/Chat/Chat.css +110 -9
- package/dist/components/Chat/Chat.d.ts +1 -0
- package/dist/components/Chat/Chat.js +72 -5
- package/dist/components/Chat/Chat.js.map +1 -1
- package/dist/components/ChatBubble/ChatBubble.d.ts +1 -0
- package/dist/components/ChatBubble/ChatBubble.js +6 -6
- package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
- package/dist/components/ChatInputs/ChatInputs.js +2 -11
- package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
- package/dist/components/DrawerFooter/DrawerFooter.css +0 -1
- package/dist/components/MemoriWidget/MemoriWidget.d.ts +2 -1
- package/dist/components/MemoriWidget/MemoriWidget.js +13 -3
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/components/MicrophoneButton/MicrophoneButton.css +4 -14
- package/dist/components/MicrophoneButton/MicrophoneButton.js +1 -1
- package/dist/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
- package/dist/components/StartPanel/StartPanel.js +1 -1
- package/dist/components/StartPanel/StartPanel.js.map +1 -1
- package/dist/components/UploadButton/UploadButton.js +8 -14
- package/dist/components/UploadButton/UploadButton.js.map +1 -1
- package/dist/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +0 -1
- package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +1 -20
- package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
- package/dist/components/layouts/fullpage.css +3 -1
- package/dist/components/layouts/website-assistant.css +1 -0
- package/dist/components/ui/Tooltip.css +9 -1
- package/dist/components/ui/Tooltip.js +80 -4
- package/dist/components/ui/Tooltip.js.map +1 -1
- package/dist/helpers/constants.d.ts +1 -2
- package/dist/helpers/constants.js +2 -3
- package/dist/helpers/constants.js.map +1 -1
- package/dist/helpers/llmUsage.d.ts +60 -0
- package/dist/helpers/llmUsage.js +223 -0
- package/dist/helpers/llmUsage.js.map +1 -0
- package/dist/helpers/message.d.ts +1 -0
- package/dist/helpers/message.js +3 -1
- package/dist/helpers/message.js.map +1 -1
- package/dist/helpers/userMessage.d.ts +2 -0
- package/dist/helpers/userMessage.js +23 -0
- package/dist/helpers/userMessage.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/locales/de.json +22 -0
- package/dist/locales/en.json +22 -0
- package/dist/locales/es.json +22 -0
- package/dist/locales/fr.json +22 -0
- package/dist/locales/it.json +22 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/esm/components/Chat/Chat.css +110 -9
- package/esm/components/Chat/Chat.d.ts +1 -0
- package/esm/components/Chat/Chat.js +74 -7
- package/esm/components/Chat/Chat.js.map +1 -1
- package/esm/components/ChatBubble/ChatBubble.d.ts +1 -0
- package/esm/components/ChatBubble/ChatBubble.js +7 -7
- package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
- package/esm/components/ChatInputs/ChatInputs.js +2 -11
- package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
- package/esm/components/DrawerFooter/DrawerFooter.css +0 -1
- package/esm/components/MemoriWidget/MemoriWidget.d.ts +2 -1
- package/esm/components/MemoriWidget/MemoriWidget.js +13 -3
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/MicrophoneButton/MicrophoneButton.css +4 -14
- package/esm/components/MicrophoneButton/MicrophoneButton.js +1 -1
- package/esm/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
- package/esm/components/StartPanel/StartPanel.js +1 -1
- package/esm/components/StartPanel/StartPanel.js.map +1 -1
- package/esm/components/UploadButton/UploadButton.js +8 -14
- package/esm/components/UploadButton/UploadButton.js.map +1 -1
- package/esm/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +0 -1
- package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +1 -20
- package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
- package/esm/components/layouts/fullpage.css +3 -1
- package/esm/components/layouts/website-assistant.css +1 -0
- package/esm/components/ui/Tooltip.css +9 -1
- package/esm/components/ui/Tooltip.js +81 -5
- package/esm/components/ui/Tooltip.js.map +1 -1
- package/esm/helpers/constants.d.ts +1 -2
- package/esm/helpers/constants.js +1 -2
- package/esm/helpers/constants.js.map +1 -1
- package/esm/helpers/llmUsage.d.ts +60 -0
- package/esm/helpers/llmUsage.js +212 -0
- package/esm/helpers/llmUsage.js.map +1 -0
- package/esm/helpers/message.d.ts +1 -0
- package/esm/helpers/message.js +1 -0
- package/esm/helpers/message.js.map +1 -1
- package/esm/helpers/userMessage.d.ts +2 -0
- package/esm/helpers/userMessage.js +18 -0
- package/esm/helpers/userMessage.js.map +1 -0
- package/esm/index.d.ts +1 -0
- package/esm/index.js +3 -1
- package/esm/index.js.map +1 -1
- package/esm/locales/de.json +22 -0
- package/esm/locales/en.json +22 -0
- package/esm/locales/es.json +22 -0
- package/esm/locales/fr.json +22 -0
- package/esm/locales/it.json +22 -0
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/components/BlockedMemoriBadge/__snapshots__/BlockedMemoriBadge.test.tsx.snap +0 -29
- package/src/components/Chat/Chat.css +110 -9
- package/src/components/Chat/Chat.stories.tsx +42 -0
- package/src/components/Chat/Chat.test.tsx +47 -0
- package/src/components/Chat/Chat.tsx +238 -5
- package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +745 -0
- package/src/components/ChatBubble/ChatBubble.tsx +20 -7
- package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +0 -20
- package/src/components/ChatInputs/ChatInputs.tsx +4 -15
- package/src/components/CompletionProviderStatus/__snapshots__/CompletionProviderStatus.test.tsx.snap +0 -54
- package/src/components/FeedbackButtons/__snapshots__/FeedbackButtons.test.tsx.snap +0 -5
- package/src/components/MemoriWidget/MemoriWidget.tsx +20 -2
- package/src/components/MicrophoneButton/MicrophoneButton.css +4 -14
- package/src/components/MicrophoneButton/MicrophoneButton.tsx +0 -1
- package/src/components/StartPanel/StartPanel.tsx +1 -1
- package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +11 -368
- package/src/components/UploadButton/UploadButton.stories.tsx +3 -3
- package/src/components/UploadButton/UploadButton.tsx +8 -23
- package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +1 -27
- package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +1 -30
- package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +2 -60
- package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +1 -30
- package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +1 -30
- package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +1 -30
- package/src/components/layouts/website-assistant.css +1 -0
- package/src/components/ui/Tooltip.css +9 -1
- package/src/components/ui/Tooltip.tsx +133 -17
- package/src/components/ui/__snapshots__/Tooltip.test.tsx.snap +5 -55
- package/src/helpers/constants.ts +1 -2
- package/src/helpers/llmUsage.ts +328 -0
- package/src/helpers/message.ts +3 -0
- package/src/index.stories.tsx +2 -3
- package/src/index.tsx +5 -1
- package/src/locales/de.json +22 -0
- package/src/locales/en.json +22 -0
- package/src/locales/es.json +22 -0
- package/src/locales/fr.json +22 -0
- package/src/locales/it.json +22 -0
- package/src/version.ts +1 -1
|
@@ -402,37 +402,8 @@ exports[`renders FullPage layout unchanged 1`] = `
|
|
|
402
402
|
Le conversazioni sono visibili all'autore dell'agente
|
|
403
403
|
</p>
|
|
404
404
|
<div
|
|
405
|
-
class="memori-tooltip memori-tooltip--align-
|
|
405
|
+
class="memori-tooltip memori-tooltip--align-topLeft"
|
|
406
406
|
>
|
|
407
|
-
<div
|
|
408
|
-
class="memori-tooltip--content"
|
|
409
|
-
>
|
|
410
|
-
<div
|
|
411
|
-
class="memori--privacy-tooltip-content"
|
|
412
|
-
>
|
|
413
|
-
<p>
|
|
414
|
-
|
|
415
|
-
Tutte le conversazioni con questo agente sono visibili all'autore dell'agente
|
|
416
|
-
</p>
|
|
417
|
-
<ul
|
|
418
|
-
class="memori--privacy-tooltip-content-list"
|
|
419
|
-
>
|
|
420
|
-
<li>
|
|
421
|
-
L'autore può vedere il contenuto e il tuo indirizzo IP
|
|
422
|
-
</li>
|
|
423
|
-
</ul>
|
|
424
|
-
<p>
|
|
425
|
-
L'autore utilizza queste informazioni per migliorare le funzionalità dell'agente. Continuando, accetti queste condizioni.
|
|
426
|
-
</p>
|
|
427
|
-
<a
|
|
428
|
-
href="https://memori.ai/en/privacy-policy"
|
|
429
|
-
rel="noopener noreferrer"
|
|
430
|
-
target="_blank"
|
|
431
|
-
>
|
|
432
|
-
Informativa sulla privacy
|
|
433
|
-
</a>
|
|
434
|
-
</div>
|
|
435
|
-
</div>
|
|
436
407
|
<div
|
|
437
408
|
class="memori-tooltip--trigger"
|
|
438
409
|
>
|
|
@@ -953,37 +924,8 @@ exports[`renders FullPage layout with root css properties unchanged 1`] = `
|
|
|
953
924
|
Le conversazioni sono visibili all'autore dell'agente
|
|
954
925
|
</p>
|
|
955
926
|
<div
|
|
956
|
-
class="memori-tooltip memori-tooltip--align-
|
|
927
|
+
class="memori-tooltip memori-tooltip--align-topLeft"
|
|
957
928
|
>
|
|
958
|
-
<div
|
|
959
|
-
class="memori-tooltip--content"
|
|
960
|
-
>
|
|
961
|
-
<div
|
|
962
|
-
class="memori--privacy-tooltip-content"
|
|
963
|
-
>
|
|
964
|
-
<p>
|
|
965
|
-
|
|
966
|
-
Tutte le conversazioni con questo agente sono visibili all'autore dell'agente
|
|
967
|
-
</p>
|
|
968
|
-
<ul
|
|
969
|
-
class="memori--privacy-tooltip-content-list"
|
|
970
|
-
>
|
|
971
|
-
<li>
|
|
972
|
-
L'autore può vedere il contenuto e il tuo indirizzo IP
|
|
973
|
-
</li>
|
|
974
|
-
</ul>
|
|
975
|
-
<p>
|
|
976
|
-
L'autore utilizza queste informazioni per migliorare le funzionalità dell'agente. Continuando, accetti queste condizioni.
|
|
977
|
-
</p>
|
|
978
|
-
<a
|
|
979
|
-
href="https://memori.ai/en/privacy-policy"
|
|
980
|
-
rel="noopener noreferrer"
|
|
981
|
-
target="_blank"
|
|
982
|
-
>
|
|
983
|
-
Informativa sulla privacy
|
|
984
|
-
</a>
|
|
985
|
-
</div>
|
|
986
|
-
</div>
|
|
987
929
|
<div
|
|
988
930
|
class="memori-tooltip--trigger"
|
|
989
931
|
>
|
|
@@ -377,37 +377,8 @@ exports[`renders HIDDEN_CHAT layout unchanged 1`] = `
|
|
|
377
377
|
Le conversazioni sono visibili all'autore dell'agente
|
|
378
378
|
</p>
|
|
379
379
|
<div
|
|
380
|
-
class="memori-tooltip memori-tooltip--align-
|
|
380
|
+
class="memori-tooltip memori-tooltip--align-topLeft"
|
|
381
381
|
>
|
|
382
|
-
<div
|
|
383
|
-
class="memori-tooltip--content"
|
|
384
|
-
>
|
|
385
|
-
<div
|
|
386
|
-
class="memori--privacy-tooltip-content"
|
|
387
|
-
>
|
|
388
|
-
<p>
|
|
389
|
-
|
|
390
|
-
Tutte le conversazioni con questo agente sono visibili all'autore dell'agente
|
|
391
|
-
</p>
|
|
392
|
-
<ul
|
|
393
|
-
class="memori--privacy-tooltip-content-list"
|
|
394
|
-
>
|
|
395
|
-
<li>
|
|
396
|
-
L'autore può vedere il contenuto e il tuo indirizzo IP
|
|
397
|
-
</li>
|
|
398
|
-
</ul>
|
|
399
|
-
<p>
|
|
400
|
-
L'autore utilizza queste informazioni per migliorare le funzionalità dell'agente. Continuando, accetti queste condizioni.
|
|
401
|
-
</p>
|
|
402
|
-
<a
|
|
403
|
-
href="https://memori.ai/en/privacy-policy"
|
|
404
|
-
rel="noopener noreferrer"
|
|
405
|
-
target="_blank"
|
|
406
|
-
>
|
|
407
|
-
Informativa sulla privacy
|
|
408
|
-
</a>
|
|
409
|
-
</div>
|
|
410
|
-
</div>
|
|
411
382
|
<div
|
|
412
383
|
class="memori-tooltip--trigger"
|
|
413
384
|
>
|
|
@@ -469,37 +469,8 @@ exports[`renders Totem layout unchanged 1`] = `
|
|
|
469
469
|
Le conversazioni sono visibili all'autore dell'agente
|
|
470
470
|
</p>
|
|
471
471
|
<div
|
|
472
|
-
class="memori-tooltip memori-tooltip--align-
|
|
472
|
+
class="memori-tooltip memori-tooltip--align-topLeft"
|
|
473
473
|
>
|
|
474
|
-
<div
|
|
475
|
-
class="memori-tooltip--content"
|
|
476
|
-
>
|
|
477
|
-
<div
|
|
478
|
-
class="memori--privacy-tooltip-content"
|
|
479
|
-
>
|
|
480
|
-
<p>
|
|
481
|
-
|
|
482
|
-
Tutte le conversazioni con questo agente sono visibili all'autore dell'agente
|
|
483
|
-
</p>
|
|
484
|
-
<ul
|
|
485
|
-
class="memori--privacy-tooltip-content-list"
|
|
486
|
-
>
|
|
487
|
-
<li>
|
|
488
|
-
L'autore può vedere il contenuto e il tuo indirizzo IP
|
|
489
|
-
</li>
|
|
490
|
-
</ul>
|
|
491
|
-
<p>
|
|
492
|
-
L'autore utilizza queste informazioni per migliorare le funzionalità dell'agente. Continuando, accetti queste condizioni.
|
|
493
|
-
</p>
|
|
494
|
-
<a
|
|
495
|
-
href="https://memori.ai/en/privacy-policy"
|
|
496
|
-
rel="noopener noreferrer"
|
|
497
|
-
target="_blank"
|
|
498
|
-
>
|
|
499
|
-
Informativa sulla privacy
|
|
500
|
-
</a>
|
|
501
|
-
</div>
|
|
502
|
-
</div>
|
|
503
474
|
<div
|
|
504
475
|
class="memori-tooltip--trigger"
|
|
505
476
|
>
|
|
@@ -402,37 +402,8 @@ exports[`renders ZOOMED_FULL_BODY layout unchanged 1`] = `
|
|
|
402
402
|
Le conversazioni sono visibili all'autore dell'agente
|
|
403
403
|
</p>
|
|
404
404
|
<div
|
|
405
|
-
class="memori-tooltip memori-tooltip--align-
|
|
405
|
+
class="memori-tooltip memori-tooltip--align-topLeft"
|
|
406
406
|
>
|
|
407
|
-
<div
|
|
408
|
-
class="memori-tooltip--content"
|
|
409
|
-
>
|
|
410
|
-
<div
|
|
411
|
-
class="memori--privacy-tooltip-content"
|
|
412
|
-
>
|
|
413
|
-
<p>
|
|
414
|
-
|
|
415
|
-
Tutte le conversazioni con questo agente sono visibili all'autore dell'agente
|
|
416
|
-
</p>
|
|
417
|
-
<ul
|
|
418
|
-
class="memori--privacy-tooltip-content-list"
|
|
419
|
-
>
|
|
420
|
-
<li>
|
|
421
|
-
L'autore può vedere il contenuto e il tuo indirizzo IP
|
|
422
|
-
</li>
|
|
423
|
-
</ul>
|
|
424
|
-
<p>
|
|
425
|
-
L'autore utilizza queste informazioni per migliorare le funzionalità dell'agente. Continuando, accetti queste condizioni.
|
|
426
|
-
</p>
|
|
427
|
-
<a
|
|
428
|
-
href="https://memori.ai/en/privacy-policy"
|
|
429
|
-
rel="noopener noreferrer"
|
|
430
|
-
target="_blank"
|
|
431
|
-
>
|
|
432
|
-
Informativa sulla privacy
|
|
433
|
-
</a>
|
|
434
|
-
</div>
|
|
435
|
-
</div>
|
|
436
407
|
<div
|
|
437
408
|
class="memori-tooltip--trigger"
|
|
438
409
|
>
|
|
@@ -103,7 +103,8 @@
|
|
|
103
103
|
.memori-tooltip--content,
|
|
104
104
|
.memori-tooltip.memori-tooltip--align-topLeft:not(.memori-tooltip--disabled):not(.memori-tooltip--visible):hover
|
|
105
105
|
.memori-tooltip--content {
|
|
106
|
-
|
|
106
|
+
z-index: 1000001;
|
|
107
|
+
transform: translateY(-110%) translateX(25%);
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
.memori-tooltip:not(.memori-tooltip--disabled).memori-tooltip--visible .memori-tooltip--content a,
|
|
@@ -112,6 +113,13 @@
|
|
|
112
113
|
text-decoration: underline;
|
|
113
114
|
}
|
|
114
115
|
|
|
116
|
+
/* Portal tooltip content is always visible (positioning handled by portal wrapper) */
|
|
117
|
+
.memori-tooltip.memori-tooltip--portal .memori-tooltip--content,
|
|
118
|
+
.memori-tooltip.memori-tooltip--portal .memori-tooltip--content::before {
|
|
119
|
+
display: block;
|
|
120
|
+
opacity: 1;
|
|
121
|
+
}
|
|
122
|
+
|
|
115
123
|
.memori-tooltip.memori-tooltip--disabled {
|
|
116
124
|
cursor: not-allowed;
|
|
117
125
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import React, { FC } from 'react';
|
|
1
|
+
import React, { FC, useRef, useState, useCallback, useEffect } from 'react';
|
|
2
|
+
import { createPortal } from 'react-dom';
|
|
2
3
|
import cx from 'classnames';
|
|
3
4
|
|
|
4
5
|
export interface Props {
|
|
@@ -17,21 +18,136 @@ const Tooltip: FC<Props> = ({
|
|
|
17
18
|
disabled = false,
|
|
18
19
|
visible = false,
|
|
19
20
|
children,
|
|
20
|
-
}) =>
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
21
|
+
}) => {
|
|
22
|
+
const triggerRef = useRef<HTMLDivElement>(null);
|
|
23
|
+
const positionWrapperRef = useRef<HTMLDivElement | null>(null);
|
|
24
|
+
const closeTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);
|
|
25
|
+
const [isHovered, setIsHovered] = useState(false);
|
|
26
|
+
|
|
27
|
+
const isOpen = !disabled && (visible || isHovered);
|
|
28
|
+
|
|
29
|
+
const updatePosition = useCallback(() => {
|
|
30
|
+
const trigger = triggerRef.current;
|
|
31
|
+
const wrapper = positionWrapperRef.current;
|
|
32
|
+
if (trigger && wrapper) {
|
|
33
|
+
const rect = trigger.getBoundingClientRect();
|
|
34
|
+
wrapper.style.top = `${rect.top}px`;
|
|
35
|
+
wrapper.style.left = `${rect.left}px`;
|
|
36
|
+
wrapper.style.width = `${rect.width}px`;
|
|
37
|
+
wrapper.style.height = `${rect.height}px`;
|
|
38
|
+
}
|
|
39
|
+
}, []);
|
|
40
|
+
|
|
41
|
+
const clearCloseTimeout = useCallback(() => {
|
|
42
|
+
if (closeTimeoutRef.current) {
|
|
43
|
+
clearTimeout(closeTimeoutRef.current);
|
|
44
|
+
closeTimeoutRef.current = null;
|
|
45
|
+
}
|
|
46
|
+
}, []);
|
|
47
|
+
|
|
48
|
+
const handleTriggerEnter = useCallback(() => {
|
|
49
|
+
clearCloseTimeout();
|
|
50
|
+
setIsHovered(true);
|
|
51
|
+
}, [clearCloseTimeout]);
|
|
52
|
+
|
|
53
|
+
const handleTriggerLeave = useCallback(() => {
|
|
54
|
+
closeTimeoutRef.current = setTimeout(() => {
|
|
55
|
+
setIsHovered(false);
|
|
56
|
+
closeTimeoutRef.current = null;
|
|
57
|
+
}, 100);
|
|
58
|
+
}, []);
|
|
59
|
+
|
|
60
|
+
const handleContentEnter = useCallback(() => {
|
|
61
|
+
clearCloseTimeout();
|
|
62
|
+
setIsHovered(true);
|
|
63
|
+
}, [clearCloseTimeout]);
|
|
64
|
+
|
|
65
|
+
const handleContentLeave = useCallback(() => {
|
|
66
|
+
closeTimeoutRef.current = setTimeout(() => {
|
|
67
|
+
setIsHovered(false);
|
|
68
|
+
closeTimeoutRef.current = null;
|
|
69
|
+
}, 100);
|
|
70
|
+
}, []);
|
|
71
|
+
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
if (!isOpen) return;
|
|
74
|
+
updatePosition();
|
|
75
|
+
const onScrollOrResize = () => updatePosition();
|
|
76
|
+
window.addEventListener('scroll', onScrollOrResize, { passive: true, capture: true });
|
|
77
|
+
window.addEventListener('resize', onScrollOrResize);
|
|
78
|
+
return () => {
|
|
79
|
+
window.removeEventListener('scroll', onScrollOrResize, true);
|
|
80
|
+
window.removeEventListener('resize', onScrollOrResize);
|
|
81
|
+
};
|
|
82
|
+
}, [isOpen, updatePosition]);
|
|
83
|
+
|
|
84
|
+
useEffect(() => () => clearCloseTimeout(), [clearCloseTimeout]);
|
|
85
|
+
|
|
86
|
+
const setPositionWrapperRef = useCallback(
|
|
87
|
+
(el: HTMLDivElement | null) => {
|
|
88
|
+
positionWrapperRef.current = el;
|
|
89
|
+
if (el && triggerRef.current) updatePosition();
|
|
90
|
+
},
|
|
91
|
+
[updatePosition]
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
const portalContent = isOpen
|
|
95
|
+
? createPortal(
|
|
96
|
+
(
|
|
97
|
+
<div
|
|
98
|
+
ref={setPositionWrapperRef}
|
|
99
|
+
className={cx(
|
|
100
|
+
'memori-tooltip',
|
|
101
|
+
'memori-tooltip--portal',
|
|
102
|
+
`memori-tooltip--align-${align}`,
|
|
103
|
+
{ 'memori-tooltip--visible': true }
|
|
104
|
+
)}
|
|
105
|
+
style={{
|
|
106
|
+
position: 'fixed',
|
|
107
|
+
top: 0,
|
|
108
|
+
left: 0,
|
|
109
|
+
width: 0,
|
|
110
|
+
height: 0,
|
|
111
|
+
pointerEvents: 'none',
|
|
112
|
+
zIndex: 2147483647,
|
|
113
|
+
}}
|
|
114
|
+
>
|
|
115
|
+
<div
|
|
116
|
+
className="memori-tooltip--content memori-tooltip--content-portal"
|
|
117
|
+
style={{ pointerEvents: 'auto' }}
|
|
118
|
+
onMouseEnter={handleContentEnter}
|
|
119
|
+
onMouseLeave={handleContentLeave}
|
|
120
|
+
>
|
|
121
|
+
{content}
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
124
|
+
) as Parameters<typeof createPortal>[0],
|
|
125
|
+
document.body
|
|
126
|
+
)
|
|
127
|
+
: null;
|
|
128
|
+
|
|
129
|
+
return (
|
|
130
|
+
<>
|
|
131
|
+
<div
|
|
132
|
+
ref={triggerRef}
|
|
133
|
+
className={cx(
|
|
134
|
+
'memori-tooltip',
|
|
135
|
+
`memori-tooltip--align-${align}`,
|
|
136
|
+
className,
|
|
137
|
+
{
|
|
138
|
+
'memori-tooltip--disabled': disabled,
|
|
139
|
+
'memori-tooltip--visible': visible && !isHovered,
|
|
140
|
+
'memori-tooltip--portal-open': isOpen,
|
|
141
|
+
}
|
|
142
|
+
)}
|
|
143
|
+
onMouseEnter={handleTriggerEnter}
|
|
144
|
+
onMouseLeave={handleTriggerLeave}
|
|
145
|
+
>
|
|
146
|
+
<div className="memori-tooltip--trigger">{children}</div>
|
|
147
|
+
</div>
|
|
148
|
+
{portalContent}
|
|
149
|
+
</>
|
|
150
|
+
);
|
|
151
|
+
};
|
|
36
152
|
|
|
37
153
|
export default Tooltip;
|
|
@@ -3,13 +3,8 @@
|
|
|
3
3
|
exports[`renders Tooltip aligned left unchanged 1`] = `
|
|
4
4
|
<div>
|
|
5
5
|
<div
|
|
6
|
-
class="memori-tooltip memori-tooltip--align-left memori-tooltip--visible"
|
|
6
|
+
class="memori-tooltip memori-tooltip--align-left memori-tooltip--visible memori-tooltip--portal-open"
|
|
7
7
|
>
|
|
8
|
-
<div
|
|
9
|
-
class="memori-tooltip--content"
|
|
10
|
-
>
|
|
11
|
-
Here is some tooltip content by default as I am controlled
|
|
12
|
-
</div>
|
|
13
8
|
<div
|
|
14
9
|
class="memori-tooltip--trigger"
|
|
15
10
|
>
|
|
@@ -22,13 +17,8 @@ exports[`renders Tooltip aligned left unchanged 1`] = `
|
|
|
22
17
|
exports[`renders Tooltip aligned right unchanged 1`] = `
|
|
23
18
|
<div>
|
|
24
19
|
<div
|
|
25
|
-
class="memori-tooltip memori-tooltip--align-right memori-tooltip--visible"
|
|
20
|
+
class="memori-tooltip memori-tooltip--align-right memori-tooltip--visible memori-tooltip--portal-open"
|
|
26
21
|
>
|
|
27
|
-
<div
|
|
28
|
-
class="memori-tooltip--content"
|
|
29
|
-
>
|
|
30
|
-
Here is some tooltip content by default as I am controlled
|
|
31
|
-
</div>
|
|
32
22
|
<div
|
|
33
23
|
class="memori-tooltip--trigger"
|
|
34
24
|
>
|
|
@@ -41,13 +31,8 @@ exports[`renders Tooltip aligned right unchanged 1`] = `
|
|
|
41
31
|
exports[`renders Tooltip aligned top left unchanged 1`] = `
|
|
42
32
|
<div>
|
|
43
33
|
<div
|
|
44
|
-
class="memori-tooltip memori-tooltip--align-topLeft memori-tooltip--visible"
|
|
34
|
+
class="memori-tooltip memori-tooltip--align-topLeft memori-tooltip--visible memori-tooltip--portal-open"
|
|
45
35
|
>
|
|
46
|
-
<div
|
|
47
|
-
class="memori-tooltip--content"
|
|
48
|
-
>
|
|
49
|
-
Here is some tooltip content by default as I am controlled
|
|
50
|
-
</div>
|
|
51
36
|
<div
|
|
52
37
|
class="memori-tooltip--trigger"
|
|
53
38
|
>
|
|
@@ -60,13 +45,8 @@ exports[`renders Tooltip aligned top left unchanged 1`] = `
|
|
|
60
45
|
exports[`renders Tooltip aligned top right unchanged 1`] = `
|
|
61
46
|
<div>
|
|
62
47
|
<div
|
|
63
|
-
class="memori-tooltip memori-tooltip--align-topRight memori-tooltip--visible"
|
|
48
|
+
class="memori-tooltip memori-tooltip--align-topRight memori-tooltip--visible memori-tooltip--portal-open"
|
|
64
49
|
>
|
|
65
|
-
<div
|
|
66
|
-
class="memori-tooltip--content"
|
|
67
|
-
>
|
|
68
|
-
Here is some tooltip content by default as I am controlled
|
|
69
|
-
</div>
|
|
70
50
|
<div
|
|
71
51
|
class="memori-tooltip--trigger"
|
|
72
52
|
>
|
|
@@ -81,11 +61,6 @@ exports[`renders Tooltip disabled unchanged 1`] = `
|
|
|
81
61
|
<div
|
|
82
62
|
class="memori-tooltip memori-tooltip--align-right memori-tooltip--disabled"
|
|
83
63
|
>
|
|
84
|
-
<div
|
|
85
|
-
class="memori-tooltip--content"
|
|
86
|
-
>
|
|
87
|
-
Here is some tooltip content but I am disabled
|
|
88
|
-
</div>
|
|
89
64
|
<div
|
|
90
65
|
class="memori-tooltip--trigger"
|
|
91
66
|
>
|
|
@@ -100,11 +75,6 @@ exports[`renders Tooltip unchanged 1`] = `
|
|
|
100
75
|
<div
|
|
101
76
|
class="memori-tooltip memori-tooltip--align-right"
|
|
102
77
|
>
|
|
103
|
-
<div
|
|
104
|
-
class="memori-tooltip--content"
|
|
105
|
-
>
|
|
106
|
-
Here is some tooltip content
|
|
107
|
-
</div>
|
|
108
78
|
<div
|
|
109
79
|
class="memori-tooltip--trigger"
|
|
110
80
|
>
|
|
@@ -117,13 +87,8 @@ exports[`renders Tooltip unchanged 1`] = `
|
|
|
117
87
|
exports[`renders Tooltip visible unchanged 1`] = `
|
|
118
88
|
<div>
|
|
119
89
|
<div
|
|
120
|
-
class="memori-tooltip memori-tooltip--align-right memori-tooltip--visible"
|
|
90
|
+
class="memori-tooltip memori-tooltip--align-right memori-tooltip--visible memori-tooltip--portal-open"
|
|
121
91
|
>
|
|
122
|
-
<div
|
|
123
|
-
class="memori-tooltip--content"
|
|
124
|
-
>
|
|
125
|
-
Here is some tooltip content by default as I am controlled
|
|
126
|
-
</div>
|
|
127
92
|
<div
|
|
128
93
|
class="memori-tooltip--trigger"
|
|
129
94
|
>
|
|
@@ -138,21 +103,6 @@ exports[`renders Tooltip with jsx content unchanged 1`] = `
|
|
|
138
103
|
<div
|
|
139
104
|
class="memori-tooltip memori-tooltip--align-right"
|
|
140
105
|
>
|
|
141
|
-
<div
|
|
142
|
-
class="memori-tooltip--content"
|
|
143
|
-
>
|
|
144
|
-
<p>
|
|
145
|
-
Here we have some JSX, useful for
|
|
146
|
-
<a
|
|
147
|
-
href="https://memori.ai"
|
|
148
|
-
rel="noopener noreferrer"
|
|
149
|
-
target="_blank"
|
|
150
|
-
>
|
|
151
|
-
links
|
|
152
|
-
</a>
|
|
153
|
-
, for example.
|
|
154
|
-
</p>
|
|
155
|
-
</div>
|
|
156
106
|
<div
|
|
157
107
|
class="memori-tooltip--trigger"
|
|
158
108
|
>
|
package/src/helpers/constants.ts
CHANGED
|
@@ -207,7 +207,6 @@ export const MAX_MSG_CHARS = 4000;
|
|
|
207
207
|
export const MAX_MSG_WORDS = 300;
|
|
208
208
|
|
|
209
209
|
export const maxDocumentsPerMessage = 10;
|
|
210
|
-
export const
|
|
211
|
-
export const maxDocumentContentLength = 200000;
|
|
210
|
+
export const maxDocumentContentLength = 300000;
|
|
212
211
|
export const pasteAsCardLineThreshold = 100;
|
|
213
212
|
export const pasteAsCardCharThreshold = 4200;
|