@memori.ai/memori-react 5.0.2 → 6.0.0-rc.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 (67) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +2 -0
  3. package/dist/components/Header/Header.css +2 -1
  4. package/dist/components/Header/Header.d.ts +2 -0
  5. package/dist/components/Header/Header.js +3 -2
  6. package/dist/components/Header/Header.js.map +1 -1
  7. package/dist/components/LoginDrawer/LoginDrawer.css +84 -0
  8. package/dist/components/LoginDrawer/LoginDrawer.d.ts +15 -0
  9. package/dist/components/LoginDrawer/LoginDrawer.js +129 -0
  10. package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -0
  11. package/dist/components/MemoriWidget/MemoriWidget.d.ts +3 -1
  12. package/dist/components/MemoriWidget/MemoriWidget.js +36 -8
  13. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  14. package/dist/components/StartPanel/StartPanel.d.ts +2 -0
  15. package/dist/components/StartPanel/StartPanel.js +2 -2
  16. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  17. package/dist/index.d.ts +2 -0
  18. package/dist/index.js +5 -3
  19. package/dist/index.js.map +1 -1
  20. package/dist/locales/en.json +25 -0
  21. package/dist/locales/it.json +25 -0
  22. package/dist/styles.css +1 -0
  23. package/esm/components/Header/Header.css +2 -1
  24. package/esm/components/Header/Header.d.ts +2 -0
  25. package/esm/components/Header/Header.js +3 -2
  26. package/esm/components/Header/Header.js.map +1 -1
  27. package/esm/components/LoginDrawer/LoginDrawer.css +84 -0
  28. package/esm/components/LoginDrawer/LoginDrawer.d.ts +15 -0
  29. package/esm/components/LoginDrawer/LoginDrawer.js +125 -0
  30. package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -0
  31. package/esm/components/MemoriWidget/MemoriWidget.d.ts +3 -1
  32. package/esm/components/MemoriWidget/MemoriWidget.js +36 -8
  33. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  34. package/esm/components/StartPanel/StartPanel.d.ts +2 -0
  35. package/esm/components/StartPanel/StartPanel.js +2 -2
  36. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  37. package/esm/index.d.ts +2 -0
  38. package/esm/index.js +5 -3
  39. package/esm/index.js.map +1 -1
  40. package/esm/locales/en.json +25 -0
  41. package/esm/locales/it.json +25 -0
  42. package/esm/styles.css +1 -0
  43. package/package.json +1 -1
  44. package/src/components/Header/Header.css +2 -1
  45. package/src/components/Header/Header.stories.tsx +27 -1
  46. package/src/components/Header/Header.test.tsx +14 -1
  47. package/src/components/Header/Header.tsx +17 -0
  48. package/src/components/Header/__snapshots__/Header.test.tsx.snap +260 -0
  49. package/src/components/LoginDrawer/LoginDrawer.css +84 -0
  50. package/src/components/LoginDrawer/LoginDrawer.stories.tsx +58 -0
  51. package/src/components/LoginDrawer/LoginDrawer.test.tsx +86 -0
  52. package/src/components/LoginDrawer/LoginDrawer.tsx +330 -0
  53. package/src/components/LoginDrawer/__snapshots__/LoginDrawer.test.tsx.snap +35 -0
  54. package/src/components/MemoriWidget/MemoriWidget.tsx +53 -7
  55. package/src/components/StartPanel/StartPanel.stories.tsx +3 -1
  56. package/src/components/StartPanel/StartPanel.test.tsx +12 -0
  57. package/src/components/StartPanel/StartPanel.tsx +11 -0
  58. package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +7 -0
  59. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +20 -0
  60. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +20 -0
  61. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +20 -0
  62. package/src/index.stories.tsx +0 -1
  63. package/src/index.tsx +8 -0
  64. package/src/locales/en.json +25 -0
  65. package/src/locales/it.json +25 -0
  66. package/src/mocks/data.ts +2 -2
  67. package/src/styles.css +1 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
 
2
2
 
