@memori.ai/memori-react 9.0.0-rc.5 → 9.0.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 (102) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/components/Chat/Chat.css +32 -0
  3. package/dist/components/Chat/Chat.js +46 -17
  4. package/dist/components/Chat/Chat.js.map +1 -1
  5. package/dist/components/ChatBubble/ChatBubble.css +57 -14
  6. package/dist/components/ChatBubble/ChatBubble.js +1 -1
  7. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  8. package/dist/components/ChatHistoryDrawer/ChatHistory.css +3 -1
  9. package/dist/components/ChatHistoryDrawer/ChatHistory.js +0 -5
  10. package/dist/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
  11. package/dist/components/LoginModal/LoginModal.css +29 -0
  12. package/dist/components/LoginModal/LoginModal.js +14 -5
  13. package/dist/components/LoginModal/LoginModal.js.map +1 -1
  14. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +3 -3
  15. package/dist/components/MemoriWidget/MemoriWidget.js +1 -3
  16. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  17. package/dist/components/ShareButton/ShareButton.js +0 -5
  18. package/dist/components/ShareButton/ShareButton.js.map +1 -1
  19. package/dist/components/StartPanel/StartPanel.css +7 -5
  20. package/dist/components/Typing/Typing.js +5 -1
  21. package/dist/components/Typing/Typing.js.map +1 -1
  22. package/dist/components/layouts/Chat.js +0 -1
  23. package/dist/components/layouts/Chat.js.map +1 -1
  24. package/dist/components/layouts/FullPage.js +0 -1
  25. package/dist/components/layouts/FullPage.js.map +1 -1
  26. package/dist/components/layouts/HiddenChat.js +9 -9
  27. package/dist/components/layouts/HiddenChat.js.map +1 -1
  28. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +9 -9
  29. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  30. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +13 -2
  31. package/dist/components/layouts/ZoomedFullBody.js +0 -1
  32. package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
  33. package/dist/components/layouts/chat.css +7 -2
  34. package/dist/components/layouts/fullpage.css +5 -1
  35. package/dist/components/layouts/hidden-chat.css +15 -0
  36. package/dist/components/layouts/zoomed-full-body.css +7 -3
  37. package/dist/helpers/chatScroll.d.ts +1 -0
  38. package/dist/helpers/chatScroll.js +11 -0
  39. package/dist/helpers/chatScroll.js.map +1 -1
  40. package/dist/helpers/fullscreen.d.ts +5 -0
  41. package/dist/helpers/fullscreen.js +27 -0
  42. package/dist/helpers/fullscreen.js.map +1 -0
  43. package/dist/locales/de.json +2 -1
  44. package/dist/locales/en.json +1 -0
  45. package/dist/locales/es.json +2 -1
  46. package/dist/locales/fr.json +2 -1
  47. package/dist/locales/it.json +1 -0
  48. package/dist/styles.css +1 -1
  49. package/dist/version.d.ts +1 -1
  50. package/dist/version.js +1 -1
  51. package/dist/version.js.map +1 -1
  52. package/esm/components/Chat/Chat.css +32 -0
  53. package/esm/components/Chat/Chat.js +47 -18
  54. package/esm/components/Chat/Chat.js.map +1 -1
  55. package/esm/components/ChatBubble/ChatBubble.css +57 -14
  56. package/esm/components/ChatBubble/ChatBubble.js +2 -2
  57. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  58. package/esm/components/ChatHistoryDrawer/ChatHistory.css +3 -1
  59. package/esm/components/ChatHistoryDrawer/ChatHistory.js +1 -6
  60. package/esm/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
  61. package/esm/components/LoginModal/LoginModal.css +29 -0
  62. package/esm/components/LoginModal/LoginModal.js +14 -5
  63. package/esm/components/LoginModal/LoginModal.js.map +1 -1
  64. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +3 -3
  65. package/esm/components/MemoriWidget/MemoriWidget.js +1 -3
  66. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  67. package/esm/components/ShareButton/ShareButton.js +0 -5
  68. package/esm/components/ShareButton/ShareButton.js.map +1 -1
  69. package/esm/components/StartPanel/StartPanel.css +7 -5
  70. package/esm/components/Typing/Typing.js +5 -1
  71. package/esm/components/Typing/Typing.js.map +1 -1
  72. package/esm/components/layouts/Chat.js +0 -1
  73. package/esm/components/layouts/Chat.js.map +1 -1
  74. package/esm/components/layouts/FullPage.js +0 -1
  75. package/esm/components/layouts/FullPage.js.map +1 -1
  76. package/esm/components/layouts/HiddenChat.js +9 -9
  77. package/esm/components/layouts/HiddenChat.js.map +1 -1
  78. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +9 -9
  79. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  80. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +13 -2
  81. package/esm/components/layouts/ZoomedFullBody.js +0 -1
  82. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  83. package/esm/components/layouts/chat.css +7 -2
  84. package/esm/components/layouts/fullpage.css +5 -1
  85. package/esm/components/layouts/hidden-chat.css +15 -0
  86. package/esm/components/layouts/zoomed-full-body.css +7 -3
  87. package/esm/helpers/chatScroll.d.ts +1 -0
  88. package/esm/helpers/chatScroll.js +10 -0
  89. package/esm/helpers/chatScroll.js.map +1 -1
  90. package/esm/helpers/fullscreen.d.ts +5 -0
  91. package/esm/helpers/fullscreen.js +21 -0
  92. package/esm/helpers/fullscreen.js.map +1 -0
  93. package/esm/locales/de.json +2 -1
  94. package/esm/locales/en.json +1 -0
  95. package/esm/locales/es.json +2 -1
  96. package/esm/locales/fr.json +2 -1
  97. package/esm/locales/it.json +1 -0
  98. package/esm/styles.css +1 -1
  99. package/esm/version.d.ts +1 -1
  100. package/esm/version.js +1 -1
  101. package/esm/version.js.map +1 -1
  102. package/package.json +1 -1
