touchstudy-core 0.1.132 → 0.1.134

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +46 -46
  2. package/dist/StudyTouch_Character_v1_Question~jLFvuYmI.png +0 -0
  3. package/dist/components/Chats/ChatHeader.d.ts +25 -0
  4. package/dist/components/Chats/ChatItem.d.ts +31 -0
  5. package/dist/components/Chats/ChatLeftItem.d.ts +4 -0
  6. package/dist/components/Chats/ChatList.d.ts +14 -0
  7. package/dist/components/Chats/ChatRightItem.d.ts +4 -0
  8. package/dist/components/Chats/InputChat.d.ts +16 -0
  9. package/dist/components/Chats/components/CustomTooltip.d.ts +2 -0
  10. package/dist/components/CkEditor/CkEditor.d.ts +19 -0
  11. package/dist/components/CkEditor/config.d.ts +19 -0
  12. package/dist/components/CkEditor/index.d.ts +2 -0
  13. package/dist/components/ErrorHandler.d.ts +6 -0
  14. package/dist/components/LabelRequired.d.ts +8 -0
  15. package/dist/components/Selectors/InActiveAcademySelector.d.ts +16 -0
  16. package/dist/containers/Academies/hooks/usePassCodeDialog.d.ts +10 -0
  17. package/dist/containers/ExamResult/components/MyAnswer/components/CreateNewQuestion.d.ts +15 -0
  18. package/dist/containers/Exams/configs/types.d.ts +22 -0
  19. package/dist/containers/PreparedTextbook/apiClients/academyService.d.ts +1 -0
  20. package/dist/containers/PreparedTextbook/components/Article.d.ts +2 -3
  21. package/dist/containers/PreparedTextbook/components/TextbookOwners.d.ts +13 -0
  22. package/dist/containers/PreparedTextbook/configs/enums.d.ts +1 -1
  23. package/dist/containers/Users/components/Dialogs/DeleteUserCsvDialog.d.ts +10 -0
  24. package/dist/containers/Users/components/Dialogs/RecentUserActionDialog.d.ts +9 -0
  25. package/dist/containers/Users/components/Dialogs/UserDialog.d.ts +12 -0
  26. package/dist/index.css +9 -9
  27. package/dist/index.js +91 -79
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.modern.js +87 -74
  30. package/dist/index.modern.js.map +1 -1
  31. package/dist/layouts/Header.d.ts +1 -0
  32. package/dist/tests/performances/do-exam-session-list-student.d.ts +19 -0
  33. package/dist/tests/performances/do-exam-session-request-answer-one-time.d.ts +19 -0
  34. package/dist/tests/performances/do-exam-session-skip-answer.d.ts +19 -0
  35. package/dist/tests/performances/do-exam-session2.d.ts +19 -0
  36. package/dist/utils/canAccessRoute.d.ts +2 -0
  37. package/dist/utils/diffFromNow.d.ts +3 -0
  38. package/dist/utils/encodeParams.d.ts +2 -0
  39. package/dist/utils/formatTime.d.ts +4 -0
  40. package/dist/utils/getAcademyDomain.d.ts +2 -0
  41. package/dist/utils/getAccessToken.d.ts +2 -0
  42. package/dist/utils/getErrorMessage.d.ts +1 -0
  43. package/dist/utils/getLanguage.d.ts +2 -0
  44. package/dist/utils/getLearningSpace.d.ts +2 -0
  45. package/dist/utils/getRedirectUrl.d.ts +2 -0
  46. package/dist/utils/helpers.d.ts +22 -0
  47. package/dist/utils/isLocalHost.d.ts +2 -0
  48. package/dist/utils/minutesToTimeSpan.d.ts +2 -0
  49. package/dist/utils/pusherTo.d.ts +1 -0
  50. package/dist/utils/times.d.ts +6 -0
  51. package/dist/utils/toISOString.d.ts +2 -0
  52. package/dist/utils/toLocalTime.d.ts +1 -0
  53. package/dist/utils/types/checkSuperUrl.d.ts +1 -0
  54. package/dist/utils/types.d.ts +9 -0
  55. package/dist/utils/utcToLocalTime.d.ts +2 -0
  56. package/package.json +102 -103
  57. package/dist/.DS_Store +0 -0
  58. package/dist/components/.DS_Store +0 -0
  59. package/dist/containers/.DS_Store +0 -0
  60. package/dist/redux/.DS_Store +0 -0
  61. package/dist/utils/.DS_Store +0 -0
@@ -19,14 +19,14 @@ import moment from 'moment';
19
19
  export { default as moment } from 'moment';
20
20
  import 'moment/locale/ko.js';
21
21
  import 'moment/locale/en-au.js';
22
- import _ from 'lodash';
22
+ import _$5 from 'lodash';
23
23
  import { FaSave, FaCaretDown, FaTimes, FaTrash, FaSortUp, FaSortDown, FaPlus, FaPlusCircle, FaUpload, FaEye as FaEye$1, FaPencilAlt, FaShare, FaExchangeAlt, FaBookOpen } from 'react-icons/fa';
24
24
  import { IoMdArrowBack, IoIosAdd, IoMdAdd, IoIosAlert, IoIosArrowDown, IoIosSearch, IoIosArrowUp } from 'react-icons/io';
25
25
  import { IoClose, IoSearch, IoCloseOutline, IoChevronUp, IoChevronDown, IoChatbubbleEllipsesSharp, IoPrint, IoWarning, IoCheckmarkCircle, IoChevronUpOutline, IoChevronDownOutline, IoReceiptSharp, IoBook, IoCalendarClear, IoPerson, IoInformationCircle, IoTrash, IoAddCircle, IoCloseCircle, IoLogOut } from 'react-icons/io5';
26
26
  import Select, { components } from 'react-select';
27
27
  import CreatableSelect from 'react-select/creatable';
28
28
  import axios from 'axios';
