@nualang/nualang-ui-components 0.1.1138 → 0.1.1139
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/dist/Dialogs/GenerateRoleplay/GenerateRoleplay.js +78 -7
- package/dist/Dialogs/ModeratedDialog/ModeratedDialog.js +5 -2
- package/dist/Editors/Roleplay/Roleplay.js +4 -2
- package/dist/Forms/VideoUploader/VideoUploader.js +0 -8
- package/dist/Lists/CourseOutline/CourseOutline.stories.js +1 -1
- package/dist/Screens/Courses/ViewCourse/ViewCourse.js +1 -0
- package/package.json +39 -42
|
@@ -161,8 +161,8 @@ function GenerateRoleplayDialog({
|
|
|
161
161
|
setGeneratedRoleplay([]);
|
|
162
162
|
setErrorMessage("");
|
|
163
163
|
let response;
|
|
164
|
-
const prompt = usePdfContext ? `Create an informative conversation between 2 people ${values?.actor1?.name && values?.actor2?.name ? `'${values.actor1.name}' and '${values.actor2.name}' ` : ""} about the topic '${values.roleplayTopic}' in the language ${learnLang}.${values.roleplayDifficulty ? ` The conversation should be ${i18nLanguage === "en-US" ? "ACTFL" : "CEFR"} level '${t(values.roleplayDifficulty)}.'` : ""} Return the conversation inside an array, each text in the conversation should be inside an object in the array. Each object should have the keys actor and text. If the text belongs to person 1 then the key actor should equal to 1 else it should equal to 2. The key text should equal to the text in the conversation. Your response should be in JSON.` : `Create a conversation between 2 people ${values?.actor1?.name && values?.actor2?.name ? `'${values.actor1.name}' and '${values.actor2.name}' ` : ""}about the topic '${values.roleplayTopic}' in the language ${learnLang}.${values.roleplayDifficulty ? ` The conversation should be ${i18nLanguage === "en-US" ? "ACTFL" : "CEFR"} level '${t(values.roleplayDifficulty)}.'` : ""} Return the conversation inside an array, each text in the conversation should be inside an object in the array. Each object should have the keys actor and text. If the text belongs to person 1 then the key actor should equal to 1 else it should equal to 2. The key text should equal to the text in the conversation. Your response should be in JSON`;
|
|
165
|
-
const promptWithQuestions = usePdfContext ? `Create an informative conversation between 2 people ${values?.actor1?.name && values?.actor2?.name ? `'${values.actor1.name}' and '${values.actor2.name}' ` : ""} about the topic '${values.roleplayTopic}' in the language ${learnLang}.${values.roleplayDifficulty ? ` The conversation should be ${i18nLanguage === "en-US" ? "ACTFL" : "CEFR"} level '${t(values.roleplayDifficulty)}.'` : ""} The conversation should be returned inside a single array along with
|
|
164
|
+
const prompt = usePdfContext ? `Create an informative conversation between 2 people ${values?.actor1?.name && values?.actor2?.name ? `'${values.actor1.name}' and '${values.actor2.name}' ` : ""} about the topic '${values.roleplayTopic}' in the language ${learnLang}.${values.roleplayDifficulty ? ` The conversation should be ${i18nLanguage === "en-US" ? "ACTFL" : "CEFR"} level '${t(values.roleplayDifficulty)}.'` : ""} Return the conversation inside an array that is ${values.roleplayLengthNumber} objects in length , each text in the conversation should be inside an object in the array. Each object should have the keys actor and text. If the text belongs to person 1 then the key actor should equal to 1 else it should equal to 2. The key text should equal to the text in the conversation. Your response should be in JSON.` : `Create a conversation between 2 people ${values?.actor1?.name && values?.actor2?.name ? `'${values.actor1.name}' and '${values.actor2.name}' ` : ""}about the topic '${values.roleplayTopic}' in the language ${learnLang}.${values.roleplayDifficulty ? ` The conversation should be ${i18nLanguage === "en-US" ? "ACTFL" : "CEFR"} level '${t(values.roleplayDifficulty)}.'` : ""} Return the conversation inside an array that is ${values.roleplayLengthNumber} objects in length , each text in the conversation should be inside an object in the array. Each object should have the keys actor and text. If the text belongs to person 1 then the key actor should equal to 1 else it should equal to 2. The key text should equal to the text in the conversation. Your response should be in JSON`;
|
|
165
|
+
const promptWithQuestions = usePdfContext ? `Create an informative conversation between 2 people ${values?.actor1?.name && values?.actor2?.name ? `'${values.actor1.name}' and '${values.actor2.name}' ` : ""} about the topic '${values.roleplayTopic}' in the language ${learnLang}.${values.roleplayDifficulty ? ` The conversation should be ${i18nLanguage === "en-US" ? "ACTFL" : "CEFR"} level '${t(values.roleplayDifficulty)}.'` : ""} The conversation should be returned inside a single array that is ${values.roleplayLengthNumber} objects in length along with ${values?.questionsAmount} comprehension questions related to the conversation. Each piece of dialogue and each question should be represented as an object in the array. For dialogue, the objects should have the keys 'actor' and 'text'. The 'actor' key should be set to 1 if the dialogue is spoken by the first actor, and 2 if it is spoken by the second actor. The 'text' key should be set to the dialogue text spoken by that actor. For questions, the objects should have the keys 'question' and 'answers'. The 'question' key should be set to the text of the question being asked. The 'answers' key should be an array of three objects, each representing a different answer to the question where only one is correct and two are incorrect. The objects in the 'answers' array should have the keys 'text', 'correct' and 'type'. The 'text' key should contain the answer text, 'correct' should be true for the correct answer and false for incorrect ones, and 'type' should always be equal to 'multichoice'. The entire output must be in a single JSON array without separating the dialogue and questions into different arrays.` : `Create a conversation between 2 people ${values?.actor1?.name && values?.actor2?.name ? `'${values.actor1.name}' and '${values.actor2.name}' ` : ""}about the topic '${values.roleplayTopic}' in the language ${learnLang}.${values.roleplayDifficulty ? ` The conversation should be ${i18nLanguage === "en-US" ? "ACTFL" : "CEFR"} level '${t(values.roleplayDifficulty)}.'` : ""} The conversation should be returned inside a single array that is ${values.roleplayLengthNumber} objects in length along with ${values?.questionsAmount} comprehension questions related to the conversation. Each piece of dialogue and each question should be represented as an object in the array. For dialogue, the objects should have the keys 'actor' and 'text'. The 'actor' key should be set to 1 if the dialogue is spoken by the first actor, and 2 if it is spoken by the second actor. The 'text' key should be set to the dialogue text spoken by that actor. For questions, the objects should have the keys 'question' and 'answers'. The 'question' key should be set to the text of the question being asked. The 'answers' key should be an array of three objects, each representing a different answer to the question where only one is correct and two are incorrect. The objects in the 'answers' array should have the keys 'text', 'correct' and 'type'. The 'text' key should contain the answer text, 'correct' should be true for the correct answer and false for incorrect ones, and 'type' should always be equal to 'multichoice'. The entire output must be in a single JSON array without separating the dialogue and questions into different arrays.`;
|
|
166
166
|
const roleplayTemplate = {
|
|
167
167
|
roleplayId: (0, _utils.randomId)(),
|
|
168
168
|
roleplayName: values.roleplayTopic,
|
|
@@ -194,10 +194,22 @@ function GenerateRoleplayDialog({
|
|
|
194
194
|
} = responseObject[responseKey][0];
|
|
195
195
|
response = (0, _jsonrepair.jsonrepair)(text);
|
|
196
196
|
} else {
|
|
197
|
-
|
|
197
|
+
let chatGptResponse = await makeChatGptApiRequest({
|
|
198
198
|
model: "gpt-3.5-turbo",
|
|
199
199
|
prompt: activePrompt
|
|
200
200
|
});
|
|
201
|
+
let isComplete = false;
|
|
202
|
+
while (!isComplete) {
|
|
203
|
+
if (chatGptResponse.endsWith("...") || chatGptResponse.trim().endsWith(",")) {
|
|
204
|
+
const continuationResponse = await makeChatGptApiRequest({
|
|
205
|
+
model: "gpt-3.5-turbo",
|
|
206
|
+
prompt: "Continue: " + chatGptResponse
|
|
207
|
+
});
|
|
208
|
+
chatGptResponse += continuationResponse;
|
|
209
|
+
} else {
|
|
210
|
+
isComplete = true;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
201
213
|
response = chatGptResponse;
|
|
202
214
|
}
|
|
203
215
|
const jsonResponse = removeExtraTextFromChatGptResponse(response);
|
|
@@ -249,8 +261,21 @@ function GenerateRoleplayDialog({
|
|
|
249
261
|
if (autoSelect) {
|
|
250
262
|
isSubmitDisabled = !values.roleplayTopic || isRoleplayGenerating;
|
|
251
263
|
} else {
|
|
252
|
-
isSubmitDisabled = !(generatedRoleplay !==
|
|
264
|
+
isSubmitDisabled = !(generatedRoleplay.length !== 0 && !isRoleplayGenerating && previewMessages.length > 1);
|
|
253
265
|
}
|
|
266
|
+
(0, _react.useEffect)(() => {
|
|
267
|
+
if (!generateQuestions) {
|
|
268
|
+
setValues(prevValues => ({
|
|
269
|
+
...prevValues,
|
|
270
|
+
questionsAmount: 0
|
|
271
|
+
}));
|
|
272
|
+
} else {
|
|
273
|
+
setValues(prevValues => ({
|
|
274
|
+
...prevValues,
|
|
275
|
+
questionsAmount: prevValues.questionsAmount || Math.floor(prevValues.roleplayLengthNumber / 2)
|
|
276
|
+
}));
|
|
277
|
+
}
|
|
278
|
+
}, [generateQuestions]);
|
|
254
279
|
return /*#__PURE__*/_react.default.createElement(_ResponsiveDialog.default, {
|
|
255
280
|
open: isGenerateRoleplayDialogOpen,
|
|
256
281
|
handleClose: handleCloseDialog,
|
|
@@ -317,7 +342,8 @@ function GenerateRoleplayDialog({
|
|
|
317
342
|
rows: 3
|
|
318
343
|
}))), !hideRoleplayDifficultyOptions && !isRoleplayGenerating && /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
319
344
|
item: true,
|
|
320
|
-
xs: 12
|
|
345
|
+
xs: 12,
|
|
346
|
+
marginBottom: 1
|
|
321
347
|
}, /*#__PURE__*/_react.default.createElement(_material.TextField, {
|
|
322
348
|
select: true,
|
|
323
349
|
id: "roleplayDifficulty",
|
|
@@ -357,15 +383,58 @@ function GenerateRoleplayDialog({
|
|
|
357
383
|
margin: "normal",
|
|
358
384
|
variant: "outlined",
|
|
359
385
|
fullWidth: true
|
|
360
|
-
}, roleplayLengthOptions)), !isRoleplayGenerating && /*#__PURE__*/_react.default.createElement(
|
|
386
|
+
}, roleplayLengthOptions)), !isRoleplayGenerating && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
361
387
|
item: true,
|
|
362
388
|
xs: 12
|
|
389
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
390
|
+
id: "input-slider",
|
|
391
|
+
gutterBottom: true
|
|
392
|
+
}, t("number_of_interactions") + ": " + values.roleplayLengthNumber), /*#__PURE__*/_react.default.createElement(_material.Slider, {
|
|
393
|
+
"aria-label": "Number of Interactions",
|
|
394
|
+
defaultValue: 8,
|
|
395
|
+
valueLabelDisplay: "auto",
|
|
396
|
+
value: values.roleplayLengthNumber,
|
|
397
|
+
onChange: (e, newValue) => {
|
|
398
|
+
const maxQuestions = Math.floor(newValue / 2);
|
|
399
|
+
setValues(prevValues => ({
|
|
400
|
+
...prevValues,
|
|
401
|
+
roleplayLengthNumber: newValue,
|
|
402
|
+
questionsAmount: Math.min(prevValues.questionsAmount, maxQuestions)
|
|
403
|
+
}));
|
|
404
|
+
},
|
|
405
|
+
step: 2,
|
|
406
|
+
marks: true,
|
|
407
|
+
min: 4,
|
|
408
|
+
max: 12
|
|
409
|
+
})), /*#__PURE__*/_react.default.createElement(_material.FormGroup, null, /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
410
|
+
item: true,
|
|
411
|
+
xs: 12,
|
|
412
|
+
marginBottom: 1
|
|
363
413
|
}, /*#__PURE__*/_react.default.createElement(_material.FormControlLabel, {
|
|
364
414
|
control: /*#__PURE__*/_react.default.createElement(_material.Checkbox, {
|
|
365
415
|
checked: generateQuestions,
|
|
366
416
|
onChange: e => setGenerateQuestions(e.target.checked)
|
|
367
417
|
}),
|
|
368
418
|
label: "Generate Questions"
|
|
419
|
+
}))), generateQuestions && /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
420
|
+
item: true,
|
|
421
|
+
xs: 12
|
|
422
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
423
|
+
id: "input-slider",
|
|
424
|
+
gutterBottom: true
|
|
425
|
+
}, t("number_of_questions") + ": " + values.questionsAmount), /*#__PURE__*/_react.default.createElement(_material.Slider, {
|
|
426
|
+
"aria-label": "Number of Questions",
|
|
427
|
+
defaultValue: Math.floor(values?.roleplayLengthNumber / 2),
|
|
428
|
+
valueLabelDisplay: "auto",
|
|
429
|
+
value: values?.questionsAmount,
|
|
430
|
+
onChange: (e, newValue) => setValues({
|
|
431
|
+
...values,
|
|
432
|
+
questionsAmount: newValue
|
|
433
|
+
}),
|
|
434
|
+
step: 1,
|
|
435
|
+
marks: true,
|
|
436
|
+
min: 1,
|
|
437
|
+
max: Math.floor(values?.roleplayLengthNumber / 2)
|
|
369
438
|
}))), process.env.REACT_APP_STAGE === "dev" && !isRoleplayGenerating && pdfDetails && pdfVectorStoreCreationStatus === "CREATION_COMPLETE" && /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
370
439
|
item: true,
|
|
371
440
|
xs: 12
|
|
@@ -404,7 +473,7 @@ function GenerateRoleplayDialog({
|
|
|
404
473
|
loading: isRoleplayGenerating,
|
|
405
474
|
loadingPosition: "start",
|
|
406
475
|
startIcon: /*#__PURE__*/_react.default.createElement(_AutoFixHigh.default, null)
|
|
407
|
-
}, t("generate_roleplay"))), !autoSelect && generatedRoleplay !==
|
|
476
|
+
}, t("generate_roleplay"))), !autoSelect && generatedRoleplay.length !== 0 && !isRoleplayGenerating && previewMessages.length > 1 && /*#__PURE__*/_react.default.createElement(_material.Grid, {
|
|
408
477
|
item: true,
|
|
409
478
|
xs: 12,
|
|
410
479
|
mt: 2
|
|
@@ -441,6 +510,8 @@ GenerateRoleplayDialog.defaultProps = {
|
|
|
441
510
|
initialValues: {
|
|
442
511
|
roleplayTopic: "",
|
|
443
512
|
roleplayDifficulty: "",
|
|
513
|
+
roleplayLengthNumber: 8,
|
|
514
|
+
questionsAmount: 0,
|
|
444
515
|
roleplayLength: "",
|
|
445
516
|
actor1: {
|
|
446
517
|
name: "Carla",
|
|
@@ -17,7 +17,8 @@ const useStyles = (0, _mui.makeStyles)()(() => ({
|
|
|
17
17
|
function ModeratedDialog({
|
|
18
18
|
t,
|
|
19
19
|
open,
|
|
20
|
-
handleClose
|
|
20
|
+
handleClose,
|
|
21
|
+
moderationReason
|
|
21
22
|
}) {
|
|
22
23
|
const {
|
|
23
24
|
classes
|
|
@@ -27,7 +28,9 @@ function ModeratedDialog({
|
|
|
27
28
|
handleClose: handleClose,
|
|
28
29
|
dialogTitle: t("moderate_title"),
|
|
29
30
|
className: classes.zIndex
|
|
30
|
-
}, /*#__PURE__*/_react.default.createElement(_DialogContentText.default, null, /*#__PURE__*/_react.default.createElement("p", null, t("moderated_image_dialog")))
|
|
31
|
+
}, /*#__PURE__*/_react.default.createElement(_DialogContentText.default, null, /*#__PURE__*/_react.default.createElement("p", null, t("moderated_image_dialog")), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("p", null, t("moderation_reason", {
|
|
32
|
+
moderationReason: moderationReason
|
|
33
|
+
}))));
|
|
31
34
|
}
|
|
32
35
|
ModeratedDialog.defaultProps = {
|
|
33
36
|
t: text => text
|
|
@@ -632,7 +632,7 @@ function Roleplay({
|
|
|
632
632
|
run,
|
|
633
633
|
steps
|
|
634
634
|
} = joyrideState;
|
|
635
|
-
const topBarActions = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, subscription?.isPaidUser && /*#__PURE__*/_react.default.createElement(_material.Button, {
|
|
635
|
+
const topBarActions = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Box, null, subscription?.isPaidUser && /*#__PURE__*/_react.default.createElement(_material.Button, {
|
|
636
636
|
sx: {
|
|
637
637
|
marginRight: 1
|
|
638
638
|
},
|
|
@@ -656,7 +656,7 @@ function Roleplay({
|
|
|
656
656
|
open: uploadRoleplayScript,
|
|
657
657
|
handleClose: () => setUploadRoleplayScript(false),
|
|
658
658
|
onSubmit: onSubmit
|
|
659
|
-
}));
|
|
659
|
+
})));
|
|
660
660
|
return /*#__PURE__*/_react.default.createElement(_material.Dialog, {
|
|
661
661
|
fullScreen: true,
|
|
662
662
|
open: open,
|
|
@@ -838,6 +838,8 @@ function Roleplay({
|
|
|
838
838
|
roleplayTopic: roleplay.roleplayName,
|
|
839
839
|
roleplayDifficulty: roleplay.difficulty,
|
|
840
840
|
roleplayLength: "",
|
|
841
|
+
questionsAmount: 0,
|
|
842
|
+
roleplayLengthNumber: 8,
|
|
841
843
|
actor1: roleplay.actor1,
|
|
842
844
|
actor2: roleplay.actor2
|
|
843
845
|
},
|
|
@@ -127,19 +127,11 @@ function VideoUploader({
|
|
|
127
127
|
isDragAccept,
|
|
128
128
|
isDragReject
|
|
129
129
|
});
|
|
130
|
-
const inputRef = _react.default.useRef();
|
|
131
|
-
const handleFileChange = event => {
|
|
132
|
-
const file = event.target.files[0];
|
|
133
|
-
const url = URL.createObjectURL(file);
|
|
134
|
-
setFile(url);
|
|
135
|
-
};
|
|
136
130
|
return /*#__PURE__*/_react.default.createElement("section", {
|
|
137
131
|
className: "container"
|
|
138
132
|
}, !file && /*#__PURE__*/_react.default.createElement("div", getRootProps({
|
|
139
133
|
className: classes.dropzoneContainer
|
|
140
134
|
}), /*#__PURE__*/_react.default.createElement("input", _extends({}, getInputProps(), {
|
|
141
|
-
onChange: handleFileChange,
|
|
142
|
-
ref: inputRef,
|
|
143
135
|
accept: ".mov,.mp4"
|
|
144
136
|
})), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("img", {
|
|
145
137
|
className: classes.selectFileImage,
|
|
@@ -11,7 +11,7 @@ var _CourseOutline = _interopRequireDefault(require("./CourseOutline"));
|
|
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
12
|
const Template = args => /*#__PURE__*/_react.default.createElement(_CourseOutline.default, args);
|
|
13
13
|
const props = exports.props = {
|
|
14
|
-
isMember:
|
|
14
|
+
isMember: true,
|
|
15
15
|
isCreator: false,
|
|
16
16
|
courseId: "123",
|
|
17
17
|
sections: _Course.props.course.sections,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nualang/nualang-ui-components",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1139",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -15,46 +15,46 @@
|
|
|
15
15
|
"@emoji-mart/react": "^1.1.1",
|
|
16
16
|
"@emotion/react": "^11.10.8",
|
|
17
17
|
"@emotion/styled": "^11.10.8",
|
|
18
|
-
"@
|
|
18
|
+
"@nualang/videochat-ui-components": "^0.0.168",
|
|
19
|
+
"@hookform/resolvers": "^3.6.0",
|
|
19
20
|
"@json2csv/plainjs": "^7.0.1",
|
|
20
|
-
"@mui/icons-material": "^5.
|
|
21
|
+
"@mui/icons-material": "^5.15.20",
|
|
21
22
|
"@mui/lab": "^5.0.0-alpha.137",
|
|
22
|
-
"@mui/material": "^5.
|
|
23
|
-
"@mui/system": "^5.
|
|
24
|
-
"@mui/x-date-pickers": "^
|
|
25
|
-
"@
|
|
26
|
-
"@storybook/theming": "^7.6.17",
|
|
23
|
+
"@mui/material": "^5.15.20",
|
|
24
|
+
"@mui/system": "^5.15.20",
|
|
25
|
+
"@mui/x-date-pickers": "^7.7.0",
|
|
26
|
+
"@storybook/theming": "^8.1.10",
|
|
27
27
|
"@stripe/react-stripe-js": "^2.1.1",
|
|
28
28
|
"@stripe/stripe-js": "^1.54.2",
|
|
29
29
|
"ajv-keywords": "^3.5.2",
|
|
30
30
|
"avataaars": "^2.0.0",
|
|
31
31
|
"base64-arraybuffer": "^1.0.2",
|
|
32
|
-
"chart.js": "^4.3
|
|
32
|
+
"chart.js": "^4.4.3",
|
|
33
33
|
"chartjs-plugin-datalabels": "^2.2.0",
|
|
34
34
|
"classnames": "^2.3.1",
|
|
35
35
|
"codegen": "^0.1.0",
|
|
36
36
|
"codemirror": "^5.61.1",
|
|
37
|
-
"date-fns": "3.
|
|
37
|
+
"date-fns": "3.6.0",
|
|
38
38
|
"deep-equal": "^2.2.2",
|
|
39
39
|
"easymde": "2.18.0",
|
|
40
40
|
"emoji-mart": "5.5.2",
|
|
41
|
-
"export-to-csv": "^
|
|
41
|
+
"export-to-csv": "^1.3.0",
|
|
42
42
|
"formik": "^2.2.9",
|
|
43
43
|
"fs": "^0.0.1-security",
|
|
44
44
|
"immutability-helper": "^3.0",
|
|
45
45
|
"jaro-winkler": "^0.2",
|
|
46
|
-
"json-2-csv": "^
|
|
46
|
+
"json-2-csv": "^5.5.1",
|
|
47
47
|
"jsonlint": "^1.6.3",
|
|
48
48
|
"jsonrepair": "^3.6.0",
|
|
49
49
|
"luxon": "^3.3.0",
|
|
50
50
|
"moment": "^2.29.4",
|
|
51
|
-
"n2words": "^1.
|
|
51
|
+
"n2words": "^1.21.0",
|
|
52
52
|
"pixabay-api": "^1.0.4",
|
|
53
53
|
"pre-commit": "^1.2.2",
|
|
54
54
|
"rdndmb-html5-to-touch": "^8.0.0",
|
|
55
55
|
"react-beautiful-dnd": "^13.1.1",
|
|
56
56
|
"react-chartjs-2": "^5.2.0",
|
|
57
|
-
"react-codemirror2": "^
|
|
57
|
+
"react-codemirror2": "^8.0.0",
|
|
58
58
|
"react-copy-to-clipboard": "^5.0",
|
|
59
59
|
"react-countdown-circle-timer": "^3.2.1",
|
|
60
60
|
"react-csv": "^2.2.2",
|
|
@@ -65,16 +65,17 @@
|
|
|
65
65
|
"react-feather": "^2.0",
|
|
66
66
|
"react-flip-move": "^3.0.5",
|
|
67
67
|
"react-flip-toolkit": "^7.1.0",
|
|
68
|
-
"react-hook-form": "^7.
|
|
69
|
-
"react-i18next": "^14.
|
|
68
|
+
"react-hook-form": "^7.52.0",
|
|
69
|
+
"react-i18next": "^14.1.2",
|
|
70
70
|
"react-infinite-scroll-component": "^6.1.0",
|
|
71
71
|
"react-infinite-scroller": "^1.2.6",
|
|
72
|
-
"react-intersection-observer": "
|
|
73
|
-
"react-joyride": "^2.
|
|
72
|
+
"react-intersection-observer": "9.10.3",
|
|
73
|
+
"react-joyride": "^2.8.2",
|
|
74
74
|
"react-markdown": "^8.0.7",
|
|
75
75
|
"react-modal-promise": "^1.0.2",
|
|
76
76
|
"react-papaparse": "^4.1.0",
|
|
77
77
|
"react-pdf": "^7.7.1",
|
|
78
|
+
"react-refresh": "^0.14.2",
|
|
78
79
|
"react-player": "^2.16.0",
|
|
79
80
|
"react-qrcode-logo": "^3.0.0",
|
|
80
81
|
"react-router-dom": "^6.22.1",
|
|
@@ -90,33 +91,30 @@
|
|
|
90
91
|
"styled-components": "^6.1.0",
|
|
91
92
|
"tss-react": "^4.9.3",
|
|
92
93
|
"uifx": "^2.0",
|
|
93
|
-
"wavesurfer.js": "^7.7.
|
|
94
|
+
"wavesurfer.js": "^7.7.15",
|
|
94
95
|
"xlsx": "^0.18.5",
|
|
95
96
|
"yup": "^1.4.0"
|
|
96
97
|
},
|
|
97
98
|
"_COMMENT_": "// Please note that peer dependencies are also included as dev dependencies to make development easier",
|
|
98
99
|
"devDependencies": {
|
|
99
|
-
"@babel/cli": "^7.
|
|
100
|
-
"@babel/plugin-proposal-private-property-in-object": "
|
|
101
|
-
"@babel/preset-env": "^7.
|
|
102
|
-
"@babel/preset-react": "^7.
|
|
100
|
+
"@babel/cli": "^7.24.7",
|
|
101
|
+
"@babel/plugin-proposal-private-property-in-object": "7.18.6",
|
|
102
|
+
"@babel/preset-env": "^7.24.7",
|
|
103
|
+
"@babel/preset-react": "^7.24.7",
|
|
103
104
|
"@react-theming/storybook-addon": "^1.1.10",
|
|
104
|
-
"@storybook/addon-actions": "^
|
|
105
|
-
"@storybook/addon-essentials": "^
|
|
106
|
-
"@storybook/addon-links": "^
|
|
107
|
-
"@storybook/addon-mdx-gfm": "^
|
|
108
|
-
"@storybook/addon-
|
|
109
|
-
"@storybook/
|
|
110
|
-
"@storybook/
|
|
111
|
-
"@storybook/
|
|
112
|
-
"@storybook/
|
|
113
|
-
"@
|
|
114
|
-
"@
|
|
115
|
-
"@tanstack/react-query": "5.
|
|
116
|
-
"@tanstack/react-query-devtools": "5.24.0",
|
|
117
|
-
"@tanstack/react-query-persist-client": "5.22.2",
|
|
105
|
+
"@storybook/addon-actions": "^8.1.10",
|
|
106
|
+
"@storybook/addon-essentials": "^8.1.10",
|
|
107
|
+
"@storybook/addon-links": "^8.1.10",
|
|
108
|
+
"@storybook/addon-mdx-gfm": "^8.1.10",
|
|
109
|
+
"@storybook/addon-viewport": "^8.1.10",
|
|
110
|
+
"@storybook/node-logger": "^8.1.10",
|
|
111
|
+
"@storybook/preset-create-react-app": "^8.1.10",
|
|
112
|
+
"@storybook/react": "^8.1.10",
|
|
113
|
+
"@storybook/react-webpack5": "^8.1.10",
|
|
114
|
+
"@tanstack/react-query": "5.45.1",
|
|
115
|
+
"@tanstack/react-query-devtools": "5.45.1",
|
|
116
|
+
"@tanstack/react-query-persist-client": "5.45.1",
|
|
118
117
|
"babel-plugin-macros": "^3.1.0",
|
|
119
|
-
"chromatic": "^6.20.0",
|
|
120
118
|
"clsx": "^2.0.0",
|
|
121
119
|
"cross-env": "^7.0.3",
|
|
122
120
|
"eslint-plugin-jsx-a11y": "^6.8.0",
|
|
@@ -128,14 +126,14 @@
|
|
|
128
126
|
"react": "^18.2.0",
|
|
129
127
|
"react-dom": "^18.2.0",
|
|
130
128
|
"react-scripts": "^5.0.1",
|
|
131
|
-
"storybook": "^
|
|
129
|
+
"storybook": "^8.1.10"
|
|
132
130
|
},
|
|
133
131
|
"scripts": {
|
|
134
132
|
"postinstall": "patch-package",
|
|
135
133
|
"start": "npm run storybook",
|
|
136
134
|
"build": "react-scripts build",
|
|
137
|
-
"test": "react-scripts test --
|
|
138
|
-
"test:unit": "cross-env CI=true react-scripts test ./ --ci --
|
|
135
|
+
"test": "react-scripts test --transformIgnorePatterns \"node_modules/(?!@codemirror)/\"",
|
|
136
|
+
"test:unit": "cross-env CI=true react-scripts test ./ --ci --transformIgnorePatterns \"node_modules/(?!@codemirror)/\"",
|
|
139
137
|
"storybook": "storybook dev -p 9009",
|
|
140
138
|
"build-storybook": "storybook build",
|
|
141
139
|
"clean": "rimraf dist",
|
|
@@ -144,7 +142,6 @@
|
|
|
144
142
|
"postversion": "npm publish && git push && git push --tags",
|
|
145
143
|
"localpack": "npm run compile && npm pack",
|
|
146
144
|
"lint": "eslint --ext .js,.jsx --ignore-pattern dist src",
|
|
147
|
-
"chromatic": "npx chromatic --project-token=a2273931692a --exit-zero-on-changes",
|
|
148
145
|
"prettier": "npx prettier ./src --write"
|
|
149
146
|
},
|
|
150
147
|
"pre-commit": [
|