@memori.ai/memori-react 7.16.2 → 7.17.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 +33 -0
- package/dist/components/Avatar/AvatarView/AvatarComponent/lights/Lights.d.ts +27 -0
- package/dist/components/Avatar/AvatarView/AvatarComponent/lights/Lights.js +52 -0
- package/dist/components/Avatar/AvatarView/AvatarComponent/lights/Lights.js.map +1 -0
- package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +19 -7
- package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js +7 -7
- package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js.map +1 -1
- package/dist/components/Avatar/AvatarView/index.js +2 -3
- package/dist/components/Avatar/AvatarView/index.js.map +1 -1
- package/dist/components/ChatTextArea/ChatTextArea.css +55 -60
- package/dist/components/MemoriWidget/MemoriWidget.js +215 -138
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/components/SettingsDrawer/SettingsDrawer.css +5 -0
- package/dist/components/SettingsDrawer/SettingsDrawer.d.ts +2 -1
- package/dist/components/SettingsDrawer/SettingsDrawer.js +6 -3
- package/dist/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
- package/dist/components/UploadButton/UploadButton.d.ts +5 -0
- package/dist/components/UploadButton/UploadButton.js +49 -48
- package/dist/components/UploadButton/UploadButton.js.map +1 -1
- package/dist/components/ui/Slider.css +59 -44
- package/dist/context/visemeContext.d.ts +1 -1
- package/dist/context/visemeContext.js +2 -2
- package/dist/context/visemeContext.js.map +1 -1
- package/dist/locales/de.json +1 -0
- package/dist/locales/en.json +1 -0
- package/dist/locales/es.json +1 -0
- package/dist/locales/fr.json +1 -0
- package/dist/locales/it.json +1 -0
- package/esm/components/Avatar/AvatarView/AvatarComponent/lights/Lights.d.ts +27 -0
- package/esm/components/Avatar/AvatarView/AvatarComponent/lights/Lights.js +48 -0
- package/esm/components/Avatar/AvatarView/AvatarComponent/lights/Lights.js.map +1 -0
- package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +19 -7
- package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js +7 -7
- package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js.map +1 -1
- package/esm/components/Avatar/AvatarView/index.js +3 -4
- package/esm/components/Avatar/AvatarView/index.js.map +1 -1
- package/esm/components/ChatTextArea/ChatTextArea.css +55 -60
- package/esm/components/MemoriWidget/MemoriWidget.js +216 -139
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/SettingsDrawer/SettingsDrawer.css +5 -0
- package/esm/components/SettingsDrawer/SettingsDrawer.d.ts +2 -1
- package/esm/components/SettingsDrawer/SettingsDrawer.js +6 -3
- package/esm/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
- package/esm/components/UploadButton/UploadButton.d.ts +5 -0
- package/esm/components/UploadButton/UploadButton.js +50 -49
- package/esm/components/UploadButton/UploadButton.js.map +1 -1
- package/esm/components/ui/Slider.css +59 -44
- package/esm/context/visemeContext.d.ts +1 -1
- package/esm/context/visemeContext.js +2 -2
- package/esm/context/visemeContext.js.map +1 -1
- package/esm/locales/de.json +1 -0
- package/esm/locales/en.json +1 -0
- package/esm/locales/es.json +1 -0
- package/esm/locales/fr.json +1 -0
- package/esm/locales/it.json +1 -0
- package/package.json +1 -2
- package/src/components/Avatar/AvatarView/AvatarComponent/lights/Lights.tsx +145 -0
- package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +19 -7
- package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.tsx +6 -14
- package/src/components/Avatar/AvatarView/index.tsx +5 -14
- package/src/components/ChatTextArea/ChatTextArea.css +55 -60
- package/src/components/MemoriWidget/MemoriWidget.tsx +337 -187
- package/src/components/SettingsDrawer/SettingsDrawer.css +5 -0
- package/src/components/SettingsDrawer/SettingsDrawer.tsx +29 -11
- package/src/components/UploadButton/UploadButton.tsx +139 -118
- package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +3 -52
- package/src/components/ui/Slider.css +59 -44
- package/src/context/visemeContext.tsx +2 -2
- package/src/locales/de.json +1 -0
- package/src/locales/en.json +1 -0
- package/src/locales/es.json +1 -0
- package/src/locales/fr.json +1 -0
- package/src/locales/it.json +1 -0
|
@@ -4,18 +4,18 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
7
|
-
const convertapi_js_1 = tslib_1.__importDefault(require("convertapi-js"));
|
|
8
7
|
const Upload_1 = tslib_1.__importDefault(require("../icons/Upload"));
|
|
9
8
|
const Spin_1 = tslib_1.__importDefault(require("../ui/Spin"));
|
|
10
9
|
const Alert_1 = tslib_1.__importDefault(require("../ui/Alert"));
|
|
11
10
|
const MAX_FILE_SIZE = 10 * 1024 * 1024;
|
|
12
11
|
const MAX_TEXT_LENGTH = 100000;
|
|
13
|
-
const
|
|
12
|
+
const PDF_JS_VERSION = '3.11.174';
|
|
13
|
+
const WORKER_URL = `https://cdnjs.cloudflare.com/ajax/libs/pdf.js/${PDF_JS_VERSION}/pdf.worker.min.js`;
|
|
14
|
+
const PDF_JS_URL = `https://cdnjs.cloudflare.com/ajax/libs/pdf.js/${PDF_JS_VERSION}/pdf.min.js`;
|
|
14
15
|
const FileUploadButton = ({ setPreviewFiles, }) => {
|
|
15
16
|
const [isLoading, setIsLoading] = (0, react_1.useState)(false);
|
|
16
17
|
const [errors, setErrors] = (0, react_1.useState)([]);
|
|
17
18
|
const fileInputRef = (0, react_1.useRef)(null);
|
|
18
|
-
const [convertapiToken, setConvertapiToken] = (0, react_1.useState)();
|
|
19
19
|
const clearErrors = () => setErrors([]);
|
|
20
20
|
const removeError = (errorMessage) => {
|
|
21
21
|
setErrors(prev => prev.filter(e => e.message !== errorMessage));
|
|
@@ -26,34 +26,48 @@ const FileUploadButton = ({ setPreviewFiles, }) => {
|
|
|
26
26
|
removeError(error.message);
|
|
27
27
|
}, 5000);
|
|
28
28
|
};
|
|
29
|
-
const
|
|
30
|
-
var _a, _b;
|
|
29
|
+
const extractTextFromPDF = async (file) => {
|
|
31
30
|
try {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
if (!window.pdfjsLib) {
|
|
32
|
+
await new Promise((resolve, reject) => {
|
|
33
|
+
const script = document.createElement('script');
|
|
34
|
+
script.src = PDF_JS_URL;
|
|
35
|
+
script.onload = () => {
|
|
36
|
+
window.pdfjsLib.GlobalWorkerOptions.workerSrc = WORKER_URL;
|
|
37
|
+
resolve(true);
|
|
38
|
+
};
|
|
39
|
+
script.onerror = reject;
|
|
40
|
+
document.head.appendChild(script);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
const arrayBuffer = await file.arrayBuffer();
|
|
44
|
+
const pdf = await window.pdfjsLib.getDocument({ data: arrayBuffer })
|
|
45
|
+
.promise;
|
|
46
|
+
let text = '';
|
|
47
|
+
for (let i = 1; i <= pdf.numPages; i++) {
|
|
48
|
+
const page = await pdf.getPage(i);
|
|
49
|
+
const content = await page.getTextContent();
|
|
50
|
+
const pageText = content.items
|
|
51
|
+
.filter((item) => item.str && typeof item.str === 'string')
|
|
52
|
+
.map((item) => item.str)
|
|
53
|
+
.join(' ');
|
|
54
|
+
text += pageText + '\n';
|
|
36
55
|
}
|
|
37
|
-
|
|
56
|
+
return text;
|
|
38
57
|
}
|
|
39
58
|
catch (error) {
|
|
40
|
-
|
|
41
|
-
message: 'Failed to initialize file conversion service. Please try again later.',
|
|
42
|
-
severity: 'error'
|
|
43
|
-
});
|
|
59
|
+
throw new Error(`PDF extraction failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
44
60
|
}
|
|
45
61
|
};
|
|
46
|
-
(0, react_1.useEffect)(() => {
|
|
47
|
-
fetchConvertapiToken();
|
|
48
|
-
}, []);
|
|
49
62
|
const validateFile = (file) => {
|
|
50
63
|
var _a;
|
|
51
64
|
const fileExt = `.${(_a = file.name.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase()}`;
|
|
65
|
+
const ALLOWED_FILE_TYPES = ['.pdf', '.txt'];
|
|
52
66
|
if (!ALLOWED_FILE_TYPES.includes(fileExt)) {
|
|
53
67
|
addError({
|
|
54
68
|
message: `File type "${fileExt}" is not supported. Please use: ${ALLOWED_FILE_TYPES.join(', ')}`,
|
|
55
69
|
severity: 'error',
|
|
56
|
-
fileId: file.name
|
|
70
|
+
fileId: file.name,
|
|
57
71
|
});
|
|
58
72
|
return false;
|
|
59
73
|
}
|
|
@@ -61,40 +75,28 @@ const FileUploadButton = ({ setPreviewFiles, }) => {
|
|
|
61
75
|
addError({
|
|
62
76
|
message: `File "${file.name}" exceeds ${MAX_FILE_SIZE / 1024 / 1024}MB limit`,
|
|
63
77
|
severity: 'error',
|
|
64
|
-
fileId: file.name
|
|
78
|
+
fileId: file.name,
|
|
65
79
|
});
|
|
66
80
|
return false;
|
|
67
81
|
}
|
|
68
82
|
return true;
|
|
69
83
|
};
|
|
70
|
-
const
|
|
84
|
+
const processFile = async (file) => {
|
|
71
85
|
var _a;
|
|
72
|
-
|
|
73
|
-
addError({
|
|
74
|
-
message: 'File conversion service not initialized',
|
|
75
|
-
severity: 'error'
|
|
76
|
-
});
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
const fileExt = ((_a = file.name.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || 'pdf';
|
|
86
|
+
const fileExt = ((_a = file.name.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '';
|
|
80
87
|
try {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const fileUrl = result.files[0].Url;
|
|
88
|
-
const response = await fetch(fileUrl);
|
|
89
|
-
if (!response.ok) {
|
|
90
|
-
throw new Error(`HTTP error! status: ${response.status}`);
|
|
88
|
+
let text = null;
|
|
89
|
+
if (fileExt === 'pdf') {
|
|
90
|
+
text = await extractTextFromPDF(file);
|
|
91
|
+
}
|
|
92
|
+
else if (fileExt === 'txt') {
|
|
93
|
+
text = await file.text();
|
|
91
94
|
}
|
|
92
|
-
|
|
93
|
-
if (text.length > MAX_TEXT_LENGTH) {
|
|
95
|
+
if (text && text.length > MAX_TEXT_LENGTH) {
|
|
94
96
|
addError({
|
|
95
97
|
message: `File "${file.name}" content exceeds ${MAX_TEXT_LENGTH} characters`,
|
|
96
98
|
severity: 'error',
|
|
97
|
-
fileId: file.name
|
|
99
|
+
fileId: file.name,
|
|
98
100
|
});
|
|
99
101
|
return null;
|
|
100
102
|
}
|
|
@@ -102,9 +104,9 @@ const FileUploadButton = ({ setPreviewFiles, }) => {
|
|
|
102
104
|
}
|
|
103
105
|
catch (error) {
|
|
104
106
|
addError({
|
|
105
|
-
message: `Failed to
|
|
107
|
+
message: `Failed to process "${file.name}": ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
106
108
|
severity: 'error',
|
|
107
|
-
fileId: file.name
|
|
109
|
+
fileId: file.name,
|
|
108
110
|
});
|
|
109
111
|
return null;
|
|
110
112
|
}
|
|
@@ -120,12 +122,12 @@ const FileUploadButton = ({ setPreviewFiles, }) => {
|
|
|
120
122
|
if (!validateFile(file))
|
|
121
123
|
continue;
|
|
122
124
|
const fileId = Math.random().toString(36).substr(2, 9);
|
|
123
|
-
const text = await
|
|
125
|
+
const text = await processFile(file);
|
|
124
126
|
if (text) {
|
|
125
127
|
newPreviewFiles.push({
|
|
126
128
|
name: file.name,
|
|
127
129
|
id: fileId,
|
|
128
|
-
content: text
|
|
130
|
+
content: text,
|
|
129
131
|
});
|
|
130
132
|
}
|
|
131
133
|
}
|
|
@@ -134,7 +136,7 @@ const FileUploadButton = ({ setPreviewFiles, }) => {
|
|
|
134
136
|
if (newPreviewFiles.length < files.length) {
|
|
135
137
|
addError({
|
|
136
138
|
message: 'Some files were not processed successfully',
|
|
137
|
-
severity: 'warning'
|
|
139
|
+
severity: 'warning',
|
|
138
140
|
});
|
|
139
141
|
}
|
|
140
142
|
}
|
|
@@ -143,8 +145,7 @@ const FileUploadButton = ({ setPreviewFiles, }) => {
|
|
|
143
145
|
fileInputRef.current.value = '';
|
|
144
146
|
}
|
|
145
147
|
};
|
|
146
|
-
|
|
147
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "relative file-upload-wrapper", children: [(0, jsx_runtime_1.jsx)("input", { ref: fileInputRef, type: "file", accept: ".pdf,.doc,.docx,.txt", className: "memori--upload-file-input", onChange: handleFileSelect, multiple: true }), (0, jsx_runtime_1.jsx)("button", { className: (0, classnames_1.default)('memori-button', 'memori-button--circle', 'memori-button--icon-only', 'memori-share-button--button', 'memori--conversation-button', { 'memori--error': errors.length > 0 }), onClick: () => { var _a; return (_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click(); }, disabled: isLoading, title: "Upload file", children: isLoading ? ((0, jsx_runtime_1.jsx)(Spin_1.default, { spinning: true, className: "memori--upload-icon" })) : ((0, jsx_runtime_1.jsx)(Upload_1.default, { className: "memori--upload-icon" })) }), (0, jsx_runtime_1.jsx)("div", { className: "memori--error-message-container", children: errors.map((error, index) => ((0, jsx_runtime_1.jsx)(Alert_1.default, { open: true, type: error.severity, title: error.message, onClose: () => removeError(error.message), width: "300px" }, `${error.message}-${index}`))) })] }));
|
|
148
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "relative file-upload-wrapper", children: [(0, jsx_runtime_1.jsx)("input", { ref: fileInputRef, type: "file", accept: ".pdf,.txt", className: "memori--upload-file-input", onChange: handleFileSelect, multiple: true }), (0, jsx_runtime_1.jsx)("button", { className: (0, classnames_1.default)('memori-button', 'memori-button--circle', 'memori-button--icon-only', 'memori-share-button--button', 'memori--conversation-button', { 'memori--error': errors.length > 0 }), onClick: () => { var _a; return (_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click(); }, disabled: isLoading, title: "Upload file", children: isLoading ? ((0, jsx_runtime_1.jsx)(Spin_1.default, { spinning: true, className: "memori--upload-icon" })) : ((0, jsx_runtime_1.jsx)(Upload_1.default, { className: "memori--upload-icon" })) }), (0, jsx_runtime_1.jsx)("div", { className: "memori--error-message-container", children: errors.map((error, index) => ((0, jsx_runtime_1.jsx)(Alert_1.default, { open: true, type: error.severity, title: 'File upload failed', description: error.message, onClose: () => removeError(error.message), width: "350px" }, `${error.message}-${index}`))) })] }));
|
|
148
149
|
};
|
|
149
150
|
exports.default = FileUploadButton;
|
|
150
151
|
//# sourceMappingURL=UploadButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadButton.js","sourceRoot":"","sources":["../../../src/components/UploadButton/UploadButton.tsx"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"UploadButton.js","sourceRoot":"","sources":["../../../src/components/UploadButton/UploadButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
position: relative;
|
|
3
3
|
width: 100%;
|
|
4
4
|
max-width: 100%;
|
|
5
|
-
padding:
|
|
5
|
+
padding: 12px 12px;
|
|
6
6
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
7
7
|
touch-action: none;
|
|
8
8
|
user-select: none;
|
|
9
|
+
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
.memori--slider-disabled {
|
|
@@ -14,27 +15,26 @@
|
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
.memori--slider-header {
|
|
17
|
-
position: absolute;
|
|
18
|
-
top: 0;
|
|
18
|
+
position: absolute;
|
|
19
19
|
display: flex;
|
|
20
20
|
width: 100%;
|
|
21
21
|
align-items: center;
|
|
22
22
|
justify-content: space-between;
|
|
23
|
-
margin-bottom:
|
|
23
|
+
margin-bottom: 16px;
|
|
24
|
+
/* max-height: 10px; */
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
.memori--slider-label {
|
|
27
|
-
max-width:
|
|
28
|
-
|
|
29
|
-
font-size: 1.4rem; /* Larger font for kiosk display */
|
|
28
|
+
max-width: 70%;
|
|
29
|
+
font-size: 1.2rem;
|
|
30
30
|
font-weight: 500;
|
|
31
|
+
line-height: 1.2;
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
.memori--slider-value {
|
|
34
|
-
min-width:
|
|
35
|
-
max-width:
|
|
36
|
-
|
|
37
|
-
font-size: 1.2rem; /* Larger font */
|
|
35
|
+
min-width: 40px;
|
|
36
|
+
max-width: 30%;
|
|
37
|
+
font-size: 1rem;
|
|
38
38
|
font-weight: 500;
|
|
39
39
|
text-align: right;
|
|
40
40
|
}
|
|
@@ -42,9 +42,10 @@
|
|
|
42
42
|
.memori--slider-track-container {
|
|
43
43
|
position: relative;
|
|
44
44
|
display: flex;
|
|
45
|
-
height:
|
|
46
|
-
max-height:
|
|
45
|
+
height: 96px;
|
|
46
|
+
max-height: 96px;
|
|
47
47
|
align-items: center;
|
|
48
|
+
margin-top: 8px;
|
|
48
49
|
cursor: pointer;
|
|
49
50
|
touch-action: none;
|
|
50
51
|
}
|
|
@@ -53,9 +54,9 @@
|
|
|
53
54
|
position: absolute;
|
|
54
55
|
overflow: hidden;
|
|
55
56
|
width: 100%;
|
|
56
|
-
height:
|
|
57
|
-
max-height:
|
|
58
|
-
border-radius:
|
|
57
|
+
height: 16px;
|
|
58
|
+
max-height: 16px;
|
|
59
|
+
border-radius: 8px;
|
|
59
60
|
background-color: #e5e5e5;
|
|
60
61
|
}
|
|
61
62
|
|
|
@@ -63,7 +64,7 @@
|
|
|
63
64
|
position: absolute;
|
|
64
65
|
width: var(--percentage);
|
|
65
66
|
height: 100%;
|
|
66
|
-
border-radius:
|
|
67
|
+
border-radius: 8px;
|
|
67
68
|
background-color: var(--memori-primary, #2563eb);
|
|
68
69
|
transition: width 0.15s ease;
|
|
69
70
|
}
|
|
@@ -73,40 +74,42 @@
|
|
|
73
74
|
display: flex;
|
|
74
75
|
width: 100%;
|
|
75
76
|
justify-content: space-between;
|
|
76
|
-
padding: 0
|
|
77
|
-
padding-top:
|
|
77
|
+
padding: 0 8px;
|
|
78
|
+
padding-top: 24px;
|
|
78
79
|
pointer-events: none;
|
|
79
80
|
}
|
|
80
81
|
|
|
81
82
|
.memori--slider-mark {
|
|
82
83
|
display: flex;
|
|
84
|
+
min-width: 40px;
|
|
83
85
|
flex-direction: column;
|
|
84
86
|
align-items: center;
|
|
85
87
|
}
|
|
86
88
|
|
|
87
89
|
.memori--slider-mark-line {
|
|
88
|
-
width: 3px;
|
|
89
|
-
height:
|
|
90
|
-
max-height:
|
|
91
|
-
margin-bottom:
|
|
90
|
+
width: 3px;
|
|
91
|
+
height: 8px;
|
|
92
|
+
max-height: 8px;
|
|
93
|
+
margin-bottom: 8px;
|
|
92
94
|
background-color: #9ca3af;
|
|
93
95
|
}
|
|
94
96
|
|
|
95
97
|
.memori--slider-mark-value {
|
|
96
98
|
color: #666;
|
|
97
|
-
font-size: 1rem;
|
|
99
|
+
font-size: 1rem;
|
|
98
100
|
font-weight: 500;
|
|
101
|
+
white-space: nowrap;
|
|
99
102
|
}
|
|
100
103
|
|
|
101
104
|
.memori--slider-thumb {
|
|
102
105
|
position: absolute;
|
|
103
106
|
z-index: 1;
|
|
104
107
|
left: var(--percentage);
|
|
105
|
-
width:
|
|
106
|
-
max-width:
|
|
107
|
-
height:
|
|
108
|
-
max-height:
|
|
109
|
-
border:
|
|
108
|
+
width: 40px;
|
|
109
|
+
max-width: 40px;
|
|
110
|
+
height: 40px;
|
|
111
|
+
max-height: 40px;
|
|
112
|
+
border: 4px solid var(--memori-primary, #2563eb);
|
|
110
113
|
border-radius: 50%;
|
|
111
114
|
background-color: white;
|
|
112
115
|
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
|
|
@@ -118,40 +121,46 @@
|
|
|
118
121
|
.memori--slider-thumb:hover,
|
|
119
122
|
.memori--slider-thumb:active {
|
|
120
123
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
|
|
121
|
-
transform: translateX(-50%) scale(1.
|
|
124
|
+
transform: translateX(-50%) scale(1.1);
|
|
122
125
|
}
|
|
123
126
|
|
|
124
127
|
/* Portrait/Totem specific styles */
|
|
125
128
|
@media screen and (max-aspect-ratio: 3/4) {
|
|
126
129
|
.memori--slider-container {
|
|
127
|
-
padding:
|
|
130
|
+
padding: 16px;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.memori--slider-header {
|
|
134
|
+
margin-bottom: 16px;
|
|
128
135
|
}
|
|
129
136
|
|
|
130
137
|
.memori--slider-label {
|
|
131
|
-
font-size: 1.
|
|
138
|
+
font-size: 1.3rem;
|
|
132
139
|
}
|
|
133
140
|
|
|
134
141
|
.memori--slider-value {
|
|
135
|
-
min-width:
|
|
136
|
-
font-size: 1.
|
|
142
|
+
min-width: 50px;
|
|
143
|
+
font-size: 1.1rem;
|
|
137
144
|
}
|
|
138
145
|
|
|
139
146
|
.memori--slider-track-container {
|
|
140
|
-
height:
|
|
147
|
+
height: 80px;
|
|
148
|
+
margin-top: 8px;
|
|
141
149
|
}
|
|
142
150
|
|
|
143
151
|
.memori--slider-track {
|
|
144
|
-
height:
|
|
145
|
-
border-radius:
|
|
152
|
+
height: 16px;
|
|
153
|
+
border-radius: 10px;
|
|
146
154
|
}
|
|
147
155
|
|
|
148
156
|
.memori--slider-thumb {
|
|
149
|
-
width:
|
|
150
|
-
height:
|
|
157
|
+
width: 48px;
|
|
158
|
+
height: 48px;
|
|
151
159
|
border-width: 4px;
|
|
152
160
|
}
|
|
153
161
|
|
|
154
162
|
.memori--slider-mark-value {
|
|
163
|
+
margin-top: 4px;
|
|
155
164
|
font-size: 1.1rem;
|
|
156
165
|
}
|
|
157
166
|
}
|
|
@@ -159,19 +168,25 @@
|
|
|
159
168
|
/* Very tall displays */
|
|
160
169
|
@media screen and (min-height: 1200px) {
|
|
161
170
|
.memori--slider-container {
|
|
162
|
-
padding:
|
|
171
|
+
padding: 24px 20px;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.memori--slider-header {
|
|
175
|
+
margin-bottom: 24px;
|
|
163
176
|
}
|
|
164
177
|
|
|
165
178
|
.memori--slider-label {
|
|
166
|
-
font-size: 1.
|
|
179
|
+
font-size: 1.4rem;
|
|
167
180
|
}
|
|
168
181
|
|
|
169
182
|
.memori--slider-track-container {
|
|
170
|
-
height:
|
|
183
|
+
height: 96px;
|
|
184
|
+
margin-top: 12px;
|
|
171
185
|
}
|
|
172
186
|
|
|
173
187
|
.memori--slider-thumb {
|
|
174
|
-
width:
|
|
175
|
-
height:
|
|
188
|
+
width: 56px;
|
|
189
|
+
height: 56px;
|
|
190
|
+
border-width: 5px;
|
|
176
191
|
}
|
|
177
192
|
}
|
|
@@ -16,7 +16,7 @@ interface VisemeContextType {
|
|
|
16
16
|
isProcessing: boolean;
|
|
17
17
|
setAudioContext: (ctx: IAudioContext) => void;
|
|
18
18
|
}
|
|
19
|
-
export declare const DEFAULT_VISEME_DURATION: 0.
|
|
19
|
+
export declare const DEFAULT_VISEME_DURATION: 0.12, VISEME_OVERLAP: 0.02, SMOOTHING_FACTOR: 0.4, LOG_INTERVAL: 60, PRELOAD: 0.2, WEIGHT_MULTIPLIER: 0.8;
|
|
20
20
|
export declare const VisemeProvider: React.FC<{
|
|
21
21
|
children: React.ReactNode;
|
|
22
22
|
}>;
|
|
@@ -29,11 +29,11 @@ const VISEME_MAP = {
|
|
|
29
29
|
21: 'viseme_PP',
|
|
30
30
|
};
|
|
31
31
|
const CONSTANTS = {
|
|
32
|
-
DEFAULT_VISEME_DURATION: 0.
|
|
32
|
+
DEFAULT_VISEME_DURATION: 0.12,
|
|
33
33
|
VISEME_OVERLAP: 0.02,
|
|
34
34
|
SMOOTHING_FACTOR: 0.4,
|
|
35
35
|
LOG_INTERVAL: 60,
|
|
36
|
-
PRELOAD: 0.
|
|
36
|
+
PRELOAD: 0.2,
|
|
37
37
|
WEIGHT_MULTIPLIER: 0.8,
|
|
38
38
|
};
|
|
39
39
|
exports.DEFAULT_VISEME_DURATION = CONSTANTS.DEFAULT_VISEME_DURATION, exports.VISEME_OVERLAP = CONSTANTS.VISEME_OVERLAP, exports.SMOOTHING_FACTOR = CONSTANTS.SMOOTHING_FACTOR, exports.LOG_INTERVAL = CONSTANTS.LOG_INTERVAL, exports.PRELOAD = CONSTANTS.PRELOAD, exports.WEIGHT_MULTIPLIER = CONSTANTS.WEIGHT_MULTIPLIER;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visemeContext.js","sourceRoot":"","sources":["../../src/context/visemeContext.tsx"],"names":[],"mappings":";;;;AAAA,iCAOe;AAqBf,MAAM,aAAa,GAAG,IAAA,qBAAa,EAAgC,SAAS,CAAC,CAAC;AAE9E,MAAM,UAAU,GAAwC;IACtD,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;CAChB,CAAC;AAGF,MAAM,SAAS,GAAG;IAKhB,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"visemeContext.js","sourceRoot":"","sources":["../../src/context/visemeContext.tsx"],"names":[],"mappings":";;;;AAAA,iCAOe;AAqBf,MAAM,aAAa,GAAG,IAAA,qBAAa,EAAgC,SAAS,CAAC,CAAC;AAE9E,MAAM,UAAU,GAAwC;IACtD,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;CAChB,CAAC;AAGF,MAAM,SAAS,GAAG;IAKhB,uBAAuB,EAAE,IAAI;IAK7B,cAAc,EAAE,IAAI;IAMpB,gBAAgB,EAAE,GAAG;IAKrB,YAAY,EAAE,EAAE;IAKhB,OAAO,EAAE,GAAG;IAIZ,iBAAiB,EAAE,GAAG;CACd,CAAC;AAIT,+BAAuB,GAMrB,SAAS,0BALX,sBAAc,GAKZ,SAAS,iBAJX,wBAAgB,GAId,SAAS,mBAHX,oBAAY,GAGV,SAAS,eAFX,eAAO,GAEL,SAAS,UADX,yBAAiB,GACf,SAAS,mBAAC;AAGd,MAAM,MAAM,GAAG;IAEb,gBAAgB,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,SAAS,GAAG,+BAAuB;IAG5E,SAAS,EAAE,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE,CACjD,MAAM,CAAC,OAAO,GAAG,WAAW,GAAG,sBAAc;IAG/C,eAAe,EAAE,CAAC,QAAgB,EAAE,EAAE,CACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,yBAAiB;IAG/D,YAAY,EAAE,CAAC,aAAqB,EAAE,YAAoB,EAAE,EAAE,CAC5D,aAAa,GAAG,CAAC,YAAY,GAAG,aAAa,CAAC,GAAG,wBAAgB;CACpE,CAAC;AAEF,MAAM,YAAY,GAChB,CAAC,IAAiC,EAAE,EAAE,CAAC,CAAC,KAAa,EAAE,IAAS,EAAE,EAAE;IAClE,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,oCAAoC;QAC3C,KAAK,EAAE,oCAAoC;QAC3C,KAAK,EAAE,oCAAoC;KAC5C,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC,CAAC;AAEJ,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAC7C,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAC7C,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAItC,MAAM,cAAc,GAA4C,CAAC,EACtE,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,cAAc,GAAG,IAAA,cAAM,EAAW,EAAE,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,IAAA,cAAM,EAAuB,IAAI,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,IAAA,cAAM,EAAgB,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAc,MAAM,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,IAAA,cAAM,EAAgB,IAAI,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC;IAChC,MAAM,kBAAkB,GAAG,IAAA,cAAM,EAAgB,IAAI,CAAC,CAAC;IAEvD,MAAM,eAAe,GAAG,IAAA,mBAAW,EAAC,CAAC,GAAkB,EAAE,EAAE;QACzD,eAAe,CAAC,OAAO,GAAG,GAAG,CAAC;QAG9B,GAAG,CAAC,aAAa,GAAG,GAAG,EAAE;YACvB,cAAc,CAAC,4BAA4B,EAAE;gBAC3C,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,CAAC,CAAC;YAEH,QAAQ,GAAG,CAAC,KAAK,EAAE;gBACjB,KAAK,SAAS;oBACZ,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACzB,MAAM;gBACR,KAAK,WAAW;oBACd,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACzB,MAAM;gBACR,KAAK,QAAQ;oBACX,cAAc,CAAC,UAAU,CAAC,CAAC;oBAC3B,cAAc,EAAE,CAAC;oBACjB,MAAM;aACT;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,SAAS,GAAG,IAAA,mBAAW,EAC3B,CAAC,QAAgB,EAAE,WAAmB,EAAE,EAAE;QACxC,IAAI,WAAW,KAAK,UAAU;YAAE,OAAO;QAEvC,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;QACxD,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;QAGzC,IAAI,kBAAkB,CAAC,OAAO,KAAK,IAAI,EAAE;YACvC,kBAAkB,CAAC,OAAO,GAAG,SAAS,CAAC;SACxC;QAGD,MAAM,iBAAiB,GAAG,SAAS,GAAG,CAAC,kBAAkB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,iBAAiB,GAAG,+BAAuB,CAAC;QAE5D,MAAM,SAAS,GAAW;YACxB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,iBAAiB;YAC5B,OAAO;SACR,CAAC;QAEF,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvC,IAAI,WAAW,KAAK,MAAM,EAAE;YAC1B,cAAc,CAAC,WAAW,CAAC,CAAC;SAC7B;IAWH,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,MAAM,eAAe,GAAG,IAAA,mBAAW,EAAC,CAAC,QAAuB,EAAE,EAAE;QAC9D,IAAI,CAAC,QAAQ,EAAE;YACb,cAAc,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACpE,OAAO;SACR;QAED,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC;QACnC,iBAAiB,CAAC,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC;QACjD,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC;QAC1B,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEzB,cAAc,CAAC,oBAAoB,EAAE;YACnC,SAAS,EAAE,QAAQ,CAAC,WAAW;YAC/B,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM;YAC1C,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACtC,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,cAAc,CAAC,UAAU,CAAC,CAAC;QAC3B,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACjC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC;QAC1B,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;QAE/B,cAAc,CAAC,oBAAoB,EAAE;YACnC,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM;YAC1C,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,IAAA,mBAAW,EACrC,CAAC,CAAS,EAAiB,EAAE;QAC3B,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE3D,MAAM,SAAS,GACb,eAAe,CAAC,OAAO,CAAC,WAAW;YACnC,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,CAAC;YAChC,eAAO,CAAC;QAGV,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CACpD,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CACrC,CAAC;QAGF,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,sBAAc,CACxE,CAAC;QAGF,IAAI,aAAa,CAAC,OAAO,GAAG,oBAAY,KAAK,EAAE,EAAE;YAC/C,cAAc,CAAC,gBAAgB,EAAE;gBAC/B,aAAa;gBACb,SAAS;gBACT,WAAW,EAAE,cAAc,CAAC,OAAO;aACpC,CAAC,CAAC;SACJ;QAED,IAAI,aAAa,EAAE;YACjB,MAAM,QAAQ,GACZ,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;gBACrC,CAAC,aAAa,CAAC,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YAEpD,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAEtD,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO;gBAC1C,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC;gBACjE,CAAC,CAAC,YAAY,CAAC;YAEjB,MAAM,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;YACnE,aAAa,CAAC,OAAO,GAAG,aAAa,CAAC;YAEtC,OAAO,aAAa,CAAC;SACtB;QAGD,IAAI,aAAa,CAAC,OAAO,EAAE;YACzB,MAAM,aAAa,GACjB,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,wBAAgB,CAAC,CAAC;YACxD,aAAa,CAAC,OAAO,GAAG;gBACtB,GAAG,aAAa,CAAC,OAAO;gBACxB,MAAM,EAAE,aAAa;aACtB,CAAC;SACH;QAED,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACxC,cAAc,CAAC,OAAO,GAAG,EAAE,CAAC;QAC5B,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACjC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC;QAC1B,cAAc,CAAC,MAAM,CAAC,CAAC;QAEvB,cAAc,CAAC,oBAAoB,EAAE;YACnC,aAAa,EAAE,WAAW;SAC3B,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,uBAAuB,GAAG,IAAA,mBAAW,EACzC,CAAC,QAAuB,EAAE,EAAE;QAC1B,cAAc,CAAC,4BAA4B,EAAE;YAC3C,aAAa,EAAE,WAAW;YAC1B,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM;SAC3C,CAAC,CAAC;QAEH,cAAc,EAAE,CAAC;QACjB,gBAAgB,EAAE,CAAC;QACnB,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,EACD,CAAC,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,CAAC,CACjE,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,eAAO,EAC1B,GAAG,EAAE,CAAC,CAAC;QACL,SAAS;QACT,mBAAmB;QACnB,eAAe;QACf,cAAc;QACd,uBAAuB;QACvB,gBAAgB;QAChB,YAAY;QACZ,eAAe;KAChB,CAAC,EACF;QACE,SAAS;QACT,mBAAmB;QACnB,eAAe;QACf,cAAc;QACd,uBAAuB;QACvB,gBAAgB;QAChB,YAAY;QACZ,eAAe;KAChB,CACF,CAAC;IAEF,OAAO,CACL,uBAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YACxC,QAAQ,GACc,CAC1B,CAAC;AACJ,CAAC,CAAC;AApOW,QAAA,cAAc,kBAoOzB;AAEK,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;KAC1E;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AANW,QAAA,SAAS,aAMpB"}
|
package/dist/locales/de.json
CHANGED
|
@@ -118,6 +118,7 @@
|
|
|
118
118
|
"conversationStartedLabel": "Das Gespräch begann am",
|
|
119
119
|
"settingsHeaderLabel": "Richten Sie hier ein, wenn Sie die Agent als Dauerrede einstellen möchten, und ändern Sie die Stillesekunden, wenn Sie sie anpassen möchten.",
|
|
120
120
|
"continuousSpeechLabel": "Kontinuierliche Rede",
|
|
121
|
+
"continuousSpeechDisabled": "Kontinuierliche Rede deaktiviert, da der Agent im Stummschaltmodus ist",
|
|
121
122
|
"holdToSpeak": "Halten Sie gedrückt, um zu sprechen",
|
|
122
123
|
"releaseToEndListening": "Lassen Sie los, um das Hören zu beenden",
|
|
123
124
|
"pressAndHoldToSpeak": "Zum Sprechen gedrückt halten",
|
package/dist/locales/en.json
CHANGED
|
@@ -119,6 +119,7 @@
|
|
|
119
119
|
"conversationStartedLabel": "Conversation started on",
|
|
120
120
|
"settingsHeaderLabel": "Setup here if you want to set the continuous speech, and change the silence seconds if you want to customize them.",
|
|
121
121
|
"continuousSpeechLabel": "Continuous speech",
|
|
122
|
+
"continuousSpeechDisabled": "Continuous speech disabled because the agent is in mute mode",
|
|
122
123
|
"holdToSpeak": "Hold to speak",
|
|
123
124
|
"releaseToEndListening": "Release to end listening",
|
|
124
125
|
"pressAndHoldToSpeak": "Press and hold to speak",
|
package/dist/locales/es.json
CHANGED
|
@@ -118,6 +118,7 @@
|
|
|
118
118
|
"conversationStartedLabel": "La conversación comenzó el",
|
|
119
119
|
"settingsHeaderLabel": "Configure aquí si desea configurar la memoria como voz continua y cambie los segundos de silencio si desea personalizarlos.",
|
|
120
120
|
"continuousSpeechLabel": "discurso continuo",
|
|
121
|
+
"continuousSpeechDisabled": "Discurso continuo deshabilitado porque el agente está en modo silencioso",
|
|
121
122
|
"holdToSpeak": "Mantenga para hablar",
|
|
122
123
|
"releaseToEndListening": "Suelte para finalizar la escucha",
|
|
123
124
|
"pressAndHoldToSpeak": "Mantenga presionado para hablar",
|
package/dist/locales/fr.json
CHANGED
|
@@ -118,6 +118,7 @@
|
|
|
118
118
|
"conversationStartedLabel": "La conversation a commencé le",
|
|
119
119
|
"settingsHeaderLabel": "Configurez ici si vous souhaitez définir la mémoire comme parole continue et modifiez les secondes de silence si vous souhaitez les personnaliser.",
|
|
120
120
|
"continuousSpeechLabel": "Discours continu",
|
|
121
|
+
"continuousSpeechDisabled": "Discours continu désactivé car l'agente est en mode muté",
|
|
121
122
|
"holdToSpeak": "Attends pour parler",
|
|
122
123
|
"releaseToEndListening": "Relâcher pour terminer l'écoute",
|
|
123
124
|
"pressAndHoldToSpeak": "Appuyez et maintenez pour parler",
|
package/dist/locales/it.json
CHANGED
|
@@ -119,6 +119,7 @@
|
|
|
119
119
|
"conversationStartedLabel": "Conversazione avvenuta il",
|
|
120
120
|
"settingsHeaderLabel": "Configura qui se vuoi impostare una conversazione continua. Setta i secondi di silenzio prima dell'invio.",
|
|
121
121
|
"continuousSpeechLabel": "Conversazione continua",
|
|
122
|
+
"continuousSpeechDisabled": "Conversazione continua disabilitata poichè l'agente è in modalità muta",
|
|
122
123
|
"holdToSpeak": "Tieni premuto per parlare",
|
|
123
124
|
"releaseToEndListening": "Rilascia per smettere di parlare",
|
|
124
125
|
"pressAndHoldToSpeak": "Premi e tieni premuto per parlare",
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { Vector3 } from 'three';
|
|
3
|
+
export interface LightingProps {
|
|
4
|
+
keyLightIntensity?: number;
|
|
5
|
+
keyLightColor?: string;
|
|
6
|
+
fillLightIntensity?: number;
|
|
7
|
+
fillLightColor?: string;
|
|
8
|
+
fillLightPosition?: Vector3;
|
|
9
|
+
backLightIntensity?: number;
|
|
10
|
+
backLightColor?: string;
|
|
11
|
+
backLightPosition?: Vector3;
|
|
12
|
+
lightTarget?: Vector3;
|
|
13
|
+
}
|
|
14
|
+
export declare const definedProps: (obj: Object) => any;
|
|
15
|
+
export declare const LIGHT_CONFIG: Readonly<{
|
|
16
|
+
fillLightAngle: number;
|
|
17
|
+
backLightAngle: number;
|
|
18
|
+
keyLightAngle: number;
|
|
19
|
+
silhouetteLightAngle: number;
|
|
20
|
+
keyLightPosition: Vector3;
|
|
21
|
+
liftLightPosition: Vector3;
|
|
22
|
+
dirLightPosition: Vector3;
|
|
23
|
+
silhouetteLightPosition: Vector3;
|
|
24
|
+
defaultProps: Required<LightingProps>;
|
|
25
|
+
}>;
|
|
26
|
+
declare const Lights: FC<LightingProps>;
|
|
27
|
+
export default Lights;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useThree } from '@react-three/fiber';
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { Object3D, Vector3 } from 'three';
|
|
5
|
+
const fromEntries = (arr) => Object.assign({}, ...arr.map(([k, v]) => ({ [k]: v })));
|
|
6
|
+
export const definedProps = (obj) => fromEntries(Object.entries(obj).filter(([_, v]) => v !== undefined));
|
|
7
|
+
export const LIGHT_CONFIG = Object.freeze({
|
|
8
|
+
fillLightAngle: Math.PI / 3,
|
|
9
|
+
backLightAngle: Math.PI / 8,
|
|
10
|
+
keyLightAngle: Math.PI / 2,
|
|
11
|
+
silhouetteLightAngle: Math.PI * 1.25,
|
|
12
|
+
keyLightPosition: new Vector3(0.75, 1.75, 0.75),
|
|
13
|
+
liftLightPosition: new Vector3(0.25, 1.5, 2.0),
|
|
14
|
+
dirLightPosition: new Vector3(-0.75, 2.5, -1.0),
|
|
15
|
+
silhouetteLightPosition: new Vector3(-1.25, 0.25, -1.25),
|
|
16
|
+
defaultProps: {
|
|
17
|
+
keyLightIntensity: 1.2,
|
|
18
|
+
keyLightColor: '#FFF5EB',
|
|
19
|
+
fillLightIntensity: 2.5,
|
|
20
|
+
fillLightColor: '#A4C4FF',
|
|
21
|
+
fillLightPosition: new Vector3(-0.6, 1.7, -0.4),
|
|
22
|
+
backLightIntensity: 4.0,
|
|
23
|
+
backLightColor: '#FFD4A8',
|
|
24
|
+
backLightPosition: new Vector3(0.6, 1.7, -1.0),
|
|
25
|
+
lightTarget: new Vector3(0.0, 1.65, 0.0),
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
const Lights = lightingProps => {
|
|
29
|
+
const { keyLightIntensity, keyLightColor, fillLightIntensity, fillLightColor, fillLightPosition, backLightIntensity, backLightColor, backLightPosition, lightTarget, } = Object.assign(LIGHT_CONFIG.defaultProps, definedProps(lightingProps));
|
|
30
|
+
const { scene } = useThree();
|
|
31
|
+
const [targets] = useState({
|
|
32
|
+
head: new Object3D(),
|
|
33
|
+
shoe: new Object3D(),
|
|
34
|
+
});
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
targets.head.position.copy(lightTarget);
|
|
37
|
+
targets.shoe.position.set(0.0, 0.1, 0.0);
|
|
38
|
+
scene.add(targets.head);
|
|
39
|
+
scene.add(targets.shoe);
|
|
40
|
+
return () => {
|
|
41
|
+
scene.remove(targets.head);
|
|
42
|
+
scene.remove(targets.shoe);
|
|
43
|
+
};
|
|
44
|
+
}, [scene, targets, lightTarget]);
|
|
45
|
+
return (_jsxs("group", { children: [_jsx("spotLight", { position: fillLightPosition, target: targets.head, angle: LIGHT_CONFIG.fillLightAngle, color: fillLightColor, intensity: fillLightIntensity, castShadow: true, "shadow-bias": -0.0001, penumbra: 0.2 }), _jsx("spotLight", { position: backLightPosition, target: targets.head, angle: LIGHT_CONFIG.backLightAngle, color: backLightColor, intensity: backLightIntensity, castShadow: true, "shadow-bias": -0.0001, penumbra: 0.2 }), _jsx("spotLight", { position: LIGHT_CONFIG.keyLightPosition, target: targets.head, angle: LIGHT_CONFIG.keyLightAngle, color: keyLightColor, intensity: keyLightIntensity, penumbra: 0.3, castShadow: true }), _jsx("spotLight", { position: LIGHT_CONFIG.liftLightPosition, target: targets.shoe, angle: LIGHT_CONFIG.keyLightAngle, color: keyLightColor, intensity: keyLightIntensity * 0.3, penumbra: 0.4 }), _jsx("spotLight", { position: LIGHT_CONFIG.silhouetteLightPosition, target: targets.head, angle: LIGHT_CONFIG.silhouetteLightAngle, color: keyLightColor, intensity: keyLightIntensity * 0.3, penumbra: 0.3 }), _jsx("ambientLight", { intensity: 0.2, color: "#FFF8EF" })] }));
|
|
46
|
+
};
|
|
47
|
+
export default Lights;
|
|
48
|
+
//# sourceMappingURL=Lights.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lights.js","sourceRoot":"","sources":["../../../../../../src/components/Avatar/AvatarView/AvatarComponent/lights/Lights.tsx"],"names":[],"mappings":"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"}
|