@memori.ai/memori-react 2.1.0 → 2.2.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 +17 -0
- package/dist/components/Chat/Chat.d.ts +1 -0
- package/dist/components/Chat/Chat.js +2 -2
- package/dist/components/Chat/Chat.js.map +1 -1
- package/dist/components/ChatBubble/ChatBubble.js +1 -1
- package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
- package/dist/components/ChatInputs/ChatInputs.css +1 -41
- package/dist/components/ChatInputs/ChatInputs.d.ts +1 -0
- package/dist/components/ChatInputs/ChatInputs.js +9 -3
- package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
- package/dist/components/FeedbackButtons/FeedbackButtons.js +1 -1
- package/dist/components/FeedbackButtons/FeedbackButtons.js.map +1 -1
- package/dist/components/MemoriWidget/MemoriWidget.js +23 -13
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/components/MicrophoneButton/MicrophoneButton.css +101 -0
- package/dist/components/MicrophoneButton/MicrophoneButton.d.ts +9 -0
- package/dist/components/MicrophoneButton/MicrophoneButton.js +46 -0
- package/dist/components/MicrophoneButton/MicrophoneButton.js.map +1 -0
- package/dist/components/SettingsDrawer/SettingsDrawer.d.ts +3 -3
- package/dist/components/SettingsDrawer/SettingsDrawer.js +8 -6
- package/dist/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
- package/dist/components/SettingsDrawer/SettingsDrawer.test.js +7 -7
- package/dist/components/SettingsDrawer/SettingsDrawer.test.js.map +1 -1
- package/dist/components/StartPanel/StartPanel.js +1 -1
- package/dist/components/StartPanel/StartPanel.js.map +1 -1
- package/dist/components/ui/Button.d.ts +5 -1
- package/dist/components/ui/Button.js +1 -1
- package/dist/components/ui/Button.js.map +1 -1
- package/dist/components/ui/Tooltip.css +33 -2
- package/dist/components/ui/Tooltip.d.ts +2 -1
- package/dist/components/ui/Tooltip.js +1 -2
- package/dist/components/ui/Tooltip.js.map +1 -1
- package/dist/components/ui/Tooltip.test.js +16 -0
- package/dist/components/ui/Tooltip.test.js.map +1 -1
- package/dist/helpers/configuration.js +1 -1
- package/dist/helpers/configuration.js.map +1 -1
- package/dist/locales/en.json +4 -0
- package/dist/locales/it.json +4 -0
- package/dist/styles.css +3 -2
- package/esm/components/Chat/Chat.d.ts +1 -0
- package/esm/components/Chat/Chat.js +2 -2
- package/esm/components/Chat/Chat.js.map +1 -1
- package/esm/components/ChatBubble/ChatBubble.js +1 -1
- package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
- package/esm/components/ChatInputs/ChatInputs.css +1 -41
- package/esm/components/ChatInputs/ChatInputs.d.ts +1 -0
- package/esm/components/ChatInputs/ChatInputs.js +9 -3
- package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
- package/esm/components/FeedbackButtons/FeedbackButtons.js +1 -1
- package/esm/components/FeedbackButtons/FeedbackButtons.js.map +1 -1
- package/esm/components/MemoriWidget/MemoriWidget.js +23 -13
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/MicrophoneButton/MicrophoneButton.css +101 -0
- package/esm/components/MicrophoneButton/MicrophoneButton.d.ts +9 -0
- package/esm/components/MicrophoneButton/MicrophoneButton.js +43 -0
- package/esm/components/MicrophoneButton/MicrophoneButton.js.map +1 -0
- package/esm/components/SettingsDrawer/SettingsDrawer.d.ts +3 -3
- package/esm/components/SettingsDrawer/SettingsDrawer.js +9 -7
- package/esm/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
- package/esm/components/SettingsDrawer/SettingsDrawer.test.js +7 -7
- package/esm/components/SettingsDrawer/SettingsDrawer.test.js.map +1 -1
- package/esm/components/StartPanel/StartPanel.js +1 -1
- package/esm/components/StartPanel/StartPanel.js.map +1 -1
- package/esm/components/ui/Button.d.ts +5 -1
- package/esm/components/ui/Button.js +1 -1
- package/esm/components/ui/Button.js.map +1 -1
- package/esm/components/ui/Tooltip.css +33 -2
- package/esm/components/ui/Tooltip.d.ts +2 -1
- package/esm/components/ui/Tooltip.js +1 -2
- package/esm/components/ui/Tooltip.js.map +1 -1
- package/esm/components/ui/Tooltip.test.js +16 -0
- package/esm/components/ui/Tooltip.test.js.map +1 -1
- package/esm/helpers/configuration.js +1 -1
- package/esm/helpers/configuration.js.map +1 -1
- package/esm/locales/en.json +4 -0
- package/esm/locales/it.json +4 -0
- package/esm/styles.css +3 -2
- package/package.json +1 -1
- package/src/components/BlockedMemoriBadge/__snapshots__/BlockedMemoriBadge.test.tsx.snap +4 -4
- package/src/components/Chat/Chat.tsx +3 -0
- package/src/components/ChatBubble/ChatBubble.tsx +1 -1
- package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +1 -1
- package/src/components/ChatInputs/ChatInputs.css +1 -41
- package/src/components/ChatInputs/ChatInputs.stories.tsx +50 -3
- package/src/components/ChatInputs/ChatInputs.tsx +20 -3
- package/src/components/ChatInputs/__snapshots__/ChatInputs.test.tsx.snap +160 -85
- package/src/components/FeedbackButtons/FeedbackButtons.tsx +1 -1
- package/src/components/Header/Header.stories.tsx +3 -0
- package/src/components/MemoriWidget/MemoriWidget.tsx +29 -12
- package/src/components/MicrophoneButton/MicrophoneButton.css +101 -0
- package/src/components/MicrophoneButton/MicrophoneButton.stories.tsx +49 -0
- package/src/components/MicrophoneButton/MicrophoneButton.tsx +95 -0
- package/src/components/SettingsDrawer/SettingsDrawer.stories.tsx +6 -4
- package/src/components/SettingsDrawer/SettingsDrawer.test.tsx +14 -14
- package/src/components/SettingsDrawer/SettingsDrawer.tsx +57 -25
- package/src/components/StartPanel/StartPanel.tsx +3 -3
- package/src/components/ui/Button.tsx +21 -1
- package/src/components/ui/Tooltip.css +33 -2
- package/src/components/ui/Tooltip.stories.tsx +40 -3
- package/src/components/ui/Tooltip.test.tsx +52 -0
- package/src/components/ui/Tooltip.tsx +12 -7
- package/src/components/ui/__snapshots__/Tooltip.test.tsx.snap +80 -4
- package/src/helpers/configuration.ts +1 -1
- package/src/locales/en.json +4 -0
- package/src/locales/it.json +4 -0
- package/src/styles.css +3 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import Drawer from '../ui/Drawer';
|
|
3
3
|
import { useTranslation } from 'react-i18next';
|
|
4
4
|
import Checkbox from '../ui/Checkbox';
|
|
@@ -7,15 +7,17 @@ import { setLocalConfig } from '../../helpers/configuration';
|
|
|
7
7
|
import { RadioGroup } from '@headlessui/react';
|
|
8
8
|
import Button from '../ui/Button';
|
|
9
9
|
const silenceSeconds = [2, 3, 5, 10, 15, 20, 30, 60];
|
|
10
|
-
const SettingsDrawer = ({ open, layout = 'DEFAULT', onClose,
|
|
10
|
+
const SettingsDrawer = ({ open, layout = 'DEFAULT', onClose, microphoneMode = 'HOLD_TO_TALK', continuousSpeechTimeout, setMicrophoneMode, setContinuousSpeechTimeout, controlsPosition, setControlsPosition, hideEmissions, setHideEmissions, }) => {
|
|
11
11
|
const { t } = useTranslation();
|
|
12
|
-
return (_jsxs(Drawer, { className: "memori-settings-drawer", open: open, onClose: onClose, title: t('widget.settings') || 'Settings', description: t('write_and_speak.settingsHeaderLabel'), children: [
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
return (_jsxs(Drawer, { className: "memori-settings-drawer", open: open, onClose: onClose, title: t('widget.settings') || 'Settings', description: t('write_and_speak.settingsHeaderLabel'), children: [_jsxs("div", { className: "memori-settings-drawer--field controls", children: [_jsxs("label", { htmlFor: "#microphoneMode", children: [t('write_and_speak.microphoneMode') || 'Microphone mode', ":"] }), _jsxs(RadioGroup, { id: "microphoneMode", name: "microphoneMode", value: microphoneMode, defaultValue: microphoneMode, className: "memori-settings-drawer--microphoneMode-radio", onChange: value => {
|
|
13
|
+
let micMode = value === 'CONTINUOUS' ? 'CONTINUOUS' : 'HOLD_TO_TALK';
|
|
14
|
+
setMicrophoneMode(micMode);
|
|
15
|
+
setLocalConfig('microphoneMode', micMode);
|
|
16
|
+
}, children: [_jsx(RadioGroup.Option, { value: "HOLD_TO_TALK", className: "memori-settings-drawer--microphoneMode-radio-button", children: ({ checked }) => (_jsx(Button, { primary: checked, children: t('write_and_speak.holdToSpeak') || 'Hold to speak' })) }), _jsx(RadioGroup.Option, { value: "CONTINUOUS", className: "memori-settings-drawer--microphoneMode-radio-button", children: ({ checked }) => (_jsx(Button, { primary: checked, children: t('write_and_speak.continuousSpeechLabel') ||
|
|
17
|
+
'Continuous speech' })) })] })] }), microphoneMode === 'CONTINUOUS' && (_jsx("div", { className: "memori-settings-drawer--field", children: _jsx(Select, { label: t('write_and_speak.secondsLabel') || 'Seconds', placeholder: t('write_and_speak.secondsLabel') || 'Seconds', options: silenceSeconds.map(s => ({ value: s, label: s })), value: continuousSpeechTimeout, onChange: value => {
|
|
16
18
|
setContinuousSpeechTimeout(value);
|
|
17
19
|
setLocalConfig('continuousSpeechTimeout', value);
|
|
18
|
-
} }) }), layout === 'TOTEM' && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "memori-settings-drawer--field controls", children: [_jsxs("label", { htmlFor: "#controlsPosition", children: [t('write_and_speak.controlsPosition') || 'Controls', ":"] }), _jsxs(RadioGroup, { id: "controlsPosition", name: "controlsPosition", value: controlsPosition, defaultValue: controlsPosition, className: "memori-settings-drawer--controlsposition-radio", onChange: value => {
|
|
20
|
+
} }) })), layout === 'TOTEM' && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "memori-settings-drawer--field controls", children: [_jsxs("label", { htmlFor: "#controlsPosition", children: [t('write_and_speak.controlsPosition') || 'Controls', ":"] }), _jsxs(RadioGroup, { id: "controlsPosition", name: "controlsPosition", value: controlsPosition, defaultValue: controlsPosition, className: "memori-settings-drawer--controlsposition-radio", onChange: value => {
|
|
19
21
|
setControlsPosition(value);
|
|
20
22
|
setLocalConfig('controlsPosition', value);
|
|
21
23
|
}, children: [_jsx(RadioGroup.Option, { value: "center", className: "memori-settings-drawer--controlsposition-radio-button", children: ({ checked }) => (_jsx(Button, { primary: checked, children: t('center') || 'Center' })) }), _jsx(RadioGroup.Option, { value: "bottom", className: "memori-settings-drawer--controlsposition-radio-button", children: ({ checked }) => (_jsx(Button, { primary: checked, children: t('bottom') || 'Bottom' })) })] })] }), _jsx("div", { className: "memori-settings-drawer--field", children: _jsx(Checkbox, { label: t('write_and_speak.hideEmissionsLabel'), name: "hideControls", checked: hideEmissions, onChange: e => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsDrawer.js","sourceRoot":"","sources":["../../../src/components/SettingsDrawer/SettingsDrawer.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,MAAM,MAAM,cAAc,CAAC;AAgBlC,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAErD,MAAM,cAAc,GAAG,CAAC,EACtB,IAAI,EACJ,MAAM,GAAG,SAAS,EAClB,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"SettingsDrawer.js","sourceRoot":"","sources":["../../../src/components/SettingsDrawer/SettingsDrawer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,31 +10,31 @@ beforeEach(() => {
|
|
|
10
10
|
}));
|
|
11
11
|
});
|
|
12
12
|
it('renders SettingsDrawer unchanged', () => {
|
|
13
|
-
const { container } = render(_jsx(SettingsDrawer, { open: false, onClose: jest.fn(),
|
|
13
|
+
const { container } = render(_jsx(SettingsDrawer, { open: false, onClose: jest.fn(), microphoneMode: "HOLD_TO_TALK", setMicrophoneMode: jest.fn(), continuousSpeechTimeout: 2, setContinuousSpeechTimeout: jest.fn(), controlsPosition: "bottom", setControlsPosition: jest.fn(), hideEmissions: false, setHideEmissions: jest.fn() }));
|
|
14
14
|
expect(container).toMatchSnapshot();
|
|
15
15
|
});
|
|
16
16
|
it('renders SettingsDrawer open unchanged', () => {
|
|
17
|
-
const { container } = render(_jsx(SettingsDrawer, { open: true, onClose: jest.fn(),
|
|
17
|
+
const { container } = render(_jsx(SettingsDrawer, { open: true, onClose: jest.fn(), microphoneMode: "HOLD_TO_TALK", setMicrophoneMode: jest.fn(), continuousSpeechTimeout: 2, setContinuousSpeechTimeout: jest.fn(), controlsPosition: "bottom", setControlsPosition: jest.fn(), hideEmissions: false, setHideEmissions: jest.fn() }));
|
|
18
18
|
expect(container).toMatchSnapshot();
|
|
19
19
|
});
|
|
20
20
|
it('renders SettingsDrawer open with continuous speech enabled unchanged', () => {
|
|
21
|
-
const { container } = render(_jsx(SettingsDrawer, { open: true, onClose: jest.fn(),
|
|
21
|
+
const { container } = render(_jsx(SettingsDrawer, { open: true, onClose: jest.fn(), microphoneMode: "CONTINUOUS", setMicrophoneMode: jest.fn(), continuousSpeechTimeout: 2, setContinuousSpeechTimeout: jest.fn(), controlsPosition: "bottom", setControlsPosition: jest.fn(), hideEmissions: false, setHideEmissions: jest.fn() }));
|
|
22
22
|
expect(container).toMatchSnapshot();
|
|
23
23
|
});
|
|
24
24
|
it('renders SettingsDrawer open with non-default continuous speech timeout unchanged', () => {
|
|
25
|
-
const { container } = render(_jsx(SettingsDrawer, { open: true, onClose: jest.fn(),
|
|
25
|
+
const { container } = render(_jsx(SettingsDrawer, { open: true, onClose: jest.fn(), microphoneMode: "CONTINUOUS", setMicrophoneMode: jest.fn(), continuousSpeechTimeout: 10, setContinuousSpeechTimeout: jest.fn(), controlsPosition: "bottom", setControlsPosition: jest.fn(), hideEmissions: false, setHideEmissions: jest.fn() }));
|
|
26
26
|
expect(container).toMatchSnapshot();
|
|
27
27
|
});
|
|
28
28
|
it('renders SettingsDrawer for totem layout open unchanged', () => {
|
|
29
|
-
const { container } = render(_jsx(SettingsDrawer, { layout: "TOTEM", open: true, onClose: jest.fn(),
|
|
29
|
+
const { container } = render(_jsx(SettingsDrawer, { layout: "TOTEM", open: true, onClose: jest.fn(), microphoneMode: "HOLD_TO_TALK", setMicrophoneMode: jest.fn(), continuousSpeechTimeout: 2, setContinuousSpeechTimeout: jest.fn(), controlsPosition: "bottom", setControlsPosition: jest.fn(), hideEmissions: false, setHideEmissions: jest.fn() }));
|
|
30
30
|
expect(container).toMatchSnapshot();
|
|
31
31
|
});
|
|
32
32
|
it('renders SettingsDrawer for totem layout open with controls at center unchanged', () => {
|
|
33
|
-
const { container } = render(_jsx(SettingsDrawer, { layout: "TOTEM", open: true, onClose: jest.fn(),
|
|
33
|
+
const { container } = render(_jsx(SettingsDrawer, { layout: "TOTEM", open: true, onClose: jest.fn(), microphoneMode: "HOLD_TO_TALK", setMicrophoneMode: jest.fn(), continuousSpeechTimeout: 2, setContinuousSpeechTimeout: jest.fn(), controlsPosition: "center", setControlsPosition: jest.fn(), hideEmissions: false, setHideEmissions: jest.fn() }));
|
|
34
34
|
expect(container).toMatchSnapshot();
|
|
35
35
|
});
|
|
36
36
|
it('renders SettingsDrawer for totem layout with continuous speech and hide emissions unchanged', () => {
|
|
37
|
-
const { container } = render(_jsx(SettingsDrawer, { layout: "TOTEM", open: true, onClose: jest.fn(),
|
|
37
|
+
const { container } = render(_jsx(SettingsDrawer, { layout: "TOTEM", open: true, onClose: jest.fn(), microphoneMode: "HOLD_TO_TALK", setMicrophoneMode: jest.fn(), continuousSpeechTimeout: 2, setContinuousSpeechTimeout: jest.fn(), controlsPosition: "bottom", setControlsPosition: jest.fn(), hideEmissions: true, setHideEmissions: jest.fn() }));
|
|
38
38
|
expect(container).toMatchSnapshot();
|
|
39
39
|
});
|
|
40
40
|
//# sourceMappingURL=SettingsDrawer.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsDrawer.test.js","sourceRoot":"","sources":["../../../src/components/SettingsDrawer/SettingsDrawer.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,UAAU,CAAC,GAAG,EAAE;IAEd,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3C,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;QAClB,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;QACpB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;QACrB,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;KACvB,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAC1C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,cAAc,IACb,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAClB,
|
|
1
|
+
{"version":3,"file":"SettingsDrawer.test.js","sourceRoot":"","sources":["../../../src/components/SettingsDrawer/SettingsDrawer.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,UAAU,CAAC,GAAG,EAAE;IAEd,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3C,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;QAClB,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;QACpB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;QACrB,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;KACvB,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAC1C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,cAAc,IACb,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAClB,cAAc,EAAC,cAAc,EAC7B,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,EAC5B,uBAAuB,EAAE,CAAC,EAC1B,0BAA0B,EAAE,IAAI,CAAC,EAAE,EAAE,EACrC,gBAAgB,EAAC,QAAQ,EACzB,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,EAC9B,aAAa,EAAE,KAAK,EACpB,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,GAC3B,CACH,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;IAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,cAAc,IACb,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAClB,cAAc,EAAC,cAAc,EAC7B,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,EAC5B,uBAAuB,EAAE,CAAC,EAC1B,0BAA0B,EAAE,IAAI,CAAC,EAAE,EAAE,EACrC,gBAAgB,EAAC,QAAQ,EACzB,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,EAC9B,aAAa,EAAE,KAAK,EACpB,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,GAC3B,CACH,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;IAC9E,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,cAAc,IACb,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAClB,cAAc,EAAC,YAAY,EAC3B,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,EAC5B,uBAAuB,EAAE,CAAC,EAC1B,0BAA0B,EAAE,IAAI,CAAC,EAAE,EAAE,EACrC,gBAAgB,EAAC,QAAQ,EACzB,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,EAC9B,aAAa,EAAE,KAAK,EACpB,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,GAC3B,CACH,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;IAC1F,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,cAAc,IACb,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAClB,cAAc,EAAC,YAAY,EAC3B,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,EAC5B,uBAAuB,EAAE,EAAE,EAC3B,0BAA0B,EAAE,IAAI,CAAC,EAAE,EAAE,EACrC,gBAAgB,EAAC,QAAQ,EACzB,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,EAC9B,aAAa,EAAE,KAAK,EACpB,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,GAC3B,CACH,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;IAChE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,cAAc,IACb,MAAM,EAAC,OAAO,EACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAClB,cAAc,EAAC,cAAc,EAC7B,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,EAC5B,uBAAuB,EAAE,CAAC,EAC1B,0BAA0B,EAAE,IAAI,CAAC,EAAE,EAAE,EACrC,gBAAgB,EAAC,QAAQ,EACzB,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,EAC9B,aAAa,EAAE,KAAK,EACpB,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,GAC3B,CACH,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;IACxF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,cAAc,IACb,MAAM,EAAC,OAAO,EACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAClB,cAAc,EAAC,cAAc,EAC7B,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,EAC5B,uBAAuB,EAAE,CAAC,EAC1B,0BAA0B,EAAE,IAAI,CAAC,EAAE,EAAE,EACrC,gBAAgB,EAAC,QAAQ,EACzB,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,EAC9B,aAAa,EAAE,KAAK,EACpB,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,GAC3B,CACH,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,6FAA6F,EAAE,GAAG,EAAE;IACrG,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,cAAc,IACb,MAAM,EAAC,OAAO,EACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAClB,cAAc,EAAC,cAAc,EAC7B,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,EAC5B,uBAAuB,EAAE,CAAC,EAC1B,0BAA0B,EAAE,IAAI,CAAC,EAAE,EAAE,EACrC,gBAAgB,EAAC,QAAQ,EACzB,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,EAC9B,aAAa,EAAE,IAAI,EACnB,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,GAC3B,CACH,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC"}
|
|
@@ -43,7 +43,7 @@ const StartPanel = ({ memori, tenant, gamificationLevel, language, userLang, set
|
|
|
43
43
|
baseURL: baseUrl,
|
|
44
44
|
apiURL: apiUrl,
|
|
45
45
|
})}")`,
|
|
46
|
-
}, children: [!!((_a = gamificationLevel === null || gamificationLevel === void 0 ? void 0 : gamificationLevel.badge) === null || _a === void 0 ? void 0 : _a.length) && (_jsx("div", { className: "memori--gamification-badge", children: _jsx(Tooltip, {
|
|
46
|
+
}, children: [!!((_a = gamificationLevel === null || gamificationLevel === void 0 ? void 0 : gamificationLevel.badge) === null || _a === void 0 ? void 0 : _a.length) && (_jsx("div", { className: "memori--gamification-badge", children: _jsx(Tooltip, { align: "left", content: `${t('gamification.level')} ${gamificationLevel.badge}, ${gamificationLevel.points} ${t('gamification.points')}`, children: _jsx("span", { "aria-label": `${t('gamification.level')} ${gamificationLevel.badge}, ${gamificationLevel.points} ${t('gamification.points')}`, children: gamificationLevel.badge }) }) })), !!memori.enableCompletions && (_jsx("div", { className: "memori--completions-enabled", children: _jsx(Tooltip, { align: "left", content: t('completionsEnabled'), children: _jsx("span", { "aria-label": t('completionsEnabled') || 'Completions', children: _jsx(AI, {}) }) }) })), !!memori.nsfw && (_jsx("div", { className: "memori--nsfw", children: _jsx(Tooltip, { align: "left", content: t('nsfw'), children: _jsx("span", { title: t('nsfw') || 'NSFW', children: "\uD83D\uDD1E" }) }) }))] }), _jsxs("picture", { className: "memori--avatar", children: [_jsx("source", { src: (_b = memori.avatarURL) !== null && _b !== void 0 ? _b : getResourceUrl({
|
|
47
47
|
type: 'avatar',
|
|
48
48
|
tenantID: tenant === null || tenant === void 0 ? void 0 : tenant.id,
|
|
49
49
|
resourceURI: memori.avatarURL,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StartPanel.js","sourceRoot":"","sources":["../../../src/components/StartPanel/StartPanel.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"StartPanel.js","sourceRoot":"","sources":["../../../src/components/StartPanel/StartPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,11 @@ export interface Props {
|
|
|
16
16
|
id?: string;
|
|
17
17
|
htmlType?: 'button' | 'submit' | 'reset';
|
|
18
18
|
onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
19
|
-
|
|
19
|
+
onMouseDown?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
20
|
+
onMouseUp?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
21
|
+
onMouseLeave?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
22
|
+
onTouchStart?: (event: React.TouchEvent<HTMLButtonElement> | React.MouseEvent) => void;
|
|
23
|
+
onTouchEnd?: (event: React.TouchEvent<HTMLButtonElement> | React.MouseEvent) => void;
|
|
20
24
|
}
|
|
21
25
|
declare const Button: FC<Props>;
|
|
22
26
|
export default Button;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import cx from 'classnames';
|
|
3
3
|
import Loading from '../icons/Loading';
|
|
4
|
-
const Button = ({ primary = false, outlined = false, ghost = false, padded = true, shape = 'rounded', danger = false, loading = false, disabled = false, block = false, icon, className, title, id, htmlType, onClick, onTouchEnd, children, }) => (_jsxs("button", { id: id, type: htmlType, onClick: onClick, onTouchEnd: onTouchEnd, title: title, disabled: loading || disabled, className: cx('memori-button', {
|
|
4
|
+
const Button = ({ primary = false, outlined = false, ghost = false, padded = true, shape = 'rounded', danger = false, loading = false, disabled = false, block = false, icon, className, title, id, htmlType, onClick, onMouseDown, onMouseUp, onMouseLeave, onTouchStart, onTouchEnd, children, }) => (_jsxs("button", { id: id, type: htmlType, onClick: onClick, onMouseDown: onMouseDown, onMouseUp: onMouseUp, onMouseLeave: onMouseLeave, onTouchStart: onTouchStart, onTouchEnd: onTouchEnd, title: title, disabled: loading || disabled, className: cx('memori-button', {
|
|
5
5
|
'memori-button--primary': primary,
|
|
6
6
|
'memori-button--outlined': outlined,
|
|
7
7
|
'memori-button--ghost': ghost,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/ui/Button.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,OAAO,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/ui/Button.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAsCvC,MAAM,MAAM,GAAc,CAAC,EACzB,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,IAAI,EACb,KAAK,GAAG,SAAS,EACjB,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,KAAK,EACb,IAAI,EACJ,SAAS,EACT,KAAK,EACL,EAAE,EACF,QAAQ,EACR,OAAO,EACP,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,QAAQ,GACT,EAAE,EAAE,CAAC,CACJ,kBACE,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,OAAO,IAAI,QAAQ,EAC7B,SAAS,EAAE,EAAE,CACX,eAAe,EACf;QACE,wBAAwB,EAAE,OAAO;QACjC,yBAAyB,EAAE,QAAQ;QACnC,sBAAsB,EAAE,KAAK;QAC7B,uBAAuB,EAAE,KAAK,KAAK,QAAQ;QAC3C,wBAAwB,EAAE,KAAK,KAAK,SAAS;QAC7C,uBAAuB,EAAE,KAAK,KAAK,QAAQ;QAC3C,uBAAuB,EAAE,MAAM;QAC/B,sBAAsB,EAAE,KAAK;QAC7B,0BAA0B,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,QAAQ;QACzD,0BAA0B,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ;QAC1D,uBAAuB,EAAE,MAAM;QAC/B,wBAAwB,EAAE,OAAO;KAClC,EACD,SAAS,CACV,aAEA,IAAI,IAAI,CAAC,OAAO,IAAI,eAAM,SAAS,EAAC,qBAAqB,YAAE,IAAI,GAAQ,EACvE,OAAO,IAAI,CACV,eAAM,SAAS,EAAC,kCAAkC,YAChD,KAAC,OAAO,IAAC,OAAO,SAAG,GACd,CACR,EACA,QAAQ,IACF,CACV,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/* stylelint-disable no-descending-specificity */
|
|
2
|
+
|
|
1
3
|
.memori-tooltip {
|
|
2
4
|
position: relative;
|
|
3
5
|
display: inline-block;
|
|
@@ -23,7 +25,8 @@
|
|
|
23
25
|
transition: 0.3s 0.1s all ease;
|
|
24
26
|
}
|
|
25
27
|
|
|
26
|
-
.memori-tooltip.memori-tooltip--align-left .memori-tooltip--content
|
|
28
|
+
.memori-tooltip.memori-tooltip--align-left .memori-tooltip--content,
|
|
29
|
+
.memori-tooltip.memori-tooltip--align-topLeft .memori-tooltip--content {
|
|
27
30
|
right: 100%;
|
|
28
31
|
left: initial;
|
|
29
32
|
margin: initial;
|
|
@@ -52,6 +55,15 @@
|
|
|
52
55
|
margin-left: 0;
|
|
53
56
|
}
|
|
54
57
|
|
|
58
|
+
.memori-tooltip.memori-tooltip--align-topRight .memori-tooltip--content::before {
|
|
59
|
+
top: 100%;
|
|
60
|
+
right: auto;
|
|
61
|
+
left: 10px;
|
|
62
|
+
border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent;
|
|
63
|
+
margin-top: 10px;
|
|
64
|
+
margin-left: 5px;
|
|
65
|
+
}
|
|
66
|
+
|
|
55
67
|
.memori-tooltip:not(.memori-tooltip--disabled).memori-tooltip--visible .memori-tooltip--content,
|
|
56
68
|
.memori-tooltip:not(.memori-tooltip--disabled).memori-tooltip--visible .memori-tooltip--content::before {
|
|
57
69
|
display: block;
|
|
@@ -69,6 +81,25 @@
|
|
|
69
81
|
opacity: 1;
|
|
70
82
|
}
|
|
71
83
|
|
|
84
|
+
.memori-tooltip.memori-tooltip--align-topRight:not(.memori-tooltip--disabled).memori-tooltip--visible .memori-tooltip--content,
|
|
85
|
+
.memori-tooltip.memori-tooltip--align-topRight:not(.memori-tooltip--disabled):not(.memori-tooltip--visible):hover .memori-tooltip--content {
|
|
86
|
+
transform: translateY(-150%) translateX(-33%);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.memori-tooltip.memori-tooltip--align-topLeft .memori-tooltip--content::before {
|
|
90
|
+
top: 100%;
|
|
91
|
+
right: 10px;
|
|
92
|
+
left: auto;
|
|
93
|
+
border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent;
|
|
94
|
+
margin-top: 10px;
|
|
95
|
+
margin-left: 5px;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.memori-tooltip.memori-tooltip--align-topLeft:not(.memori-tooltip--disabled).memori-tooltip--visible .memori-tooltip--content,
|
|
99
|
+
.memori-tooltip.memori-tooltip--align-topLeft:not(.memori-tooltip--disabled):not(.memori-tooltip--visible):hover .memori-tooltip--content {
|
|
100
|
+
transform: translateY(-150%) translateX(33%);
|
|
101
|
+
}
|
|
102
|
+
|
|
72
103
|
.memori-tooltip:not(.memori-tooltip--disabled).memori-tooltip--visible .memori-tooltip--content a,
|
|
73
104
|
.memori-tooltip:not(.memori-tooltip--disabled):not(.memori-tooltip--visible):hover .memori-tooltip--content a {
|
|
74
105
|
color: #fff;
|
|
@@ -77,4 +108,4 @@
|
|
|
77
108
|
|
|
78
109
|
.memori-tooltip.memori-tooltip--disabled {
|
|
79
110
|
cursor: not-allowed;
|
|
80
|
-
}
|
|
111
|
+
}
|
|
@@ -2,7 +2,8 @@ import React, { FC } from 'react';
|
|
|
2
2
|
export interface Props {
|
|
3
3
|
content: string | JSX.Element | React.ReactNode;
|
|
4
4
|
className?: string;
|
|
5
|
-
|
|
5
|
+
align?: 'left' | 'right' | 'topLeft' | 'topRight';
|
|
6
|
+
alignTop?: boolean;
|
|
6
7
|
disabled?: boolean;
|
|
7
8
|
children: React.ReactNode;
|
|
8
9
|
visible?: boolean;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import cx from 'classnames';
|
|
3
|
-
const Tooltip = ({ content, className,
|
|
4
|
-
'memori-tooltip--align-left': alignLeft,
|
|
3
|
+
const Tooltip = ({ content, className, align = 'right', disabled = false, visible = false, children, }) => (_jsxs("div", { className: cx('memori-tooltip', `memori-tooltip--align-${align}`, className, {
|
|
5
4
|
'memori-tooltip--disabled': disabled,
|
|
6
5
|
'memori-tooltip--visible': visible,
|
|
7
6
|
}), children: [_jsx("div", { className: "memori-tooltip--content", children: content }), _jsx("div", { className: "memori-tooltip--trigger", children: children })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/ui/Tooltip.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/ui/Tooltip.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAY5B,MAAM,OAAO,GAAc,CAAC,EAC1B,OAAO,EACP,SAAS,EACT,KAAK,GAAG,OAAO,EACf,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,QAAQ,GACT,EAAE,EAAE,CAAC,CACJ,eACE,SAAS,EAAE,EAAE,CACX,gBAAgB,EAChB,yBAAyB,KAAK,EAAE,EAChC,SAAS,EACT;QACE,0BAA0B,EAAE,QAAQ;QACpC,yBAAyB,EAAE,OAAO;KACnC,CACF,aAED,cAAK,SAAS,EAAC,yBAAyB,YAAE,OAAO,GAAO,EACxD,cAAK,SAAS,EAAC,yBAAyB,YAAE,QAAQ,GAAO,IACrD,CACP,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -17,4 +17,20 @@ it('renders Tooltip visible unchanged', () => {
|
|
|
17
17
|
const { container } = render(_jsx(Tooltip, { content: "Here is some tooltip content by default as I am controlled", visible: true, children: "Hover me" }));
|
|
18
18
|
expect(container).toMatchSnapshot();
|
|
19
19
|
});
|
|
20
|
+
it('renders Tooltip aligned left unchanged', () => {
|
|
21
|
+
const { container } = render(_jsx(Tooltip, { content: "Here is some tooltip content by default as I am controlled", visible: true, align: "left", children: "Hover me" }));
|
|
22
|
+
expect(container).toMatchSnapshot();
|
|
23
|
+
});
|
|
24
|
+
it('renders Tooltip aligned top left unchanged', () => {
|
|
25
|
+
const { container } = render(_jsx(Tooltip, { content: "Here is some tooltip content by default as I am controlled", visible: true, align: "topLeft", children: "Hover me" }));
|
|
26
|
+
expect(container).toMatchSnapshot();
|
|
27
|
+
});
|
|
28
|
+
it('renders Tooltip aligned right unchanged', () => {
|
|
29
|
+
const { container } = render(_jsx(Tooltip, { content: "Here is some tooltip content by default as I am controlled", visible: true, align: "right", children: "Hover me" }));
|
|
30
|
+
expect(container).toMatchSnapshot();
|
|
31
|
+
});
|
|
32
|
+
it('renders Tooltip aligned top right unchanged', () => {
|
|
33
|
+
const { container } = render(_jsx(Tooltip, { content: "Here is some tooltip content by default as I am controlled", visible: true, align: "topRight", children: "Hover me" }));
|
|
34
|
+
expect(container).toMatchSnapshot();
|
|
35
|
+
});
|
|
20
36
|
//# sourceMappingURL=Tooltip.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.test.js","sourceRoot":"","sources":["../../../src/components/ui/Tooltip.test.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACnC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,OAAO,IAAC,OAAO,EAAC,8BAA8B,yBAAmB,CACnE,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,OAAO,IACN,OAAO,EACL,6DAEE,YAAG,IAAI,EAAC,mBAAmB,EAAC,GAAG,EAAC,qBAAqB,EAAC,MAAM,EAAC,QAAQ,sBAEjE,sBAEF,yBAIE,CACX,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC5C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,OAAO,IAAC,OAAO,EAAC,gDAAgD,EAAC,QAAQ,+BAEhE,CACX,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,OAAO,IACN,OAAO,EAAC,4DAA4D,EACpE,OAAO,+BAGC,CACX,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Tooltip.test.js","sourceRoot":"","sources":["../../../src/components/ui/Tooltip.test.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACnC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,OAAO,IAAC,OAAO,EAAC,8BAA8B,yBAAmB,CACnE,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,OAAO,IACN,OAAO,EACL,6DAEE,YAAG,IAAI,EAAC,mBAAmB,EAAC,GAAG,EAAC,qBAAqB,EAAC,MAAM,EAAC,QAAQ,sBAEjE,sBAEF,yBAIE,CACX,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC5C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,OAAO,IAAC,OAAO,EAAC,gDAAgD,EAAC,QAAQ,+BAEhE,CACX,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,OAAO,IACN,OAAO,EAAC,4DAA4D,EACpE,OAAO,+BAGC,CACX,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;IAChD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,OAAO,IACN,OAAO,EAAC,4DAA4D,EACpE,OAAO,QACP,KAAK,EAAC,MAAM,yBAGJ,CACX,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,OAAO,IACN,OAAO,EAAC,4DAA4D,EACpE,OAAO,QACP,KAAK,EAAC,SAAS,yBAGP,CACX,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACjD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,OAAO,IACN,OAAO,EAAC,4DAA4D,EACpE,OAAO,QACP,KAAK,EAAC,OAAO,yBAGL,CACX,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;IACrD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,OAAO,IACN,OAAO,EAAC,4DAA4D,EACpE,OAAO,QACP,KAAK,EAAC,UAAU,yBAGR,CACX,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const keys = {
|
|
2
2
|
muteSpeaker: '@memori:muteSpeaker',
|
|
3
|
-
|
|
3
|
+
microphoneMode: '@memori:microphoneMode',
|
|
4
4
|
continuousSpeechTimeout: '@memori:continuousSpeechTimeout',
|
|
5
5
|
sendOnEnter: '@memori:sendOnEnter',
|
|
6
6
|
birthDate: '@memori:birthDate',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/helpers/configuration.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAA8B;IAC7C,WAAW,EAAE,qBAAqB;IAClC,
|
|
1
|
+
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/helpers/configuration.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAA8B;IAC7C,WAAW,EAAE,qBAAqB;IAClC,cAAc,EAAE,wBAAwB;IACxC,uBAAuB,EAAE,iCAAiC;IAC1D,WAAW,EAAE,qBAAqB;IAClC,SAAS,EAAE,mBAAmB;IAC9B,gBAAgB,EAAE,0BAA0B;IAC5C,aAAa,EAAE,uBAAuB;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAO,GAAW,EAAE,YAAkB,EAAQ,EAAE;;IAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,MAAA,IAAI,CAAC,GAAG,CAAC,mCAAI,GAAG,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAEhC,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAoB,CAAC;KAC7C;IAAC,WAAM;QACN,OAAO,KAAwB,CAAC;KACjC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,KAAU,EAAQ,EAAE;;IAC9D,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,MAAA,IAAI,CAAC,GAAG,CAAC,mCAAI,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC"}
|
package/esm/locales/en.json
CHANGED
|
@@ -70,6 +70,10 @@
|
|
|
70
70
|
"conversationStartedLabel": "Conversation started on",
|
|
71
71
|
"settingsHeaderLabel": "Setup here if you want to set the memori as continuous speech, and change the silence seconds if you want to customize them.",
|
|
72
72
|
"continuousSpeechLabel": "Continuous speech",
|
|
73
|
+
"holdToSpeak": "Hold to speak",
|
|
74
|
+
"releaseToEndListening": "Release to end listening",
|
|
75
|
+
"pressAndHoldToSpeak": "Press and hold to speak",
|
|
76
|
+
"microphoneMode": "Microphone mode",
|
|
73
77
|
"hideEmissionsLabel": "Hide text emitted by the Twin",
|
|
74
78
|
"secondsLabel": "Set seconds",
|
|
75
79
|
"controlsPosition": "Controls position",
|
package/esm/locales/it.json
CHANGED
|
@@ -70,6 +70,10 @@
|
|
|
70
70
|
"conversationStartedLabel": "Conversazione avvenuta il",
|
|
71
71
|
"settingsHeaderLabel": "Configura qui il memori se vuoi impostare una conversazione continua. Setta i secondi di silenzio prima dell'invio.",
|
|
72
72
|
"continuousSpeechLabel": "Conversazione continua",
|
|
73
|
+
"holdToSpeak": "Tieni premuto per parlare",
|
|
74
|
+
"releaseToEndListening": "Rilascia per smettere di parlare",
|
|
75
|
+
"pressAndHoldToSpeak": "Premi e tieni premuto per parlare",
|
|
76
|
+
"microphoneMode": "Modalità microfono",
|
|
73
77
|
"hideEmissionsLabel": "Nascondi testo emesso dal Twin",
|
|
74
78
|
"secondsLabel": "Secondi",
|
|
75
79
|
"controlsPosition": "Posizione dei controlli",
|
package/esm/styles.css
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
@import url('./components/Chat/Chat.css');
|
|
18
18
|
@import url('./components/ChatBubble/ChatBubble.css');
|
|
19
19
|
@import url('./components/ChatInputs/ChatInputs.css');
|
|
20
|
+
@import url('./components/MicrophoneButton/MicrophoneButton.css');
|
|
20
21
|
@import url('./components/ChatTextArea/ChatTextArea.css');
|
|
21
22
|
@import url('./components/CustomGLBModelViewer/ModelViewer.css');
|
|
22
23
|
@import url('./components/SettingsDrawer/SettingsDrawer.css');
|
|
@@ -55,7 +56,7 @@
|
|
|
55
56
|
|
|
56
57
|
memori-client,
|
|
57
58
|
memori-client #root,
|
|
58
|
-
memori-client
|
|
59
|
+
memori-client+#headlessui-portal-root,
|
|
59
60
|
body.sb-show-main #root,
|
|
60
61
|
body.sb-show-main #headlessui-portal-root,
|
|
61
62
|
#storybook-root,
|
|
@@ -83,4 +84,4 @@ body.sb-show-main #headlessui-portal-root,
|
|
|
83
84
|
--memori-modal--width: 100%;
|
|
84
85
|
--memori-modal--width--md: 80%;
|
|
85
86
|
--memori-error-color: #ff4d4f;
|
|
86
|
-
}
|
|
87
|
+
}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
exports[`renders BlockedMemoriBadge unchanged 1`] = `
|
|
4
4
|
<div>
|
|
5
5
|
<div
|
|
6
|
-
class="memori-tooltip blocked-memori-badge--tooltip"
|
|
6
|
+
class="memori-tooltip memori-tooltip--align-right blocked-memori-badge--tooltip"
|
|
7
7
|
>
|
|
8
8
|
<div
|
|
9
9
|
class="memori-tooltip--content"
|
|
@@ -41,7 +41,7 @@ exports[`renders BlockedMemoriBadge unchanged 1`] = `
|
|
|
41
41
|
exports[`renders BlockedMemoriBadge with giver info unchanged 1`] = `
|
|
42
42
|
<div>
|
|
43
43
|
<div
|
|
44
|
-
class="memori-tooltip blocked-memori-badge--tooltip"
|
|
44
|
+
class="memori-tooltip memori-tooltip--align-right blocked-memori-badge--tooltip"
|
|
45
45
|
>
|
|
46
46
|
<div
|
|
47
47
|
class="memori-tooltip--content"
|
|
@@ -83,7 +83,7 @@ memoriBlockedGiverHelper
|
|
|
83
83
|
exports[`renders BlockedMemoriBadge with margin left unchanged 1`] = `
|
|
84
84
|
<div>
|
|
85
85
|
<div
|
|
86
|
-
class="memori-tooltip blocked-memori-badge--tooltip"
|
|
86
|
+
class="memori-tooltip memori-tooltip--align-right blocked-memori-badge--tooltip"
|
|
87
87
|
>
|
|
88
88
|
<div
|
|
89
89
|
class="memori-tooltip--content"
|
|
@@ -121,7 +121,7 @@ exports[`renders BlockedMemoriBadge with margin left unchanged 1`] = `
|
|
|
121
121
|
exports[`renders BlockedMemoriBadge with title unchanged 1`] = `
|
|
122
122
|
<div>
|
|
123
123
|
<div
|
|
124
|
-
class="memori-tooltip blocked-memori-badge--tooltip"
|
|
124
|
+
class="memori-tooltip memori-tooltip--align-right blocked-memori-badge--tooltip"
|
|
125
125
|
>
|
|
126
126
|
<div
|
|
127
127
|
class="memori-tooltip--content"
|
|
@@ -34,6 +34,7 @@ export interface Props {
|
|
|
34
34
|
client: ReturnType<typeof memoriApiClient>;
|
|
35
35
|
selectReceiverTag: (tag: string) => Promise<void>;
|
|
36
36
|
preview?: boolean;
|
|
37
|
+
microphoneMode?: 'CONTINUOUS' | 'HOLD_TO_TALK';
|
|
37
38
|
sendOnEnter?: 'keypress' | 'click';
|
|
38
39
|
setSendOnEnter: (sendOnEnter: 'keypress' | 'click') => void;
|
|
39
40
|
attachmentsMenuOpen?: 'link' | 'media';
|
|
@@ -72,6 +73,7 @@ const Chat: React.FC<Props> = ({
|
|
|
72
73
|
instruct = false,
|
|
73
74
|
showInputs = true,
|
|
74
75
|
showMicrophone = false,
|
|
76
|
+
microphoneMode = 'HOLD_TO_TALK',
|
|
75
77
|
sendOnEnter,
|
|
76
78
|
setSendOnEnter,
|
|
77
79
|
attachmentsMenuOpen,
|
|
@@ -309,6 +311,7 @@ const Chat: React.FC<Props> = ({
|
|
|
309
311
|
instruct={instruct}
|
|
310
312
|
authToken={authToken}
|
|
311
313
|
sendMessage={sendMessage}
|
|
314
|
+
microphoneMode={microphoneMode}
|
|
312
315
|
sendOnEnter={sendOnEnter}
|
|
313
316
|
setSendOnEnter={setSendOnEnter}
|
|
314
317
|
attachmentsMenuOpen={attachmentsMenuOpen}
|
|
@@ -74,7 +74,7 @@ exports[`renders ChatBubble with msg generated by AI unchanged 1`] = `
|
|
|
74
74
|
class="memori-chat--bubble-addon"
|
|
75
75
|
>
|
|
76
76
|
<div
|
|
77
|
-
class="memori-tooltip memori-chat--bubble-ai-icon
|
|
77
|
+
class="memori-tooltip memori-tooltip--align-left memori-chat--bubble-ai-icon"
|
|
78
78
|
>
|
|
79
79
|
<div
|
|
80
80
|
class="memori-tooltip--content"
|
|
@@ -18,44 +18,4 @@
|
|
|
18
18
|
.memori-chat-inputs .memori--conversation-button {
|
|
19
19
|
background: #fff;
|
|
20
20
|
color: #000;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.memori-chat-inputs--mic {
|
|
24
|
-
z-index: 1;
|
|
25
|
-
margin-left: 0.33rem;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.memori-chat-inputs--mic svg {
|
|
29
|
-
color: var(--memori-primary-text, #fff);
|
|
30
|
-
font-size: 1em;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.memori-chat-inputs--mic:hover,
|
|
34
|
-
.memori-chat-inputs--mic:active,
|
|
35
|
-
.memori-chat-inputs--mic:focus {
|
|
36
|
-
border-color: var(--memori-primary) !important;
|
|
37
|
-
color: var(--memori-primary-text, #fff);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.memori-chat-inputs--mic:active,
|
|
41
|
-
.memori-chat-inputs--mic:focus {
|
|
42
|
-
box-shadow: 0 0.2rem 0.33rem var(--memori-primary) !important;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.memori-chat-inputs--mic:not(.memori-chat-inputs--mic--listening):active,
|
|
46
|
-
.memori-chat-inputs--mic:not(.memori-chat-inputs--mic--listening):focus {
|
|
47
|
-
color: var(--memori-primary) !important;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.memori-chat-inputs--mic.memori-chat-inputs--mic--listening {
|
|
51
|
-
color: red !important;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.memori-chat-inputs--mic.memori-chat-inputs--mic--listening:active,
|
|
55
|
-
.memori-chat-inputs--mic.memori-chat-inputs--mic--listening:focus {
|
|
56
|
-
border-color: red !important;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.memori-chat-inputs--mic.memori-chat-inputs--mic--listening svg {
|
|
60
|
-
color: red !important;
|
|
61
|
-
}
|
|
21
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useEffect } from 'react';
|
|
2
2
|
import { Meta, Story } from '@storybook/react';
|
|
3
3
|
import ChatInputs, { Props } from './ChatInputs';
|
|
4
4
|
import { dialogState } from '../../mocks/data';
|
|
@@ -22,13 +22,40 @@ const meta: Meta = {
|
|
|
22
22
|
|
|
23
23
|
export default meta;
|
|
24
24
|
|
|
25
|
+
const text =
|
|
26
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'
|
|
27
|
+
.split(' ')
|
|
28
|
+
.reverse();
|
|
29
|
+
|
|
25
30
|
const Template: Story<Props> = args => {
|
|
26
31
|
const [userMessage, setUserMessage] = React.useState(args.userMessage);
|
|
32
|
+
const [listening, setListening] = React.useState(args.listening);
|
|
33
|
+
const startListening = () => setListening(true);
|
|
34
|
+
const stopListening = () => setListening(false);
|
|
35
|
+
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (listening) {
|
|
38
|
+
const interval = setInterval(() => {
|
|
39
|
+
let nextWord = text.pop();
|
|
40
|
+
|
|
41
|
+
if (!nextWord) {
|
|
42
|
+
clearInterval(interval);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
setUserMessage(prev => `${prev || ''}${prev ? ' ' : ''}${nextWord}`);
|
|
47
|
+
}, Math.random() * 500 + 100);
|
|
48
|
+
return () => clearInterval(interval);
|
|
49
|
+
}
|
|
50
|
+
}, [listening]);
|
|
27
51
|
|
|
28
52
|
return (
|
|
29
53
|
<div style={{ paddingTop: '10rem' }}>
|
|
30
54
|
<ChatInputs
|
|
31
55
|
{...args}
|
|
56
|
+
listening={listening}
|
|
57
|
+
startListening={startListening}
|
|
58
|
+
stopListening={stopListening}
|
|
32
59
|
userMessage={userMessage}
|
|
33
60
|
onChangeUserMessage={setUserMessage}
|
|
34
61
|
/>
|
|
@@ -159,8 +186,27 @@ Disabled.args = {
|
|
|
159
186
|
showMicrophone: true,
|
|
160
187
|
};
|
|
161
188
|
|
|
162
|
-
export const
|
|
163
|
-
|
|
189
|
+
export const ContinuousSpeech = Template.bind({});
|
|
190
|
+
ContinuousSpeech.args = {
|
|
191
|
+
dialogState,
|
|
192
|
+
userMessage: 'Suspendisse sit amet volutpat velit.',
|
|
193
|
+
sendMessage: (msg: string) => console.log(msg),
|
|
194
|
+
onTextareaBlur: () => {},
|
|
195
|
+
onTextareaFocus: () => {},
|
|
196
|
+
onTextareaPressEnter: () => {},
|
|
197
|
+
setAttachmentsMenuOpen: () => {},
|
|
198
|
+
setSendOnEnter: () => {},
|
|
199
|
+
listening: false,
|
|
200
|
+
isPlayingAudio: false,
|
|
201
|
+
stopAudio: () => {},
|
|
202
|
+
startListening: () => {},
|
|
203
|
+
stopListening: () => {},
|
|
204
|
+
showMicrophone: true,
|
|
205
|
+
microphoneMode: 'CONTINUOUS',
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
export const ContinuousSpeechListening = Template.bind({});
|
|
209
|
+
ContinuousSpeechListening.args = {
|
|
164
210
|
dialogState,
|
|
165
211
|
userMessage: 'Suspendisse sit amet volutpat velit.',
|
|
166
212
|
sendMessage: (msg: string) => console.log(msg),
|
|
@@ -175,6 +221,7 @@ Listening.args = {
|
|
|
175
221
|
startListening: () => {},
|
|
176
222
|
stopListening: () => {},
|
|
177
223
|
showMicrophone: true,
|
|
224
|
+
microphoneMode: 'CONTINUOUS',
|
|
178
225
|
};
|
|
179
226
|
|
|
180
227
|
export const WithoutMicrophone = Template.bind({});
|