@@ -191,6 +191,21 @@
191
191
  flex-shrink: 0;
192
192
  }
193
193
 
194
+ /*
195
+ * Fullscreen is requested on the widget root (see helpers/fullscreen.ts) so
196
+ * portaled drawers/modals/tooltips stay inside the fullscreen element. The
197
+ * root must then paint its own canvas: outside fullscreen it is a zero-height
198
+ * host for the fixed sidebar.
199
+ */
200
+ .memori-widget.memori-layout-hidden_chat.memori-widget--fullscreen,
201
+ .memori-widget.memori-layout-hidden_chat:fullscreen,
202
+ .memori-widget.memori-layout-hidden_chat:-webkit-full-screen {
203
+ overflow: hidden;
204
+ width: 100%;
205
+ height: 100%;
206
+ background-color: var(--memori-secondary-background);
207
+ }
208
+
194
209
  /* Fullscreen styles — cover the full window width (browser FS or class toggle) */
195
210
  .memori-sidebar-fullscreen,
196
211
  .memori-sidebar:fullscreen,
@@ -320,7 +320,7 @@
320
320
  .memori-widget.memori-layout-zoomed_full_body .memori--grid-column-artifact--open {
321
321
  width: var(--memori-artifact-column-width, 720px);
322
322
  border-left: 1px solid color-mix(in srgb, var(--memori-text-color, #111827) 10%, transparent);
323
- background: #fbfaf8;
323
+ /* background: #fbfaf8; */
324
324
  }
325
325
 
326
326
  [data-theme='dark'] .memori-widget.memori-layout-zoomed_full_body .memori--grid-column-artifact--open,
@@ -364,7 +364,9 @@
364
364
 
365
365
  .memori-widget.memori-layout-zoomed_full_body .memori-artifact-resize-handle:hover::after,
366
366
  .memori-widget.memori-layout-zoomed_full_body .memori-artifact-resize-handle:focus-visible::after,
367
- .memori-widget.memori-layout-zoomed_full_body .memori-fullpage-content-row--resizing .memori-artifact-resize-handle::after {
367
+ .memori-widget.memori-layout-zoomed_full_body
368
+ .memori-fullpage-content-row--resizing
369
+ .memori-artifact-resize-handle::after {
368
370
  background: var(--memori-primary);
369
371
  }
370
372
 
@@ -409,7 +411,9 @@
409
411
  box-shadow: var(--memori-shadow-lg, 0 10px 28px rgba(0, 0, 0, 0.12));
410
412
  }
411
413
 
412
- .memori-widget.memori-layout-zoomed_full_body .memori-fullpage-content-row--artifact-overlay .memori-chat-layout--main {
414
+ .memori-widget.memori-layout-zoomed_full_body
415
+ .memori-fullpage-content-row--artifact-overlay
416
+ .memori-chat-layout--main {
413
417
  min-width: 0;
414
418
  }
415
419
  }
@@ -5,6 +5,7 @@ type ScrollMetrics = {
5
5
  clientHeight: number;
6
6
  };
7
7
  export declare function isChatScrolledToBottom(element: ScrollMetrics, thresholdPx?: number): boolean;
8
+ export declare function getNextPinnedToBottom(wasPinned: boolean, previousScrollTop: number, element: ScrollMetrics, thresholdPx?: number): boolean;
8
9
  export declare function scrollChatToBottom(element: {
9
10
  scrollTop: number;
10
11
  scrollHeight: number;
@@ -2,12 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CHAT_SCROLL_BOTTOM_THRESHOLD_PX = void 0;
4
4
  exports.isChatScrolledToBottom = isChatScrolledToBottom;
5
+ exports.getNextPinnedToBottom = getNextPinnedToBottom;
5
6
  exports.scrollChatToBottom = scrollChatToBottom;
6
7
  exports.CHAT_SCROLL_BOTTOM_THRESHOLD_PX = 80;
7
8
  function isChatScrolledToBottom(element, thresholdPx = exports.CHAT_SCROLL_BOTTOM_THRESHOLD_PX) {
8
9
  return (element.scrollHeight - element.scrollTop - element.clientHeight <=
9
10
  thresholdPx);
10
11
  }
12
+ function getNextPinnedToBottom(wasPinned, previousScrollTop, element, thresholdPx = exports.CHAT_SCROLL_BOTTOM_THRESHOLD_PX) {
13
+ const distanceFromBottom = element.scrollHeight - element.scrollTop - element.clientHeight;
14
+ if (distanceFromBottom <= 1)
15
+ return true;
16
+ if (element.scrollTop < previousScrollTop)
17
+ return false;
18
+ if (distanceFromBottom <= thresholdPx)
19
+ return true;
20
+ return wasPinned;
21
+ }
11
22
  function scrollChatToBottom(element) {
12
23
  element.scrollTop = element.scrollHeight;
13
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chatScroll.js","sourceRoot":"","sources":["../../src/helpers/chatScroll.ts"],"names":[],"mappings":";;;AAQA,wDAQC;AAED,gDAKC;AAvBY,QAAA,+BAA+B,GAAG,EAAE,CAAC;AAQlD,SAAgB,sBAAsB,CACpC,OAAsB,EACtB,WAAW,GAAG,uCAA+B;IAE7C,OAAO,CACL,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY;QAC/D,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAGlC;IACC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"chatScroll.js","sourceRoot":"","sources":["../../src/helpers/chatScroll.ts"],"names":[],"mappings":";;;AAQA,wDAQC;AAQD,sDAYC;AAED,gDAKC;AA3CY,QAAA,+BAA+B,GAAG,EAAE,CAAC;AAQlD,SAAgB,sBAAsB,CACpC,OAAsB,EACtB,WAAW,GAAG,uCAA+B;IAE7C,OAAO,CACL,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY;QAC/D,WAAW,CACZ,CAAC;AACJ,CAAC;AAQD,SAAgB,qBAAqB,CACnC,SAAkB,EAClB,iBAAyB,EACzB,OAAsB,EACtB,WAAW,GAAG,uCAA+B;IAE7C,MAAM,kBAAkB,GACtB,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;IAClE,IAAI,kBAAkB,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,OAAO,CAAC,SAAS,GAAG,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,kBAAkB,IAAI,WAAW;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAGlC;IACC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const WIDGET_ROOT_SELECTOR = ".memori-widget";
2
+ export declare const WIDGET_FULLSCREEN_CLASS = "memori-widget--fullscreen";
3
+ export declare function getFullscreenTarget(panel: HTMLElement): HTMLElement;
4
+ export declare function requestWidgetFullscreen(panel: HTMLElement, onError?: (err: unknown) => void): HTMLElement;
5
+ export declare function clearWidgetFullscreen(panel: HTMLElement): void;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WIDGET_FULLSCREEN_CLASS = exports.WIDGET_ROOT_SELECTOR = void 0;
4
+ exports.getFullscreenTarget = getFullscreenTarget;
5
+ exports.requestWidgetFullscreen = requestWidgetFullscreen;
6
+ exports.clearWidgetFullscreen = clearWidgetFullscreen;
7
+ exports.WIDGET_ROOT_SELECTOR = '.memori-widget';
8
+ exports.WIDGET_FULLSCREEN_CLASS = 'memori-widget--fullscreen';
9
+ function getFullscreenTarget(panel) {
10
+ var _a;
11
+ return ((_a = panel.closest(exports.WIDGET_ROOT_SELECTOR)) !== null && _a !== void 0 ? _a : panel);
12
+ }
13
+ function requestWidgetFullscreen(panel, onError) {
14
+ const target = getFullscreenTarget(panel);
15
+ target.classList.add(exports.WIDGET_FULLSCREEN_CLASS);
16
+ if (typeof target.requestFullscreen === 'function') {
17
+ target.requestFullscreen().catch(err => {
18
+ target.classList.remove(exports.WIDGET_FULLSCREEN_CLASS);
19
+ onError === null || onError === void 0 ? void 0 : onError(err);
20
+ });
21
+ }
22
+ return target;
23
+ }
24
+ function clearWidgetFullscreen(panel) {
25
+ getFullscreenTarget(panel).classList.remove(exports.WIDGET_FULLSCREEN_CLASS);
26
+ }
27
+ //# sourceMappingURL=fullscreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fullscreen.js","sourceRoot":"","sources":["../../src/helpers/fullscreen.ts"],"names":[],"mappings":";;;AAeA,kDAIC;AAOD,0DAaC;AAKD,sDAEC;AA9CY,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AACxC,QAAA,uBAAuB,GAAG,2BAA2B,CAAC;AAcnE,SAAgB,mBAAmB,CAAC,KAAkB;;IACpD,OAAO,CACL,MAAC,KAAK,CAAC,OAAO,CAAC,4BAAoB,CAAwB,mCAAI,KAAK,CACrE,CAAC;AACJ,CAAC;AAOD,SAAgB,uBAAuB,CACrC,KAAkB,EAClB,OAAgC;IAEhC,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,+BAAuB,CAAC,CAAC;IAC9C,IAAI,OAAO,MAAM,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;QACnD,MAAM,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACrC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,+BAAuB,CAAC,CAAC;YACjD,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,GAAG,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAKD,SAAgB,qBAAqB,CAAC,KAAkB;IACtD,mBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,+BAAuB,CAAC,CAAC;AACvE,CAAC"}
@@ -18,7 +18,7 @@
18
18
  "delete": "Löschen",
19
19
  "loading": "Laden",
20
20
  "expand": "Expandieren",
21
- "collapse": "Zusammenbruch",
21
+ "collapse": "Einklappen",
22
22
  "expandable": {
23
23
  "expand": "Expandieren"
24
24
  },
@@ -435,6 +435,7 @@
435
435
  "login": {
436
436
  "login": "Login",
437
437
  "title": "Login zu Ihrem Konto",
438
+ "loggingIn": "Anmeldung läuft…",
438
439
  "logout": "Abmelden",
439
440
  "user": "Benutzer",
440
441
  "loggedDrawerTitle": "Hallo, {{name}}!",
@@ -461,6 +461,7 @@
461
461
  "login": {
462
462
  "login": "Login",
463
463
  "title": "Login to your account",
464
+ "loggingIn": "Logging you in…",
464
465
  "logout": "Logout",
465
466
  "user": "User",
466
467
  "loggedDrawerTitle": "Hi, {{name}}!",
@@ -18,7 +18,7 @@
18
18
  "delete": "Borrar",
19
19
  "loading": "Cargando",
20
20
  "expand": "Expandir",
21
- "collapse": "Colapsar",
21
+ "collapse": "Contraer",
22
22
  "expandable": {
23
23
  "expand": "Expandir"
24
24
  },
@@ -434,6 +434,7 @@
434
434
  "login": {
435
435
  "login": "Acceso",
436
436
  "title": "Iniciar sesión en tu cuenta",
437
+ "loggingIn": "Iniciando sesión…",
437
438
  "logout": "Cerrar sesión",
438
439
  "user": "Usuario",
439
440
  "loggedDrawerTitle": "Hola, {{name}}!",
@@ -18,7 +18,7 @@
18
18
  "delete": "Supprimer",
19
19
  "loading": "Chargement",
20
20
  "expand": "Développer",
21
- "collapse": "Effondrement",
21
+ "collapse": "Réduire",
22
22
  "expandable": {
23
23
  "expand": "Développer"
24
24
  },
@@ -434,6 +434,7 @@
434
434
  "login": {
435
435
  "login": "Se connecter",
436
436
  "title": "Se connecter à votre compte",
437
+ "loggingIn": "Connexion en cours…",
437
438
  "logout": "Déconnexion",
438
439
  "user": "Utilisateur",
439
440
  "loggedDrawerTitle": "Salut, {{name}}!",
@@ -460,6 +460,7 @@
460
460
  "login": {
461
461
  "login": "Accedi",
462
462
  "title": "Accedi al tuo account",
463
+ "loggingIn": "Accesso in corso…",
463
464
  "logout": "Esci",
464
465
  "userNameRequired": "Il nome utente è obbligatorio",
465
466
  "userName": "Nome utente",