29
- import GoogleLogin, { useGoogleLogout } from '@leecheuk/react-google-login';
29
+ import { useGoogleLogout, GoogleLogin } from '@leecheuk/react-google-login';
30
30
  import { Formik, Form, Field, FieldArray } from 'formik';
31
31
  import { AutoSizer } from 'react-virtualized';
32
32
  import tinymce from 'tinymce';
@@ -71,7 +71,6 @@ import Container$1 from '@mui/material/Container';
71
71
  import { alpha } from '@mui/material/styles';
72
72
  import Slider from 'react-slick';
73
73
  import { GrNext, GrPrevious } from 'react-icons/gr';
74
- import { Link } from 'react-router-dom';
75
74
  import Popover from '@mui/material/Popover';
76
75
  import MenuItem$1 from '@mui/material/MenuItem';
77
76
  import { GoArrowSwitch } from 'react-icons/go';
@@ -1411,7 +1410,7 @@ var advanced_mathematics_2 = "후반수학2";
1411
1410
  var algebra = "대수";
1412
1411
  var calculus_1 = "미적분1";
1413
1412
  var calculus_2 = "미적분2";
1414
- var fun_with_measurement = "재미있는 측정";
1413
+ var probability_and_statistics = "확률과 통계";
1415
1414
  var geometry = "기하";
1416
1415
  var select_school = "학교를 선택하세요";
1417
1416
  var all = "모두";