3
+ ## [6.0.0-rc.0](https://github.com/memori-ai/memori-react/compare/v5.1.0...v6.0.0-rc.0) (2024-03-14)
4
+
5
+
6
+ ### Features
7
+
8
+ * add login ([cc8b88d](https://github.com/memori-ai/memori-react/commit/cc8b88d3f7a84c12c48eb45590f46f51314e15c8))
9
+ * preserve login token ([2765ec5](https://github.com/memori-ai/memori-react/commit/2765ec5f0d3b18ec9935847f3bb6147fd2cfcfa9))
10
+
11
+ ## [5.1.0](https://github.com/memori-ai/memori-react/compare/v5.0.2...v5.1.0) (2024-03-11)
12
+
13
+
14
+ ### Features
15
+
16
+ * new prop default speaker active ([f854573](https://github.com/memori-ai/memori-react/commit/f8545737a47c4fdcaf1febf52a5d32f88e49b9bb))
17
+
3
18
  ## [5.0.2](https://github.com/memori-ai/memori-react/compare/v5.0.1...v5.0.2) (2024-03-06)
4
19
 
5
20
 
package/README.md CHANGED
@@ -67,6 +67,7 @@ const App = () => (
67
67
  | `showSettings` | | `bool` | `true` | Show the settings panel button |
68
68
  | `showTypingText` | | `bool` | `false` | Show default sentences while loading text (see: Typing stories) |
69
69
  | `showInstruct` | | `bool` | `false` | Show the switch selecting between test mode or instruct mode, needs an administrative session as a giver |
70
+ | `showLogin` | | `bool` | `true` | Show the login button |
70
71
  | `showClear` | | `bool` | `false` | Show clear chat history button |
71
72
  | `showOnlyLastMessages` | | `bool` | `true` or `false` \* | Show only last 2 messages. (\*) Defaults to `true` for `TOTEM` and `WEBSITE_ASSISTANT` layouts, `false` otherwise |
72
73
  | `baseURL` | | `string` | | Base URL of the Memori, example: "https://aisuru.com" |
@@ -79,6 +80,7 @@ const App = () => (
79
80
  | `multilingual` | | `bool` | `false` | Enable multilingual mode, if enabled the user can switch between spoken languages |
80
81
  | `spokenLang` | | `string` | | Language of the spoken text, as defaults to user selection. Example: "en" or "it" |
81
82
  | `onStateChange` | | `function` | | Callback function called when the state of the Memori changes |
83
+ | `defaultSpeakerActive` | | `boolean` | `true` | Default value for the speaker activation |
82
84
  | `AZURE_COGNITIVE_SERVICES_TTS_KEY` | | `string` | | Azure Cognitive Services TTS key, used to generate the audio of the Memori and for STT recognition |
83
85
  | `layout` | | `string` | | Layout of the Memori, can be "FULLPAGE" (default), "CHAT", "WEBSITE_ASSISTANT" or "TOTEM", see [below](#layouts) |
84
86
  | `customLayout` | | `React.FC<LayoutProps>` | | Custom layout component, see [below](#custom-layout) |
@@ -60,6 +60,7 @@
60
60
  margin-left: 0.5rem;
61
61
  }
62
62
 
63
- .memori-header .memori-share-button {
63
+ .memori-header .memori-share-button,
64
+ .memori-header .memori-header--button-login {
64
65
  margin-left: 0.25rem;
65
66
  }
@@ -18,6 +18,8 @@ export interface Props {
18
18
  showSpeaker?: boolean;
19
19
  showReload?: boolean;
20
20
  showClear?: boolean;
21
+ showLogin?: boolean;
22
+ setShowLoginDrawer: (show: boolean) => void;
21
23
  clearHistory: () => void;
22
24
  loginToken?: string;
23
25
  user?: User;
@@ -18,7 +18,8 @@ const Refresh_1 = tslib_1.__importDefault(require("../icons/Refresh"));
18
18
  const Clear_1 = tslib_1.__importDefault(require("../icons/Clear"));
19
19
  const DeepThought_1 = tslib_1.__importDefault(require("../icons/DeepThought"));
20
20
  const Group_1 = tslib_1.__importDefault(require("../icons/Group"));
21
- const Header = ({ className, memori, tenant, history, position, setShowPositionDrawer, setShowSettingsDrawer, setShowKnownFactsDrawer, setShowExpertsDrawer, speakerMuted, setSpeakerMuted, hasUserActivatedSpeak = false, showShare = true, showSettings = true, showSpeaker = true, showReload = false, showClear = false, clearHistory, loginToken, user, sessionID, }) => {
21
+ const User_1 = tslib_1.__importDefault(require("../icons/User"));
22
+ const Header = ({ className, memori, tenant, history, position, setShowPositionDrawer, setShowSettingsDrawer, setShowKnownFactsDrawer, setShowExpertsDrawer, speakerMuted, setSpeakerMuted, hasUserActivatedSpeak = false, showShare = true, showSettings = true, showSpeaker = true, showReload = false, showClear = false, showLogin = true, setShowLoginDrawer, clearHistory, loginToken, user, sessionID, }) => {
22
23
  const { t } = (0, react_i18next_1.useTranslation)();
23
24
  const [fullScreenAvailable, setFullScreenAvailable] = (0, react_1.useState)(false);
24
25
  const [fullScreen, setFullScreen] = (0, react_1.useState)(false);
@@ -40,7 +41,7 @@ const Header = ({ className, memori, tenant, history, position, setShowPositionD
40
41
  document.exitFullscreen();
41
42
  setFullScreen(false);
42
43
  }
43
- } })), memori.enableDeepThought && !!loginToken && (user === null || user === void 0 ? void 0 : user.pAndCUAccepted) && ((0, jsx_runtime_1.jsx)(Button_1.default, { primary: !!sessionID && !!hasUserActivatedSpeak, shape: "circle", icon: (0, jsx_runtime_1.jsx)(DeepThought_1.default, {}), className: "memori-header--button memori-header--button--knownfacts", disabled: !hasUserActivatedSpeak || !sessionID, onClick: () => setShowKnownFactsDrawer(true), title: t('knownFacts.title') || 'Known facts' })), memori.enableBoardOfExperts && ((0, jsx_runtime_1.jsx)(Button_1.default, { primary: true, shape: "circle", icon: (0, jsx_runtime_1.jsx)(Group_1.default, {}), className: "memori-header--button memori-header--button--experts", disabled: !hasUserActivatedSpeak || !sessionID, onClick: () => setShowExpertsDrawer(true), title: t('widget.showExpertsInTheBoard') || 'Experts in this board' })), showSpeaker && ((0, jsx_runtime_1.jsx)(Button_1.default, { primary: true, shape: "circle", className: "memori-header--button memori-header--button--speaker", icon: speakerMuted ? (0, jsx_runtime_1.jsx)(SoundDeactivated_1.default, {}) : (0, jsx_runtime_1.jsx)(Sound_1.default, {}), onClick: () => setSpeakerMuted(!speakerMuted), title: t('widget.sound') || 'Sound' })), (0, jsx_runtime_1.jsx)(ExportHistoryButton_1.default, { history: history, memori: memori, className: "memori-header--button memori-header--button--export", disabled: !hasUserActivatedSpeak || history.length === 0 }), showSettings && ((0, jsx_runtime_1.jsx)(Button_1.default, { primary: true, shape: "circle", className: "memori-header--button memori-header--button-settings", icon: (0, jsx_runtime_1.jsx)(Setting_1.default, {}), onClick: () => setShowSettingsDrawer(true), title: t('widget.settings') || 'Settings' })), showShare && ((0, jsx_runtime_1.jsx)(ShareButton_1.default, { className: "memori-header--button memori-header--button-share", title: memori.name, tenant: tenant, showQrCode: true, align: "left" }))] }));
44
+ } })), memori.enableDeepThought && !!loginToken && (user === null || user === void 0 ? void 0 : user.pAndCUAccepted) && ((0, jsx_runtime_1.jsx)(Button_1.default, { primary: !!sessionID && !!hasUserActivatedSpeak, shape: "circle", icon: (0, jsx_runtime_1.jsx)(DeepThought_1.default, {}), className: "memori-header--button memori-header--button--knownfacts", disabled: !hasUserActivatedSpeak || !sessionID, onClick: () => setShowKnownFactsDrawer(true), title: t('knownFacts.title') || 'Known facts' })), memori.enableBoardOfExperts && ((0, jsx_runtime_1.jsx)(Button_1.default, { primary: true, shape: "circle", icon: (0, jsx_runtime_1.jsx)(Group_1.default, {}), className: "memori-header--button memori-header--button--experts", disabled: !hasUserActivatedSpeak || !sessionID, onClick: () => setShowExpertsDrawer(true), title: t('widget.showExpertsInTheBoard') || 'Experts in this board' })), showSpeaker && ((0, jsx_runtime_1.jsx)(Button_1.default, { primary: true, shape: "circle", className: "memori-header--button memori-header--button--speaker", icon: speakerMuted ? (0, jsx_runtime_1.jsx)(SoundDeactivated_1.default, {}) : (0, jsx_runtime_1.jsx)(Sound_1.default, {}), onClick: () => setSpeakerMuted(!speakerMuted), title: t('widget.sound') || 'Sound' })), (0, jsx_runtime_1.jsx)(ExportHistoryButton_1.default, { history: history, memori: memori, className: "memori-header--button memori-header--button--export", disabled: !hasUserActivatedSpeak || history.length === 0 }), showSettings && ((0, jsx_runtime_1.jsx)(Button_1.default, { primary: true, shape: "circle", className: "memori-header--button memori-header--button-settings", icon: (0, jsx_runtime_1.jsx)(Setting_1.default, {}), onClick: () => setShowSettingsDrawer(true), title: t('widget.settings') || 'Settings' })), showShare && ((0, jsx_runtime_1.jsx)(ShareButton_1.default, { className: "memori-header--button memori-header--button-share", title: memori.name, tenant: tenant, showQrCode: true, align: "left" })), showLogin && ((0, jsx_runtime_1.jsx)(Button_1.default, { primary: true, shape: "circle", className: "memori-header--button memori-header--button-login", icon: (0, jsx_runtime_1.jsx)(User_1.default, {}), onClick: () => setShowLoginDrawer(true), title: loginToken ? t('login.user') || 'User' : t('login.login') || 'Login' }))] }));
44
45
  };