@@ -2472,7 +2471,7 @@ var lang_ko = {
2472
2471
  algebra: algebra,
2473
2472
  calculus_1: calculus_1,
2474
2473
  calculus_2: calculus_2,
2475
- fun_with_measurement: fun_with_measurement,
2474
+ probability_and_statistics: probability_and_statistics,
2476
2475
  geometry: geometry,
2477
2476
  select_school: select_school,
2478
2477
  all: all,
@@ -3555,7 +3554,7 @@ var advanced_mathematics_2$1 = "Advanced Mathematics 2";
3555
3554
  var algebra$1 = "Algebra";
3556
3555
  var calculus_1$1 = "Calculus 1";
3557
3556
  var calculus_2$1 = "Calculus 2";
3558
- var fun_with_measurement$1 = "Fun with Measurement";
3557
+ var probability_and_statistics$1 = "Probability And Statistics";
3559
3558
  var geometry$1 = "Geometry";
3560
3559
  var select_school$1 = "Select school";
3561
3560
  var all$1 = "All";
@@ -4618,7 +4617,7 @@ var lang_en = {
4618
4617
  algebra: algebra$1,
4619
4618
  calculus_1: calculus_1$1,
4620
4619
  calculus_2: calculus_2$1,
4621
- fun_with_measurement: fun_with_measurement$1,
4620
+ probability_and_statistics: probability_and_statistics$1,
4622
4621
  geometry: geometry$1,
4623
4622
  select_school: select_school$1,
4624
4623
  all: all$1,
@@ -4949,7 +4948,7 @@ var getLocalDayOfWeek = function getLocalDayOfWeek(utcDateTime, dayOfWeek) {
4949
4948
  return moment.utc(utcDateTime).add(diff, "days").local().weekday();
4950
4949
  };
4951
4950
  var getUtcDayOfWeek = function getUtcDayOfWeek(localDateTime, dayOfWeek) {
4952
- var currentDayOfWeek = _.cloneDeep(localDateTime).local().weekday();
4951
+ var currentDayOfWeek = _$5.cloneDeep(localDateTime).local().weekday();
4953
4952
  var diff = dayOfWeek - currentDayOfWeek;
4954
4953
  if (diff < 0) diff += 7;
4955
4954
  return localDateTime.add(diff, "days").utc().weekday();
@@ -6610,7 +6609,7 @@ var useList = function useList(fetchData, defaultQuery) {
6610
6609
  var _paging$page, _paging$limit;
6611
6610
  return (((_paging$page = paging.page) != null ? _paging$page : 0) - 1) * ((_paging$limit = paging.limit) != null ? _paging$limit : 0) + index + 1;
6612
6611
  };
6613
- var debounceSearch = _.debounce(function () {
6612
+ var debounceSearch = _$5.debounce(function () {
6614
6613
  var _textSearchRef$curren;
6615
6614
  setFilter(_extends({}, filter, {
6616
6615
  currentPage: 1,
@@ -12061,7 +12060,7 @@ var ClassForm = function ClassForm(_ref) {
12061
12060
  };
12062
12061
  var handleDeleteWeeklyDays = function handleDeleteWeeklyDays(currentValue) {
12063
12062
  if (formikProp.values.courseWeeklyDays.length <= 1) return;
12064
- var courseWeeklyDays = _.cloneDeep(formikProp.values.courseWeeklyDays);
12063
+ var courseWeeklyDays = _$5.cloneDeep(formikProp.values.courseWeeklyDays);
12065
12064
  var newValues = courseWeeklyDays.filter(function (i) {
12066
12065
  var _i$startTime, _currentValue$startTi, _i$endTime, _currentValue$endTime;
12067
12066
  return i.dayOfWeek !== currentValue.dayOfWeek || ((_i$startTime = i.startTime) === null || _i$startTime === void 0 ? void 0 : _i$startTime.format("HH:mm:ss")) !== ((_currentValue$startTi = currentValue.startTime) === null || _currentValue$startTi === void 0 ? void 0 : _currentValue$startTi.format("HH:mm:ss")) || ((_i$endTime = i.endTime) === null || _i$endTime === void 0 ? void 0 : _i$endTime.format("HH:mm:ss")) !== ((_currentValue$endTime = currentValue.endTime) === null || _currentValue$endTime === void 0 ? void 0 : _currentValue$endTime.format("HH:mm:ss"));
@@ -12097,7 +12096,7 @@ var ClassForm = function ClassForm(_ref) {
12097
12096
  var handleChangeWeeklyDayTime = function handleChangeWeeklyDayTime(key, newValue, currentValue) {
12098
12097
  var _extends2;
12099
12098
  var time = newValue === null || newValue === void 0 ? void 0 : newValue.local();
12100
- var courseWeeklyDays = _.cloneDeep(formikProp.values.courseWeeklyDays);
12099
+ var courseWeeklyDays = _$5.cloneDeep(formikProp.values.courseWeeklyDays);
12101
12100
  var currentIndex = courseWeeklyDays.findIndex(function (i) {
12102
12101
  var _i$startTime2, _currentValue$startTi2, _i$endTime2, _currentValue$endTime2;
12103
12102
  return i.dayOfWeek === currentValue.dayOfWeek && ((_i$startTime2 = i.startTime) === null || _i$startTime2 === void 0 ? void 0 : _i$startTime2.format("HH:mm:ss")) === ((_currentValue$startTi2 = currentValue.startTime) === null || _currentValue$startTi2 === void 0 ? void 0 : _currentValue$startTi2.format("HH:mm:ss")) && ((_i$endTime2 = i.endTime) === null || _i$endTime2 === void 0 ? void 0 : _i$endTime2.format("HH:mm:ss")) === ((_currentValue$endTime2 = currentValue.endTime) === null || _currentValue$endTime2 === void 0 ? void 0 : _currentValue$endTime2.format("HH:mm:ss"));
@@ -12132,11 +12131,11 @@ var ClassForm = function ClassForm(_ref) {
12132
12131
  }, [JSON.stringify(data)]);
12133
12132
  var minDate = useMemo(function () {
12134
12133
  if (!formikProp.values.startDate) return undefined;
12135
- return _.cloneDeep(formikProp.values.startDate).add(1, "days");
12134
+ return _$5.cloneDeep(formikProp.values.startDate).add(1, "days");
12136
12135
  }, [formikProp.values.startDate]);
12137
12136
  var maxDate = useMemo(function () {
12138
12137
  if (!formikProp.values.endDate) return undefined;
12139
- return _.cloneDeep(formikProp.values.endDate).add(1, "days");
12138
+ return _$5.cloneDeep(formikProp.values.endDate).add(1, "days");
12140
12139
  }, [formikProp.values.endDate]);
12141
12140
  var WeeklyDayErrors = formikProp.touched.courseWeeklyDays && formikProp.errors.courseWeeklyDays && React__default.createElement("div", {
12142
12141
  className: "mt-1"
@@ -12153,7 +12152,7 @@ var ClassForm = function ClassForm(_ref) {
12153
12152
  });
12154
12153
  }, [JSON.stringify(formikProp.values.courseWeeklyDays)]);
12155
12154
  var courseWeeklyDays = useMemo(function () {
12156
- return _.sortBy(formikProp.values.courseWeeklyDays, ["dayOfWeek"]);
12155
+ return _$5.sortBy(formikProp.values.courseWeeklyDays, ["dayOfWeek"]);
12157
12156
  }, [JSON.stringify(formikProp.values.courseWeeklyDays)]);
12158
12157
  return React__default.createElement("div", {
12159
12158
  className: "d-flex flex-column"
@@ -12304,7 +12303,7 @@ var ClassForm = function ClassForm(_ref) {
12304
12303
  value: v.startTime,
12305
12304
  format: "HH:mm",
12306
12305
  open: open === index + "-startTime",
12307
- maxTime: v.endTime ? _.cloneDeep(v.endTime).add(-1, "minutes") : undefined,
12306
+ maxTime: v.endTime ? _$5.cloneDeep(v.endTime).add(-1, "minutes") : undefined,
12308
12307
  onAccept: function onAccept(newValue) {
12309
12308
  return handleChangeWeeklyDayTime("startTime", newValue, v);
12310
12309
  },
@@ -12334,7 +12333,7 @@ var ClassForm = function ClassForm(_ref) {
12334
12333
  components: ["TimePicker"]
12335
12334
  }, React__default.createElement(TimePicker, {
12336
12335
  value: v.endTime,
12337
- minTime: v.startTime ? (_$cloneDeep = _.cloneDeep(v.startTime)) === null || _$cloneDeep === void 0 ? void 0 : _$cloneDeep.add(1, "minutes") : undefined,
12336
+ minTime: v.startTime ? (_$cloneDeep = _$5.cloneDeep(v.startTime)) === null || _$cloneDeep === void 0 ? void 0 : _$cloneDeep.add(1, "minutes") : undefined,
12338
12337
  format: "HH:mm",
12339
12338
  open: open === index + "-endTime",
12340
12339
  onAccept: function onAccept(newValue) {
@@ -12958,7 +12957,7 @@ var useStudentClassList = function useStudentClassList(courseId) {
12958
12957
  currentPage: 1
12959
12958
  }));
12960
12959
  };
12961
- var debounceSearch = _.debounce(function () {
12960
+ var debounceSearch = _$5.debounce(function () {
12962
12961
  setFilter(_extends({}, filter, {
12963
12962
  currentPage: 1
12964
12963
  }));
@@ -13094,7 +13093,7 @@ var useTeacherClassList = function useTeacherClassList(courseId) {
13094
13093
  currentPage: 1
13095
13094
  }));
13096
13095
  };
13097
- var debounceSearch = _.debounce(function () {
13096
+ var debounceSearch = _$5.debounce(function () {
13098
13097
  setFilter(_extends({}, filter, {
13099
13098
  currentPage: 1
13100
13099
  }));
@@ -13402,7 +13401,7 @@ var useClassDetail = function useClassDetail(_ref) {
13402
13401
  });
13403
13402
  }, [JSON.stringify(course)]);
13404
13403
  var convertToRequestBody = function convertToRequestBody(request) {
13405
- var localStartDate = _.cloneDeep(request.startDate);
13404
+ var localStartDate = _$5.cloneDeep(request.startDate);
13406
13405
  return _extends({}, request, {
13407
13406
  startDate: request.startDate.utc().format(DATE_TIME_FORMAT),
13408
13407
  endDate: request.endDate.utc().format(DATE_TIME_FORMAT),
@@ -13651,13 +13650,13 @@ var useClassDetail = function useClassDetail(_ref) {
13651
13650
  });
13652
13651
  if (event.target.checked) {
13653
13652
  setSelected(function (prev) {
13654
- return _.uniq([].concat(prev, newSelected));
13653
+ return _$5.uniq([].concat(prev, newSelected));
13655
13654
  });
13656
13655
  return;
13657
13656
  }
13658
- setSelected(_.difference(selected, newSelected));
13657
+ setSelected(_$5.difference(selected, newSelected));
13659
13658
  };
13660
- var debounceSearch = _.debounce(function () {
13659
+ var debounceSearch = _$5.debounce(function () {
13661
13660
  setFilter(_extends({}, filter, {
13662
13661
  currentPage: 1
13663
13662
  }));
@@ -13675,7 +13674,7 @@ var useClassDetail = function useClassDetail(_ref) {
13675
13674
  }) : userList.map(function (n) {
13676
13675
  return n.teacherId;
13677
13676
  });
13678
- var checkLength = _.intersection(selected, newSelected).length;
13677
+ var checkLength = _$5.intersection(selected, newSelected).length;
13679
13678
  return checkLength === userLength;
13680
13679
  };
13681
13680
  var handleClear = function handleClear() {
@@ -13710,7 +13709,7 @@ var useClassDetail = function useClassDetail(_ref) {
13710
13709
  }));
13711
13710
  setSelected([]);
13712
13711
  };
13713
- var debounceSort = _.debounce(handleSort, 300);
13712
+ var debounceSort = _$5.debounce(handleSort, 300);
13714
13713
  var handleChangePage = function handleChangePage(_, page) {
13715
13714
  setFilter(_extends({}, filter, {
13716
13715
  currentPage: page
@@ -13788,8 +13787,8 @@ var LessonFormBody = function LessonFormBody(_ref) {
13788
13787
  useEffect(function () {
13789
13788
  if (open && data) formikProp.setValues(data);else formikProp.setValues(DEFAULT_LESSON_REQUEST);
13790
13789
  }, [open, JSON.stringify(data)]);
13791
- var maxTime = formikProp.values.endTime ? _.cloneDeep(formikProp.values.endTime).add(-1, "minutes") : undefined;
13792
- var minTime = formikProp.values.startTime ? _.cloneDeep(formikProp.values.startTime).add(1, "minutes") : undefined;
13790
+ var maxTime = formikProp.values.endTime ? _$5.cloneDeep(formikProp.values.endTime).add(-1, "minutes") : undefined;
13791
+ var minTime = formikProp.values.startTime ? _$5.cloneDeep(formikProp.values.startTime).add(1, "minutes") : undefined;
13793
13792
  return React__default.createElement(Fragment$1, null, React__default.createElement(DialogContent, {
13794
13793
  sx: {
13795
13794
  overflowY: "unset"
@@ -14369,7 +14368,7 @@ var useClassList = function useClassList(history, classCreateUrl, classUpdateUrl
14369
14368
  currentPage: 1
14370
14369
  }));
14371
14370
  };
14372
- var debounceSearch = _.debounce(function () {
14371
+ var debounceSearch = _$5.debounce(function () {
14373
14372
  setClassFilter(_extends({}, classFilter, {
14374
14373
  currentPage: 1
14375
14374
  }));
@@ -19471,7 +19470,7 @@ var useNotes = function useNotes(setFilter, filter) {
19471
19470
  var items = (data === null || data === void 0 ? void 0 : data.items) || [];
19472
19471
  var newNotes = items;
19473
19472
  if (filter !== null && filter !== void 0 && filter.currentPage && (filter === null || filter === void 0 ? void 0 : filter.currentPage) > 1) {
19474
- newNotes = [].concat(_.uniqBy([].concat(notes, items), "id"));
19473
+ newNotes = [].concat(_$5.uniqBy([].concat(notes, items), "id"));
19475
19474
  }
19476
19475
  setNotes(newNotes);
19477
19476
  });
@@ -19494,7 +19493,7 @@ var useNotes = function useNotes(setFilter, filter) {
19494
19493
  });
19495
19494
  }, [filter === null || filter === void 0 ? void 0 : filter.currentPage, totalPages]);
19496
19495
  var handleNoteAdded = function handleNoteAdded(note) {
19497
- var newNotes = [].concat(_.uniqBy([note].concat(notes), "id"));
19496
+ var newNotes = [].concat(_$5.uniqBy([note].concat(notes), "id"));
19498
19497
  setNotes(newNotes);
19499
19498
  };
19500
19499
  var handleNoteUpdated = function handleNoteUpdated(note) {
@@ -19950,18 +19949,20 @@ var useExamResultData = function useExamResultData(props) {
19950
19949
  topAnswerOrder: i.topAnswerOrder == null ? 0 : i.topAnswerOrder
19951
19950
  });
19952
19951
  });
19953
- var mySeriesData = [null].concat(_.sortBy(questionsData.filter(function (i) {
19952
+ var sortedMySeriesQuestionData = _$5.sortBy(questionsData.filter(function (i) {
19954
19953
  return i.answerOrder !== 0;
19955
- }), ["answerOrder", "questionOrder"]).map(function (item) {
19954
+ }), ["answerOrder", "questionOrder"]);
19955
+ var mySeriesData = [null].concat(sortedMySeriesQuestionData.map(function (item) {
19956
19956
  return timelyOrderQuestion.questions.length - item.questionOrder;
19957
19957
  }), questionsData.filter(function (i) {
19958
19958
  return i.answerOrder === 0;
19959
19959
  }).map(function () {
19960
19960
  return null;
19961
19961
  }), [null]);
19962
- var topSeriesData = [null].concat(_.sortBy(questionsData.filter(function (i) {
19962
+ var sortedTopSeriesQuestionData = _$5.sortBy(questionsData.filter(function (i) {
19963
19963
  return i.topAnswerOrder !== 0;
19964
- }), ["topAnswerOrder", "questionOrder"]).map(function (item) {
19964
+ }), ["topAnswerOrder", "questionOrder"]);
19965
+ var topSeriesData = [null].concat(sortedTopSeriesQuestionData.map(function (item) {
19965
19966
  return timelyOrderQuestion.questions.length - item.questionOrder;
19966
19967
  }), questionsData.filter(function (i) {
19967
19968
  return i.topAnswerOrder === 0;
@@ -22214,7 +22215,7 @@ var useUserList = function useUserList(role) {
22214
22215
  currentPage: 1
22215
22216
  }));
22216
22217
  };
22217
- var debounceSort = _.debounce(handleSort, 300);
22218
+ var debounceSort = _$5.debounce(handleSort, 300);
22218
22219
  var getUserById = function getUserById(id) {
22219
22220
  try {
22220
22221
  var _temp8 = function _temp8() {
@@ -22372,7 +22373,7 @@ var useUserList = function useUserList(role) {
22372
22373
  return Promise.reject(e);
22373
22374
  }
22374
22375
  };
22375
- var debounceSearch = _.debounce(function () {
22376
+ var debounceSearch = _$5.debounce(function () {
22376
22377
  setFilter(_extends({}, filter, {
22377
22378
  currentPage: 1
22378
22379
  }));
@@ -22925,10 +22926,15 @@ var QuestionView = function QuestionView(_ref2) {
22925
22926
  }, React__default.createElement(Stack, null, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
22926
22927
  htmlFor: "textual_answer",
22927
22928
  className: styles$6["question-label"] + " form-label"
22928
- }, t("textual_answer")), React__default.createElement(MathTinyEditor, {
22929
+ }, t("textual_answer")), React__default.createElement(TextField, {
22930
+ sx: {
22931
+ "& .MuiInputBase-input": {
22932
+ p: "12px 14px"
22933
+ }
22934
+ },
22929
22935
  value: (question === null || question === void 0 ? void 0 : question.textualAnswer) || "",
22930
- onChange: function onChange(newValue) {
22931
- return onChangeTextualAnswer(newValue, index);
22936
+ onChange: function onChange(e) {
22937
+ return onChangeTextualAnswer(e.target.value, index);
22932
22938
  }
22933
22939
  })))));
22934
22940
  case QuestionAnswerType.MultipleChoice:
@@ -23623,8 +23629,8 @@ var useExamDetailView = function useExamDetailView(props) {
23623
23629
  var handleAddArticle = function handleAddArticle() {
23624
23630
  var _$maxBy, _$maxBy2;
23625
23631
  if (!exam) return;
23626
- var maxArticle = ((_$maxBy = _.maxBy(exam.questions, "article")) === null || _$maxBy === void 0 ? void 0 : _$maxBy.article) || 0;
23627
- var maxOrder = ((_$maxBy2 = _.maxBy(exam.questions, "questionOrder")) === null || _$maxBy2 === void 0 ? void 0 : _$maxBy2.questionOrder) || 0;
23632
+ var maxArticle = ((_$maxBy = _$5.maxBy(exam.questions, "article")) === null || _$maxBy === void 0 ? void 0 : _$maxBy.article) || 0;
23633
+ var maxOrder = ((_$maxBy2 = _$5.maxBy(exam.questions, "questionOrder")) === null || _$maxBy2 === void 0 ? void 0 : _$maxBy2.questionOrder) || 0;
23628
23634
  onChangeExam(_extends({}, exam, {
23629
23635
  questions: [].concat(exam.questions, [{
23630
23636
  questionAnswerType: QuestionAnswerType.SingleChoice,
@@ -23675,7 +23681,7 @@ var useExamDetailView = function useExamDetailView(props) {
23675
23681
  var examGroupByArticle = useMemo(function () {
23676
23682
  if (!exam) return [];
23677
23683
  var articles = [];
23678
- var groupedArticle = _.groupBy(exam.questions, "article");
23684
+ var groupedArticle = _$5.groupBy(exam.questions, "article");
23679
23685
  for (var key in groupedArticle) {
23680
23686
  if (Object.prototype.hasOwnProperty.call(groupedArticle, key)) {
23681
23687
  var _questions$find, _$maxBy3;
@@ -23685,13 +23691,13 @@ var useExamDetailView = function useExamDetailView(props) {
23685
23691
  categoryId: (_questions$find = questions.find(function (i) {
23686
23692
  return !!i.categoryId;
23687
23693
  })) === null || _questions$find === void 0 ? void 0 : _questions$find.categoryId,
23688
- answerCount: ((_$maxBy3 = _.maxBy(questions, "numberOfAnswers")) === null || _$maxBy3 === void 0 ? void 0 : _$maxBy3.numberOfAnswers) || DEFAULT_ANSWER_COUNT,
23694
+ answerCount: ((_$maxBy3 = _$5.maxBy(questions, "numberOfAnswers")) === null || _$maxBy3 === void 0 ? void 0 : _$maxBy3.numberOfAnswers) || DEFAULT_ANSWER_COUNT,
23689
23695
  questionCount: questions.length,
23690
23696
  questions: questions
23691
23697
  });
23692
23698
  }
23693
23699
  }
23694
- return _.sortBy(articles, "article");
23700
+ return _$5.sortBy(articles, "article");
23695
23701
  }, [JSON.stringify(exam)]);
23696
23702
  var durationOptions = useMemo(function () {
23697
23703
  var options = DURATION_OPTIONS.map(function (i) {
@@ -26105,11 +26111,11 @@ var useTextbookShare = function useTextbookShare(props) {
26105
26111
  });
26106
26112
  if (event.target.checked) {
26107
26113
  setSelectedShare(function (prev) {
26108
- return _.uniq([].concat(prev, newSelected));
26114
+ return _$5.uniq([].concat(prev, newSelected));
26109
26115
  });
26110
26116
  return;
26111
26117
  }
26112
- setSelectedShare(_.difference(selectedShare, newSelected));
26118
+ setSelectedShare(_$5.difference(selectedShare, newSelected));
26113
26119
  };
26114
26120
  var isCheckAllShare = function isCheckAllShare(userLength) {
26115
26121
  var newSelected = isUpdate ? shared.map(function (n) {
@@ -26117,7 +26123,7 @@ var useTextbookShare = function useTextbookShare(props) {
26117
26123
  }) : notShared.map(function (n) {
26118
26124
  return n.id;
26119
26125
  });
26120
- var checkLength = _.intersection(selectedShare, newSelected).length;
26126
+ var checkLength = _$5.intersection(selectedShare, newSelected).length;
26121
26127
  return checkLength === userLength;
26122
26128
  };
26123
26129
  var handleClickCheckboxShare = function handleClickCheckboxShare(id) {
@@ -26911,7 +26917,7 @@ var useNotificationList = function useNotificationList(_ref) {
26911
26917
  currentPage: 1
26912
26918
  }));
26913
26919
  };
26914
- var debounceSearch = _.debounce(function () {
26920
+ var debounceSearch = _$5.debounce(function () {
26915
26921
  setNotificationFilter(_extends({}, notificationFilter, {
26916
26922
  currentPage: 1
26917
26923
  }));
@@ -27329,7 +27335,7 @@ var HighSchoolGrade;
27329
27335
  HighSchoolGrade[HighSchoolGrade["Algebra"] = 3] = "Algebra";
27330
27336
  HighSchoolGrade[HighSchoolGrade["Calculus1"] = 4] = "Calculus1";
27331
27337
  HighSchoolGrade[HighSchoolGrade["Calculus2"] = 5] = "Calculus2";
27332
- HighSchoolGrade[HighSchoolGrade["FunWithMeasurement"] = 6] = "FunWithMeasurement";
27338
+ HighSchoolGrade[HighSchoolGrade["ProbabilityAndStatistics"] = 6] = "ProbabilityAndStatistics";
27333
27339
  HighSchoolGrade[HighSchoolGrade["Geometry"] = 7] = "Geometry";
27334
27340
  })(HighSchoolGrade || (HighSchoolGrade = {}));
27335
27341
 
@@ -27425,8 +27431,8 @@ var HIGH_GRADES = [{
27425
27431
  label: "calculus_2",
27426
27432
  value: HighSchoolGrade.Calculus2
27427
27433
  }, {
27428
- label: "fun_with_measurement",
27429
- value: HighSchoolGrade.FunWithMeasurement
27434
+ label: "probability_and_statistics",
27435
+ value: HighSchoolGrade.ProbabilityAndStatistics
27430
27436
  }, {
27431
27437
  label: "geometry",
27432
27438
  value: HighSchoolGrade.Geometry
@@ -28242,6 +28248,7 @@ var isEqual$1 = function isEqual(prev, next) {
28242
28248
  var QuestionBlock$1 = memo(QuestionBlock, isEqual$1);
28243
28249
 
28244
28250
  var _excluded$f = ["data", "path", "isMath", "open", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "categories", "questionTypes", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28251
+ var _ = _$5;
28245
28252
  var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
28246
28253
  var _data$articles$3, _data$articles$3$cate, _data$articles$4, _data$articles$4$cate;
28247
28254
  var data = _ref.data,
@@ -28363,6 +28370,7 @@ var isEqual$2 = function isEqual(prev, next) {
28363
28370
  var QuestionGroupBlockBody$1 = memo(QuestionGroupBlockBody, isEqual$2);
28364
28371
 
28365
28372
  var _excluded$g = ["expandedIndex", "open", "paths", "path", "isMath", "data", "categories", "isLoadingCategories", "isLoadingQuestionTypes", "questionTypes", "optionKey", "isDisabled", "onToggle", "onQuestionCountChange", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28373
+ var _$1 = _$5;
28366
28374
  var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28367
28375
  var _data$articles$2, _data$articles$2$cate, _data$articles$2$cate2, _data$articles$3, _data$articles$3$cate, _data$articles$3$cate2;
28368
28376
  var expandedIndex = _ref.expandedIndex,
@@ -28469,7 +28477,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28469
28477
  }).join(",") : ""].filter(function (i) {
28470
28478
  return !!i;
28471
28479
  }).join(" / ");
28472
- var blockErrors = _.get(errors, path);
28480
+ var blockErrors = _$1.get(errors, path);
28473
28481
  return React__default.createElement(Accordion, {
28474
28482
  expanded: open,
28475
28483
  onChange: handleToggle,
@@ -28866,6 +28874,7 @@ var ChapterBlockBody = function ChapterBlockBody(_ref) {
28866
28874
  };
28867
28875
 
28868
28876
  var _excluded$i = ["data", "expandedIndex", "open", "path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "categories", "questionTypes", "optionKey", "onToggle", "onDelete", "onCopiedPrevQuestionGroup", "onCloseCategoryMenu", "onOpenCategoryMenu", "onOpenSubCategoryMenu", "onOpenQuestionTypeMenu", "onCloseQuestionTypeMenu"];
28877
+ var _$2 = _$5;
28869
28878
  var ChapterBlock = function ChapterBlock(_ref) {
28870
28879
  var data = _ref.data,
28871
28880
  expandedIndex = _ref.expandedIndex,
@@ -28903,10 +28912,10 @@ var ChapterBlock = function ChapterBlock(_ref) {
28903
28912
  chapter: title
28904
28913
  }), title, path.replace(/\[(\d+)\]$/, ""), expandedIndex);
28905
28914
  };
28906
- var pageNameError = _.get(errors, path + ".name");
28907
- var pageFromError = _.get(errors, path + ".pageFrom");
28908
- var pageToError = _.get(errors, path + ".pageTo");
28909
- var blockErrors = _.get(errors, path);
28915
+ var pageNameError = _$2.get(errors, path + ".name");
28916
+ var pageFromError = _$2.get(errors, path + ".pageFrom");
28917
+ var pageToError = _$2.get(errors, path + ".pageTo");
28918
+ var blockErrors = _$2.get(errors, path);
28910
28919
  return React__default.createElement(Accordion, {
28911
28920
  expanded: open,
28912
28921
  onChange: handleToggle,
@@ -29235,7 +29244,7 @@ var useTextbookOptions = function useTextbookOptions(subjectId, isMath, filter,
29235
29244
  return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : (_state$common2$user = _state$common2.user) === null || _state$common2$user === void 0 ? void 0 : _state$common2$user.academyDomain;
29236
29245
  });
29237
29246
  var getOptionFilter = function getOptionFilter() {
29238
- var cloneFilter = _.clone(filter);
29247
+ var cloneFilter = _$5.clone(filter);
29239
29248
  for (var key in cloneFilter) {
29240
29249
  if (Object.prototype.hasOwnProperty.call(cloneFilter, key)) {
29241
29250
  var element = cloneFilter[key];
@@ -29383,6 +29392,7 @@ var useTextbookOptions = function useTextbookOptions(subjectId, isMath, filter,
29383
29392
  };
29384
29393
  };
29385
29394
 
29395
+ var _$3 = _$5;
29386
29396
  var TextbookContentsTab = function TextbookContentsTab(props) {
29387
29397
  var values = props.values,
29388
29398
  setFieldValue = props.setFieldValue;
@@ -29424,7 +29434,7 @@ var TextbookContentsTab = function TextbookContentsTab(props) {
29424
29434
  };
29425
29435
  var handleConfirmDeleteBlock = function handleConfirmDeleteBlock() {
29426
29436
  if (!(openConfirmDelete !== null && openConfirmDelete !== void 0 && openConfirmDelete.path)) return;
29427
- var items = _.get(values, openConfirmDelete.path, []);
29437
+ var items = _$3.get(values, openConfirmDelete.path, []);
29428
29438
  setFieldValue(openConfirmDelete.path, items.filter(function (_, i) {
29429
29439
  return i !== openConfirmDelete.itemIndex;
29430
29440
  }));
@@ -29464,12 +29474,12 @@ var TextbookContentsTab = function TextbookContentsTab(props) {
29464
29474
  if (!newParts.length) return;
29465
29475
  if (newParts.length < parts.length) {
29466
29476
  var _$get, _$get2, _$get3;
29467
- var subChapters = (_$get = _.get(values, newPath + ".subChapters")) != null ? _$get : [];
29477
+ var subChapters = (_$get = _$3.get(values, newPath + ".subChapters")) != null ? _$get : [];
29468
29478
  var questionGroups = [];
29469
- if (!subChapters.length) questionGroups = (_$get2 = _.get(values, newPath + ".questionGroups")) != null ? _$get2 : [];else questionGroups = (_$get3 = _.get(values, newPath + ".subChapters[" + (subChapters.length - 1) + "].questionGroups")) != null ? _$get3 : [];
29470
- return _.last(questionGroups);
29479
+ if (!subChapters.length) questionGroups = (_$get2 = _$3.get(values, newPath + ".questionGroups")) != null ? _$get2 : [];else questionGroups = (_$get3 = _$3.get(values, newPath + ".subChapters[" + (subChapters.length - 1) + "].questionGroups")) != null ? _$get3 : [];
29480
+ return _$3.last(questionGroups);
29471
29481
  }
29472
- return _.get(values, newPath);
29482
+ return _$3.get(values, newPath);
29473
29483
  };
29474
29484
  var handleOpenSubCategoryMenu = useCallback(function (key, categoryId) {
29475
29485
  setOptionKey(key);
@@ -29898,7 +29908,7 @@ var useSelect = function useSelect(_ref) {
29898
29908
  return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
29899
29909
  });
29900
29910
  var isSuperAdmin = !!user && !user.academyDomain;
29901
- var loadData = _.debounce(function (e) {
29911
+ var loadData = _$5.debounce(function (e) {
29902
29912
  try {
29903
29913
  var _temp2 = function _temp2() {
29904
29914
  setLoading(false);
@@ -30039,6 +30049,7 @@ var OwnerSelector = function OwnerSelector(_ref) {
30039
30049
  }, errors === null || errors === void 0 ? void 0 : errors.textbookOwners[index].courseId)));
30040
30050
  };
30041
30051
 
30052
+ var _$4 = _$5;
30042
30053
  var TextbookOwnersTab = function TextbookOwnersTab(_ref) {
30043
30054
  var errors = _ref.errors,
30044
30055
  values = _ref.values,
@@ -30059,7 +30070,7 @@ var TextbookOwnersTab = function TextbookOwnersTab(_ref) {
30059
30070
  container: true,
30060
30071
  spacing: "16px"
30061
30072
  }, textbookOwners === null || textbookOwners === void 0 ? void 0 : textbookOwners.map(function (_val, index) {
30062
- var _values$textbookOwner, _values$textbookOwner2, _values$textbookOwner3, _values$textbookOwner4, _values$textbookOwner5;
30073
+ var _values$textbookOwner, _values$textbookOwner2, _values$textbookOwner3;
30063
30074
  return React__default.createElement(Grid, {
30064
30075
  item: true,
30065
30076
  xs: 6,
@@ -30101,17 +30112,17 @@ var TextbookOwnersTab = function TextbookOwnersTab(_ref) {
30101
30112
  fullWidth: true
30102
30113
  }, field));
30103
30114
  }
30104
- }), _.get(errors, "textbookOwners[" + index + "].email") && React__default.createElement(Typography, {
30115
+ }), _$4.get(errors, "textbookOwners[" + index + "].email") && React__default.createElement(Typography, {
30105
30116
  fontWeight: 500,
30106
30117
  fontSize: "10px",
30107
30118
  lineHeight: "11.93px",
30108
- color: _.get(errors, "textbookOwners[" + index + "].email") ? "#97A1AF" : "#F34B4B"
30109
- }, _.get(errors, "textbookOwners[" + index + "].email"))), !!(values !== null && values !== void 0 && (_values$textbookOwner = values.textbookOwners) !== null && _values$textbookOwner !== void 0 && _values$textbookOwner[index].email) && React__default.createElement(OwnerSelector, {
30119
+ color: _$4.get(errors, "textbookOwners[" + index + "].email") ? "#97A1AF" : "#F34B4B"
30120
+ }, _$4.get(errors, "textbookOwners[" + index + "].email"))), !!(values !== null && values !== void 0 && (_values$textbookOwner = values.textbookOwners) !== null && _values$textbookOwner !== void 0 && _values$textbookOwner[index].email) && React__default.createElement(OwnerSelector, {
30121
+ values: values,
30110
30122
  errors: errors,
30111
30123
  index: index,
30112
30124
  onChangeFieldValue: setFieldValue,
30113
- academyId: values === null || values === void 0 ? void 0 : (_values$textbookOwner2 = values.textbookOwners) === null || _values$textbookOwner2 === void 0 ? void 0 : (_values$textbookOwner3 = _values$textbookOwner2[index]) === null || _values$textbookOwner3 === void 0 ? void 0 : _values$textbookOwner3.academyId,
30114
- email: values === null || values === void 0 ? void 0 : (_values$textbookOwner4 = values.textbookOwners) === null || _values$textbookOwner4 === void 0 ? void 0 : (_values$textbookOwner5 = _values$textbookOwner4[index]) === null || _values$textbookOwner5 === void 0 ? void 0 : _values$textbookOwner5.email
30125
+ academyId: values === null || values === void 0 ? void 0 : (_values$textbookOwner2 = values.textbookOwners) === null || _values$textbookOwner2 === void 0 ? void 0 : (_values$textbookOwner3 = _values$textbookOwner2[index]) === null || _values$textbookOwner3 === void 0 ? void 0 : _values$textbookOwner3.academyId
30115
30126
  })));
30116
30127
  }), React__default.createElement(Grid, {
30117
30128
  item: true,
@@ -30140,7 +30151,7 @@ var TextbookOwnersTab = function TextbookOwnersTab(_ref) {
30140
30151
  };
30141
30152
 
30142
30153
  var _reduceToMathArticles = function reduceToMathArticles(textbook, isMath) {
30143
- var values = isMath !== undefined ? _.cloneDeep(textbook) : textbook;
30154
+ var values = isMath !== undefined ? _$5.cloneDeep(textbook) : textbook;
30144
30155
  if (isMath !== undefined) values.type = isMath;
30145
30156
  for (var key in values) {
30146
30157
  if (values.hasOwnProperty(key)) {
@@ -30155,7 +30166,7 @@ var _reduceToMathArticles = function reduceToMathArticles(textbook, isMath) {
30155
30166
  return values;
30156
30167
  };
30157
30168
  var _resetAllCrategoriesAndQuestionTypesBySubject = function resetAllCrategoriesAndQuestionTypesBySubject(textbook, subject) {
30158
- var values = subject ? _.cloneDeep(textbook) : textbook;
30169
+ var values = subject ? _$5.cloneDeep(textbook) : textbook;
30159
30170
  if (subject) {
30160
30171
  values.subjectId = subject === null || subject === void 0 ? void 0 : subject.value;
30161
30172
  values.subject = subject;
@@ -30400,7 +30411,7 @@ var PreparedTextbookForm = function PreparedTextbookForm(_ref) {
30400
30411
  },
30401
30412
  variant: "contained",
30402
30413
  onClick: function onClick() {
30403
- if (!_.isEmpty(errors)) {
30414
+ if (!_$5.isEmpty(errors)) {
30404
30415
  toast.error(t$1("please_fill_in_the_blank_fields"));
30405
30416
  }
30406
30417
  },
@@ -31148,7 +31159,7 @@ var usePreparedExam = function usePreparedExam(_ref) {
31148
31159
  return Promise.reject(e);
31149
31160
  }
31150
31161
  };
31151
- var debounceSearch = _.debounce(function () {
31162
+ var debounceSearch = _$5.debounce(function () {
31152
31163
  setTextbookFilter(_extends({}, textbookFilter, {
31153
31164
  currentPage: 1
31154
31165
  }));
@@ -32853,7 +32864,7 @@ var PreparedItem = function PreparedItem(_ref) {
32853
32864
  });
32854
32865
  return React__default.createElement(Form, {
32855
32866
  style: {
32856
- height: !_.isEmpty(values) && !textbookList.length ? "100%" : "unset"
32867
+ height: !_$5.isEmpty(values) && !textbookList.length ? "100%" : "unset"
32857
32868
  }
32858
32869
  }, React__default.createElement(Stack, null, React__default.createElement(Accordion, {
32859
32870
  sx: {
@@ -33259,7 +33270,7 @@ var PreparedItem = function PreparedItem(_ref) {
33259
33270
  open: openConfirmDialog,
33260
33271
  onClose: handleCloseConfirmDialog,
33261
33272
  onSubmit: handleResetFilter
33262
- }), !_.isEmpty(values) && !textbookList.length && React__default.createElement(Stack, {
33273
+ }), !_$5.isEmpty(values) && !textbookList.length && React__default.createElement(Stack, {
33263
33274
  height: 1,
33264
33275
  justifyContent: "center",
33265
33276
  alignItems: "center"
@@ -34056,7 +34067,9 @@ var Header = function Header(_ref) {
34056
34067
  headerTabs = _ref.headerTabs,
34057
34068
  role = _ref.role,
34058
34069
  history = _ref.history,
34070
+ link = _ref.link,
34059
34071
  onSignOut = _ref.onSignOut;
34072
+ var Link = link;
34060
34073
  var _useTranslation = useTranslation(),
34061
34074
  t = _useTranslation.t;
34062
34075
  var theme = useTheme();