45
46
  exports.default = Header;
46
47
  //# sourceMappingURL=Header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/components/Header/Header.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/components/Header/Header.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ .memori--login-drawer {
2
+ z-index: 1000;
3
+ }
4
+
5
+ .memori--login-drawer .memori-drawer--panel {
6
+ --memori-drawer--width: 100%;
7
+ --memori-drawer--width--md: 60%;
8
+ --memori-drawer--width--lg: 40%;
9
+ }
10
+
11
+ .memori--login-drawer.memori--login-drawer--logged .memori-drawer--panel {
12
+ --memori-drawer--width: 100%;
13
+ --memori-drawer--width--md: 40%;
14
+ --memori-drawer--width--lg: 30%;
15
+ }
16
+
17
+ h2.memori--login-drawer--title {
18
+ margin: 0;
19
+ font-size: inherit;
20
+ font-weight: 400;
21
+ line-height: inherit;
22
+ }
23
+
24
+ form.memori--login-drawer--form {
25
+ display: flex;
26
+ flex-direction: column;
27
+ padding: 1rem 0.5rem;
28
+ }
29
+
30
+ p.memori--login-drawer--error {
31
+ margin: 0.5rem 0;
32
+ color: var(--memori-error-color);
33
+ text-align: center;
34
+ }
35
+
36
+ .memori--login-drawer--form label:not(.memori-checkbox) {
37
+ display: block;
38
+ width: 100%;
39
+ margin: 0.5rem 0;
40
+ }
41
+
42
+ .memori--login-drawer--form label.memori-checkbox {
43
+ width: 100%;
44
+ margin: 0.5rem 0;
45
+ }
46
+
47
+ .memori--login-drawer--form input {
48
+ width: 100%;
49
+ padding: 10px;
50
+ border: 1px solid var(--memori-button-border-color, #ccc);
51
+ border-radius: 5px;
52
+ margin: 0.5rem 0;
53
+ font-size: 16px;
54
+ line-height: 1.5;
55
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
56
+ }
57
+
58
+ .memori--login-drawer--form button:focus,
59
+ .memori--login-drawer--form input:focus,
60
+ .memori--login-drawer--form input[type="checkbox"]:focus+.memori-checkbox--inner {
61
+ border-color: var(--memori-primary);
62
+ box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
63
+ outline: none;
64
+ }
65
+
66
+ .memori--login-drawer--form a {
67
+ color: var(--memori-primary);
68
+ text-decoration: underline;
69
+ }
70
+
71
+ .memori--login-drawer--form a:hover,
72
+ .memori--login-drawer--form a:focus,
73
+ .memori--login-drawer--form a:active {
74
+ opacity: 0.8;
75
+ outline-color: var(--memori-primary);
76
+ }
77
+
78
+ .memori--login-drawer--form button[type="submit"] {
79
+ margin-top: 1rem;
80
+ }
81
+
82
+ p.memori--login-drawer--signup {
83
+ margin-top: 1.25rem;
84
+ }
@@ -0,0 +1,15 @@
1
+ import { User, Tenant } from '@memori.ai/memori-api-client/dist/types';
2
+ export declare const mailRegEx: RegExp;
3
+ export interface Props {
4
+ open?: boolean;
5
+ onClose: () => void;
6
+ user?: User;
7
+ loginToken?: string;
8
+ onLogin: (user: User, token: string) => void;
9
+ onLogout: () => void;
10
+ tenant: Tenant;
11
+ apiUrl: string;
12
+ __TEST__needMissingData?: boolean;
13
+ }
14
+ declare const LoginDrawer: ({ open, onClose, onLogin, onLogout, user, loginToken, tenant, apiUrl, __TEST__needMissingData, }: Props) => JSX.Element;
15
+ export default LoginDrawer;
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mailRegEx = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_1 = require("react");
7
+ const Button_1 = tslib_1.__importDefault(require("../ui/Button"));
8
+ const Drawer_1 = tslib_1.__importDefault(require("../ui/Drawer"));
9
+ const react_hot_toast_1 = tslib_1.__importDefault(require("react-hot-toast"));
10
+ const react_i18next_1 = require("react-i18next");
11
+ const classnames_1 = tslib_1.__importDefault(require("classnames"));
12
+ const memori_api_client_1 = tslib_1.__importDefault(require("@memori.ai/memori-api-client"));
13
+ const error_1 = require("../../helpers/error");
14
+ exports.mailRegEx = /^\w+([.-]?[+]?\w+)*@\w+([.-]?\w+)*(\.\w{2,})+$/;
15
+ const LoginDrawer = ({ open = false, onClose, onLogin, onLogout, user, loginToken, tenant, apiUrl, __TEST__needMissingData = false, }) => {
16
+ var _a;
17
+ const { t, i18n } = (0, react_i18next_1.useTranslation)();
18
+ const lang = i18n.language === 'it' ? 'it' : 'en';
19
+ const client = (0, memori_api_client_1.default)(apiUrl);
20
+ const { userLogin, updateUser } = client.backend;
21
+ const [loading, setLoading] = (0, react_1.useState)(false);
22
+ const [needsMissingData, setNeedsMissingData] = (0, react_1.useState)(__TEST__needMissingData
23
+ ? {
24
+ token: 'token',
25
+ birthDate: true,
26
+ tnCAndPPAccepted: true,
27
+ }
28
+ : {});
29
+ const [error, setError] = (0, react_1.useState)(null);
30
+ const [redirectTo, setRedirectTo] = (0, react_1.useState)(null);
31
+ (0, react_1.useEffect)(() => {
32
+ setRedirectTo(window.location.href);
33
+ }, []);
34
+ const isUserLoggedIn = user && loginToken;
35
+ const login = (e) => {
36
+ e.preventDefault();
37
+ const form = e.currentTarget;
38
+ const userNameOrEmail = form.userNameOrEmail.value;
39
+ const password = form.password.value;
40
+ const isEmail = exports.mailRegEx.test(userNameOrEmail);
41
+ const user = isEmail
42
+ ? {
43
+ tenant: tenant === null || tenant === void 0 ? void 0 : tenant.id,
44
+ eMail: userNameOrEmail,
45
+ password: password,
46
+ }
47
+ : {
48
+ tenant: tenant === null || tenant === void 0 ? void 0 : tenant.id,
49
+ userName: userNameOrEmail,
50
+ password: password,
51
+ };
52
+ setLoading(true);
53
+ setError(null);
54
+ userLogin(user)
55
+ .then(data => {
56
+ var _a, _b, _c, _d;
57
+ if (data.resultCode !== 0) {
58
+ console.error(data);
59
+ react_hot_toast_1.default.error(t((0, error_1.getErrori18nKey)(data.resultCode), { ns: 'common' }));
60
+ setError(data.resultMessage);
61
+ }
62
+ else if (data.user && data.token) {
63
+ onLogin(data.user, data.token);
64
+ if (!((_a = data.user) === null || _a === void 0 ? void 0 : _a.tnCAndPPAccepted) || !((_b = data.user) === null || _b === void 0 ? void 0 : _b.birthDate)) {
65
+ setNeedsMissingData({
66
+ token: data.token,
67
+ birthDate: !((_c = data.user) === null || _c === void 0 ? void 0 : _c.birthDate),
68
+ tnCAndPPAccepted: !((_d = data.user) === null || _d === void 0 ? void 0 : _d.tnCAndPPAccepted),
69
+ });
70
+ }
71
+ }
72
+ })
73
+ .catch(err => {
74
+ console.error('[LOGIN]', err);
75
+ react_hot_toast_1.default.error(err);
76
+ if (err.message)
77
+ setError(err.message);
78
+ })
79
+ .finally(() => {
80
+ setLoading(false);
81
+ });
82
+ };
83
+ const updateMissingData = async (e) => {
84
+ var _a, _b, _c;
85
+ e.preventDefault();
86
+ const form = e.currentTarget;
87
+ const birthDate = (_a = form.birthDate) === null || _a === void 0 ? void 0 : _a.value;
88
+ const tnCAndPPAccepted = (_b = form.tnCAndPPAccepted) === null || _b === void 0 ? void 0 : _b.checked;
89
+ const pAndCUAccepted = (_c = form.pAndCUAccepted) === null || _c === void 0 ? void 0 : _c.checked;
90
+ if (!(user === null || user === void 0 ? void 0 : user.userID) || !(needsMissingData === null || needsMissingData === void 0 ? void 0 : needsMissingData.token)) {
91
+ return;
92
+ }
93
+ if (!birthDate || !tnCAndPPAccepted) {
94
+ setError(t('missingData'));
95
+ return;
96
+ }
97
+ let newUser = {
98
+ userID: user.userID,
99
+ birthDate: (user === null || user === void 0 ? void 0 : user.birthDate) || !needsMissingData.birthDate ? undefined : birthDate,
100
+ tnCAndPPAccepted: tnCAndPPAccepted || (user === null || user === void 0 ? void 0 : user.tnCAndPPAccepted),
101
+ tnCAndPPAcceptanceDate: tnCAndPPAccepted
102
+ ? new Date().toISOString()
103
+ : undefined,
104
+ pAndCUAccepted: pAndCUAccepted || (user === null || user === void 0 ? void 0 : user.pAndCUAccepted),
105
+ pAndCUAcceptanceDate: pAndCUAccepted
106
+ ? new Date().toISOString()
107
+ : undefined,
108
+ };
109
+ const { user: patchedUser, ...resp } = await updateUser(needsMissingData.token, user.userID, newUser);
110
+ if (resp.resultCode !== 0) {
111
+ console.error(resp);
112
+ react_hot_toast_1.default.error(t((0, error_1.getErrori18nKey)(resp.resultCode), { ns: 'common' }));
113
+ setError(resp.resultMessage);
114
+ }
115
+ else {
116
+ react_hot_toast_1.default.success(t('success'));
117
+ onLogin(patchedUser || newUser, needsMissingData.token);
118
+ }
119
+ };
120
+ return ((0, jsx_runtime_1.jsx)(Drawer_1.default, { open: open, onClose: onClose, className: (0, classnames_1.default)('memori--login-drawer', {
121
+ 'memori--login-drawer--logged': isUserLoggedIn,
122
+ }), title: (0, jsx_runtime_1.jsx)("h2", { className: "memori--login-drawer--title", children: isUserLoggedIn
123
+ ? t('login.loggedDrawerTitle', { name: user.userName })
124
+ : t('login.loginDrawerTitle') }), children: isUserLoggedIn ? ((0, jsx_runtime_1.jsx)("div", { className: "memori--login-drawer--logged", children: (0, jsx_runtime_1.jsx)(Button_1.default, { primary: true, onClick: () => {
125
+ onLogout();
126
+ }, children: t('login.logout') }) })) : ((_a = needsMissingData === null || needsMissingData === void 0 ? void 0 : needsMissingData.token) === null || _a === void 0 ? void 0 : _a.length) ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h3", { children: t('login.missingData') }), (0, jsx_runtime_1.jsx)("p", { children: t('login.missingDataHelper') }), (0, jsx_runtime_1.jsxs)("form", { className: "memori--login-drawer--form", onSubmit: updateMissingData, children: [needsMissingData.birthDate && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("label", { htmlFor: "#birthDate", children: [t('login.birthDate'), (0, jsx_runtime_1.jsx)("input", { id: "birthDate", name: "birthDate", type: "date", required: true, autoComplete: "bday" })] }), (0, jsx_runtime_1.jsx)("p", { children: (0, jsx_runtime_1.jsx)("small", { children: t('login.birthDateHelper') }) })] })), (needsMissingData === null || needsMissingData === void 0 ? void 0 : needsMissingData.tnCAndPPAccepted) && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("label", { className: "memori-checkbox", children: [(0, jsx_runtime_1.jsxs)("span", { className: "memori-checkbox--input-wrapper", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", name: "tnCAndPPAccepted", className: "memori-checkbox--input" }), (0, jsx_runtime_1.jsx)("span", { className: "memori-checkbox--inner" })] }), (0, jsx_runtime_1.jsxs)("span", { className: "memori-checkbox--text", children: [t('login.privacyLabel'), ' ', (0, jsx_runtime_1.jsx)("a", { href: `https://memori.ai/${lang}/privacy_and_cookie`, target: "_blank", rel: "noopener noreferrer", children: t('login.privacyAndCookiePolicy') }), ' ', t('login.and'), ' ', (0, jsx_runtime_1.jsx)("a", { href: `https://memori.ai/${lang}/tos`, target: "_blank", rel: "noopener noreferrer", children: t('login.termsOfService') })] })] }), (0, jsx_runtime_1.jsxs)("label", { className: "memori-checkbox", children: [(0, jsx_runtime_1.jsxs)("span", { className: "memori-checkbox--input-wrapper", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", name: "pAndCUAccepted", defaultChecked: user === null || user === void 0 ? void 0 : user.pAndCUAccepted, className: "memori-checkbox--input" }), (0, jsx_runtime_1.jsx)("span", { className: "memori-checkbox--inner" })] }), (0, jsx_runtime_1.jsxs)("span", { className: "memori-checkbox--text", children: [t('login.pAndCUAccepted'), ' ', (0, jsx_runtime_1.jsx)("small", { children: (0, jsx_runtime_1.jsxs)("em", { children: ["(", t('login.optional'), ")"] }) })] })] }), (0, jsx_runtime_1.jsx)("p", { children: (0, jsx_runtime_1.jsx)("small", { children: t('login.goToAccountToChangeYourPreferences') }) }), (0, jsx_runtime_1.jsx)("p", { children: (0, jsx_runtime_1.jsx)("small", { children: t('login.deepThoughtExplaination') }) })] })), (0, jsx_runtime_1.jsx)(Button_1.default, { htmlType: "submit", primary: true, loading: loading, children: t('login.save') })] })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("form", { className: "memori--login-drawer--form", onSubmit: login, children: [(0, jsx_runtime_1.jsxs)("label", { htmlFor: "#userNameOrEmail", children: [t('login.userNameOrEmail'), (0, jsx_runtime_1.jsx)("input", { id: "userNameOrEmail", name: "userNameOrEmail", required: true, autoComplete: "email", placeholder: "Username/email" })] }), (0, jsx_runtime_1.jsxs)("label", { htmlFor: "#password", children: ["Password", (0, jsx_runtime_1.jsx)("input", { id: "password", name: "password", type: "password", required: true, autoComplete: "password", placeholder: "Password" })] }), (0, jsx_runtime_1.jsx)(Button_1.default, { htmlType: "submit", primary: true, loading: loading, children: t('login.login') }), !(tenant === null || tenant === void 0 ? void 0 : tenant.disableRegistration) && ((0, jsx_runtime_1.jsxs)("p", { className: "memori--login-drawer--signup", children: [t('login.newUserSignUp'), ' ', (0, jsx_runtime_1.jsx)("a", { href: `https://${tenant.name || 'www.aisuru.com'}/${lang}/auth?signup=1&redirectTo=${redirectTo}`, children: t('login.signUp') })] }))] }), error && ((0, jsx_runtime_1.jsx)("p", { role: "alert", className: "memori--login-drawer--error", children: error }))] })) }));
127
+ };
128
+ exports.default = LoginDrawer;
129
+ //# sourceMappingURL=LoginDrawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginDrawer.js","sourceRoot":"","sources":["../../../src/components/LoginDrawer/LoginDrawer.tsx"],"names":[],"mappings":"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"}
@@ -77,6 +77,7 @@ export interface Props {
77
77
  showClear?: boolean;
78
78
  showOnlyLastMessages?: boolean;
79
79
  showTypingText?: boolean;
80
+ showLogin?: boolean;
80
81
  preview?: boolean;
81
82
  embed?: boolean;
82
83
  height?: number | string;
@@ -97,6 +98,7 @@ export interface Props {
97
98
  };
98
99
  authToken?: string;
99
100
  AZURE_COGNITIVE_SERVICES_TTS_KEY?: string;
101
+ defaultSpeakerActive?: boolean;
100
102
  onStateChange?: (state?: DialogState) => void;
101
103
  additionalInfo?: OpenSession['additionalInfo'] & {
102
104
  [key: string]: string;
@@ -105,5 +107,5 @@ export interface Props {
105
107
  additionalSettings?: JSX.Element | null;
106
108
  userAvatar?: string | JSX.Element;
107
109
  }
108
- declare const MemoriWidget: ({ memori, memoriConfigs, memoriLang, multilingual, integration, layout, customLayout, showInstruct, showShare, preview, embed, showInputs, showDates, showContextPerLine, showSettings, showTypingText, showClear, showOnlyLastMessages, height, secret, baseUrl, apiUrl, initialContextVars, initialQuestion, ogImage, sessionID: initialSessionID, tenant, personification, authToken, AZURE_COGNITIVE_SERVICES_TTS_KEY, onStateChange, additionalInfo, additionalSettings, customMediaRenderer, userAvatar, }: Props) => JSX.Element;
110
+ declare const MemoriWidget: ({ memori, memoriConfigs, memoriLang, multilingual, integration, layout, customLayout, showInstruct, showShare, preview, embed, showInputs, showDates, showContextPerLine, showSettings, showTypingText, showClear, showLogin, showOnlyLastMessages, height, secret, baseUrl, apiUrl, initialContextVars, initialQuestion, ogImage, sessionID: initialSessionID, tenant, personification, authToken, AZURE_COGNITIVE_SERVICES_TTS_KEY, defaultSpeakerActive, onStateChange, additionalInfo, additionalSettings, customMediaRenderer, userAvatar, }: Props) => JSX.Element;
109
111
  export default MemoriWidget;
@@ -20,6 +20,7 @@ const AgeVerificationModal_1 = tslib_1.__importDefault(require("../AgeVerificati
20
20
  const SettingsDrawer_1 = tslib_1.__importDefault(require("../SettingsDrawer/SettingsDrawer"));
21
21
  const KnownFacts_1 = tslib_1.__importDefault(require("../KnownFacts/KnownFacts"));
22
22
  const ExpertsDrawer_1 = tslib_1.__importDefault(require("../ExpertsDrawer/ExpertsDrawer"));
23
+ const LoginDrawer_1 = tslib_1.__importDefault(require("../LoginDrawer/LoginDrawer"));
23
24
  const FullPage_1 = tslib_1.__importDefault(require("../layouts/FullPage"));
24
25
  const Totem_1 = tslib_1.__importDefault(require("../layouts/Totem"));
25
26
  const Chat_2 = tslib_1.__importDefault(require("../layouts/Chat"));
@@ -148,7 +149,7 @@ let audioContext;
148
149
  let memoriPassword;
149
150
  let speakerMuted = false;
150
151
  let memoriSpeaking = false;
151
- const MemoriWidget = ({ memori, memoriConfigs, memoriLang, multilingual, integration, layout = 'DEFAULT', customLayout, showInstruct = false, showShare, preview = false, embed = false, showInputs = true, showDates = false, showContextPerLine = false, showSettings = true, showTypingText = false, showClear = false, showOnlyLastMessages, height = '100vh', secret, baseUrl = 'https://aisuru.com', apiUrl = 'https://backend.memori.ai', initialContextVars, initialQuestion, ogImage, sessionID: initialSessionID, tenant, personification, authToken, AZURE_COGNITIVE_SERVICES_TTS_KEY, onStateChange, additionalInfo, additionalSettings, customMediaRenderer, userAvatar, }) => {
152
+ const MemoriWidget = ({ memori, memoriConfigs, memoriLang, multilingual, integration, layout = 'DEFAULT', customLayout, showInstruct = false, showShare, preview = false, embed = false, showInputs = true, showDates = false, showContextPerLine = false, showSettings = true, showTypingText = false, showClear = false, showLogin = true, showOnlyLastMessages, height = '100vh', secret, baseUrl = 'https://aisuru.com', apiUrl = 'https://backend.memori.ai', initialContextVars, initialQuestion, ogImage, sessionID: initialSessionID, tenant, personification, authToken, AZURE_COGNITIVE_SERVICES_TTS_KEY, defaultSpeakerActive = true, onStateChange, additionalInfo, additionalSettings, customMediaRenderer, userAvatar, }) => {
152
153
  var _a, _b, _c, _d, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _t, _u, _v, _w, _x, _y, _z;
153
154
  const { t, i18n } = (0, react_i18next_1.useTranslation)();
154
155
  const [isClient, setIsClient] = (0, react_1.useState)(false);
@@ -163,13 +164,19 @@ const MemoriWidget = ({ memori, memoriConfigs, memoriLang, multilingual, integra
163
164
  avatarURL: typeof userAvatar === 'string' ? userAvatar : undefined,
164
165
  });
165
166
  (0, react_1.useEffect)(() => {
166
- if (loginToken) {
167
+ if (loginToken && !(user === null || user === void 0 ? void 0 : user.userID)) {
167
168
  client.backend.getCurrentUser(loginToken).then(({ user, resultCode }) => {
168
- if (user && resultCode === 0)
169
+ if (user && resultCode === 0) {
169
170
  setUser(user);
171
+ (0, configuration_1.setLocalConfig)('loginToken', loginToken);
172
+ }
173
+ else {
174
+ (0, configuration_1.setLocalConfig)('loginToken', undefined);
175
+ }
170
176
  });
171
177
  }
172
- }, [loginToken]);
178
+ }, [loginToken, user === null || user === void 0 ? void 0 : user.userID]);
179
+ const [showLoginDrawer, setShowLoginDrawer] = (0, react_1.useState)(false);
173
180
  const [clickedStart, setClickedStart] = (0, react_1.useState)(false);
174
181
  const [gotErrorInOpening, setGotErrorInOpening] = (0, react_1.useState)(false);
175
182
  const language = ((_d = (_c = (_b = memori.culture) === null || _b === void 0 ? void 0 : _b.split('-')) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.toUpperCase()) ||
@@ -191,7 +198,7 @@ const MemoriWidget = ({ memori, memoriConfigs, memoriLang, multilingual, integra
191
198
  const [showSettingsDrawer, setShowSettingsDrawer] = (0, react_1.useState)(false);
192
199
  const [showKnownFactsDrawer, setShowKnownFactsDrawer] = (0, react_1.useState)(false);
193
200
  const [showExpertsDrawer, setShowExpertsDrawer] = (0, react_1.useState)(false);
194
- const [muteSpeaker, setMuteSpeaker] = (0, react_1.useState)(false);
201
+ const [muteSpeaker, setMuteSpeaker] = (0, react_1.useState)(!defaultSpeakerActive);
195
202
  const [continuousSpeech, setContinuousSpeech] = (0, react_1.useState)(false);
196
203
  const [continuousSpeechTimeout, setContinuousSpeechTimeout] = (0, react_1.useState)(2);
197
204
  const [isPlayingAudio, setIsPlayingAudio] = (0, react_1.useState)(false);
@@ -215,12 +222,15 @@ const MemoriWidget = ({ memori, memoriConfigs, memoriLang, multilingual, integra
215
222
  else {
216
223
  defaultControlsPosition = 'bottom';
217
224
  }
218
- setMuteSpeaker((0, configuration_1.getLocalConfig)('muteSpeaker', false));
219
- speakerMuted = (0, configuration_1.getLocalConfig)('muteSpeaker', false);
225
+ setMuteSpeaker((0, configuration_1.getLocalConfig)('muteSpeaker', !defaultSpeakerActive));
226
+ speakerMuted = (0, configuration_1.getLocalConfig)('muteSpeaker', !defaultSpeakerActive);
220
227
  setContinuousSpeech(microphoneMode === 'CONTINUOUS');
221
228
  setContinuousSpeechTimeout((0, configuration_1.getLocalConfig)('continuousSpeechTimeout', 2));
222
229
  setControlsPosition((0, configuration_1.getLocalConfig)('controlsPosition', defaultControlsPosition));
223
230
  setHideEmissions((0, configuration_1.getLocalConfig)('hideEmissions', false));
231
+ if (!(additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken) && !authToken) {
232
+ setLoginToken((0, configuration_1.getLocalConfig)('loginToken', undefined));
233
+ }
224
234
  }, []);
225
235
  const [memoriPwd, setMemoriPwd] = (0, react_1.useState)(secret);
226
236
  const [memoriTokens, setMemoriTokens] = (0, react_1.useState)();
@@ -1829,6 +1839,8 @@ const MemoriWidget = ({ memori, memoriConfigs, memoriLang, multilingual, integra
1829
1839
  showReload: selectedLayout === 'TOTEM',
1830
1840
  showClear,
1831
1841
  clearHistory: () => setHistory(h => h.slice(-1)),
1842
+ showLogin,
1843
+ setShowLoginDrawer,
1832
1844
  loginToken,
1833
1845
  user,
1834
1846
  sessionID: sessionId,
@@ -1865,6 +1877,8 @@ const MemoriWidget = ({ memori, memoriConfigs, memoriLang, multilingual, integra
1865
1877
  onClickStart: onClickStart,
1866
1878
  initializeTTS: initializeTTS,
1867
1879
  isUserLoggedIn: !!loginToken,
1880
+ showLogin,
1881
+ setShowLoginDrawer,
1868
1882
  user,
1869
1883
  };
1870
1884
  const chatProps = {
@@ -2002,7 +2016,21 @@ const MemoriWidget = ({ memori, memoriConfigs, memoriLang, multilingual, integra
2002
2016
  setShowAgeVerification(false);
2003
2017
  setClickedStart(false);
2004
2018
  }
2005
- } })), showSettingsDrawer && ((0, jsx_runtime_1.jsx)(SettingsDrawer_1.default, { layout: selectedLayout, open: !!showSettingsDrawer, onClose: () => setShowSettingsDrawer(false), microphoneMode: continuousSpeech ? 'CONTINUOUS' : 'HOLD_TO_TALK', continuousSpeechTimeout: continuousSpeechTimeout, setMicrophoneMode: mode => setContinuousSpeech(mode === 'CONTINUOUS'), setContinuousSpeechTimeout: setContinuousSpeechTimeout, controlsPosition: controlsPosition, setControlsPosition: setControlsPosition, hideEmissions: hideEmissions, setHideEmissions: setHideEmissions, additionalSettings: additionalSettings })), showKnownFactsDrawer && sessionId && ((0, jsx_runtime_1.jsx)(KnownFacts_1.default, { apiURL: apiUrl, memori: memori, sessionID: sessionId, visible: showKnownFactsDrawer, closeDrawer: () => setShowKnownFactsDrawer(false) })), showExpertsDrawer && !!experts && ((0, jsx_runtime_1.jsx)(ExpertsDrawer_1.default, { apiUrl: apiUrl, baseUrl: baseUrl, tenant: tenant, experts: experts, open: showExpertsDrawer, onClose: () => setShowExpertsDrawer(false) }))] }));
2019
+ } })), showSettingsDrawer && ((0, jsx_runtime_1.jsx)(SettingsDrawer_1.default, { layout: selectedLayout, open: !!showSettingsDrawer, onClose: () => setShowSettingsDrawer(false), microphoneMode: continuousSpeech ? 'CONTINUOUS' : 'HOLD_TO_TALK', continuousSpeechTimeout: continuousSpeechTimeout, setMicrophoneMode: mode => setContinuousSpeech(mode === 'CONTINUOUS'), setContinuousSpeechTimeout: setContinuousSpeechTimeout, controlsPosition: controlsPosition, setControlsPosition: setControlsPosition, hideEmissions: hideEmissions, setHideEmissions: setHideEmissions, additionalSettings: additionalSettings })), showKnownFactsDrawer && sessionId && ((0, jsx_runtime_1.jsx)(KnownFacts_1.default, { apiURL: apiUrl, memori: memori, sessionID: sessionId, visible: showKnownFactsDrawer, closeDrawer: () => setShowKnownFactsDrawer(false) })), showExpertsDrawer && !!experts && ((0, jsx_runtime_1.jsx)(ExpertsDrawer_1.default, { apiUrl: apiUrl, baseUrl: baseUrl, tenant: tenant, experts: experts, open: showExpertsDrawer, onClose: () => setShowExpertsDrawer(false) })), showLoginDrawer && (tenant === null || tenant === void 0 ? void 0 : tenant.id) && ((0, jsx_runtime_1.jsx)(LoginDrawer_1.default, { tenant: tenant, apiUrl: apiUrl, open: !!showLoginDrawer, user: user, loginToken: loginToken, onClose: () => setShowLoginDrawer(false), onLogin: (user, token) => {
2020
+ setUser(user);
2021
+ setLoginToken(token);
2022
+ setShowLoginDrawer(false);
2023
+ (0, configuration_1.setLocalConfig)('loginToken', token);
2024
+ }, onLogout: () => {
2025
+ if (!loginToken)
2026
+ return;
2027
+ client.backend.userLogout(loginToken).then(() => {
2028
+ setShowLoginDrawer(false);
2029
+ setUser(undefined);
2030
+ setLoginToken(undefined);
2031
+ (0, configuration_1.setLocalConfig)('loginToken', undefined);
2032
+ });
2033
+ } }))] }));
2006
2034
  };
2007
2035
  exports.default = MemoriWidget;
2008
2036
  //# sourceMappingURL=MemoriWidget.js.map