touchstudy-core 0.1.140 → 0.1.141

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 (74) 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/List/configs/interfaces.d.ts +1 -1
  16. package/dist/components/List/partials/VirtualListItem.d.ts +1 -1
  17. package/dist/components/Selectors/InActiveAcademySelector.d.ts +16 -0
  18. package/dist/components/Tables/VirtualTableRowItem.d.ts +6 -5
  19. package/dist/components/Tables/VirtualTableView.d.ts +1 -1
  20. package/dist/components/Tables/configs/interfaces.d.ts +11 -4
  21. package/dist/components/Tables/hooks/useVirtualTableView.d.ts +7 -0
  22. package/dist/containers/Academies/hooks/usePassCodeDialog.d.ts +10 -0
  23. package/dist/containers/ExamResult/components/MyAnswer/components/CreateNewQuestion.d.ts +15 -0
  24. package/dist/containers/Exams/configs/types.d.ts +22 -0
  25. package/dist/containers/Notes/components/NoteItem.d.ts +1 -0
  26. package/dist/containers/PreparedTextbook/apiClients/academyService.d.ts +1 -0
  27. package/dist/containers/PreparedTextbook/apiClients/textbookService.d.ts +1 -1
  28. package/dist/containers/PreparedTextbook/components/AcademySelector.d.ts +1 -0
  29. package/dist/containers/PreparedTextbook/components/Article.d.ts +2 -3
  30. package/dist/containers/PreparedTextbook/components/OwnerSelector.d.ts +2 -2
  31. package/dist/containers/PreparedTextbook/components/PreparedTextbookForm.d.ts +1 -0
  32. package/dist/containers/PreparedTextbook/components/TextbookOwners.d.ts +13 -0
  33. package/dist/containers/PreparedTextbook/configs/types.d.ts +1 -3
  34. package/dist/containers/PreparedTextbook/hooks/useSelect.d.ts +8 -10
  35. package/dist/containers/Users/components/Dialogs/DeleteUserCsvDialog.d.ts +10 -0
  36. package/dist/containers/Users/components/Dialogs/RecentUserActionDialog.d.ts +9 -0
  37. package/dist/containers/Users/components/Dialogs/UserDialog.d.ts +12 -0
  38. package/dist/index.css +9 -9
  39. package/dist/index.js +762 -451
  40. package/dist/index.js.map +1 -1
  41. package/dist/index.modern.js +764 -462
  42. package/dist/index.modern.js.map +1 -1
  43. package/dist/tests/performances/do-exam-session-list-student.d.ts +19 -0
  44. package/dist/tests/performances/do-exam-session-request-answer-one-time.d.ts +19 -0
  45. package/dist/tests/performances/do-exam-session-skip-answer.d.ts +19 -0
  46. package/dist/tests/performances/do-exam-session2.d.ts +19 -0
  47. package/dist/utils/canAccessRoute.d.ts +2 -0
  48. package/dist/utils/constants.d.ts +2 -10
  49. package/dist/utils/diffFromNow.d.ts +3 -0
  50. package/dist/utils/encodeParams.d.ts +2 -0
  51. package/dist/utils/formatTime.d.ts +4 -0
  52. package/dist/utils/getAcademyDomain.d.ts +2 -0
  53. package/dist/utils/getAccessToken.d.ts +2 -0
  54. package/dist/utils/getErrorMessage.d.ts +1 -0
  55. package/dist/utils/getLanguage.d.ts +2 -0
  56. package/dist/utils/getLearningSpace.d.ts +2 -0
  57. package/dist/utils/getRedirectUrl.d.ts +2 -0
  58. package/dist/utils/helpers.d.ts +22 -0
  59. package/dist/utils/index.d.ts +1 -0
  60. package/dist/utils/isLocalHost.d.ts +2 -0
  61. package/dist/utils/minutesToTimeSpan.d.ts +2 -0
  62. package/dist/utils/pusherTo.d.ts +1 -0
  63. package/dist/utils/times.d.ts +6 -0
  64. package/dist/utils/toISOString.d.ts +2 -0
  65. package/dist/utils/toLocalTime.d.ts +1 -0
  66. package/dist/utils/types/checkSuperUrl.d.ts +1 -0
  67. package/dist/utils/types.d.ts +9 -0
  68. package/dist/utils/utcToLocalTime.d.ts +2 -0
  69. package/package.json +102 -102
  70. package/dist/.DS_Store +0 -0
  71. package/dist/components/.DS_Store +0 -0
  72. package/dist/containers/.DS_Store +0 -0
  73. package/dist/redux/.DS_Store +0 -0
  74. package/dist/utils/.DS_Store +0 -0
package/dist/index.js CHANGED
@@ -25,8 +25,9 @@ var _$5 = _interopDefault(require('lodash'));
25
25
  var reactGoogleLogin = require('@leecheuk/react-google-login');
26
26
  require('moment/locale/ko.js');
27
27
  require('moment/locale/en-au.js');
28
- var formik = require('formik');
29
28
  var reactVirtualized = require('react-virtualized');
29
+ var formik = require('formik');
30
+ var styles$c = require('@mui/material/styles');
30
31
  var tinymce = _interopDefault(require('tinymce'));
31
32
  require('@wiris/mathtype-tinymce6');
32
33
  var tinymceReact = require('@tinymce/tinymce-react');
@@ -66,7 +67,6 @@ var reactHookForm = require('react-hook-form');
66
67
  var yup$1 = require('@hookform/resolvers/yup');
67
68
  var pi = require('react-icons/pi');
68
69
  var Container = _interopDefault(require('@mui/material/Container'));
69
- var styles$c = require('@mui/material/styles');
70
70
  var Slider = _interopDefault(require('react-slick'));
71
71
  var gr = require('react-icons/gr');
72
72
  var Popover = _interopDefault(require('@mui/material/Popover'));
@@ -821,7 +821,7 @@ var delete_users_csv = "사용자 CSV 삭제";
821
821
  var are_you_sure_to_delete_users = "사용자를 삭제하시겠습니까?";
822
822
  var enter_phone_number = "전화번호를 입력하세요";
823
823
  var enter_school_name = "학교 이름을 입력하세요";
824
- var enter_grade = "성적 입력 (먼저 학교 이름을 입력하세요)";
824
+ var enter_grade = "성적 입력";
825
825
  var enter_major_name = "부서명을 입력하세요";
826
826
  var enter_parent_name = "부모 이름을 입력하세요";
827
827
  var enter_parent_phone_number = "부모 전화번호를 입력하세요";
@@ -1423,18 +1423,39 @@ var current_correct_answer_entered = "현재 입력한 정답";
1423
1423
  var correct_answer_is_required = "정답은 필수입니다.";
1424
1424
  var cancel_2 = "취소하기";
1425
1425
  var article_required = "기사가 필요합니다";
1426
- var elementary_school_1st_grade = "초등학교 1학년";
1427
- var elementary_school_2nd_grade = "초등학교 2학년";
1428
- var elementary_school_3rd_grade = "초등학교 3학년";
1429
- var elementary_school_4th_grade = "초등학교 4학년";
1430
- var elementary_school_5th_grade = "초등학교 5학년";
1431
- var elementary_school_6th_grade = "초등학교 6학년";
1432
- var middle_school_1st_grade = "중학교 1학년";
1433
- var middle_school_2nd_grade = "중학교 2학년";
1434
- var middle_school_3rd_grade = "중학교 3학년";
1435
- var high_school_1st_grade = "고등학교 1학년";
1436
- var high_school_2nd_grade = "고등학교 2학년";
1437
- var high_school_3rd_grade = "고등학교 3학년";
1426
+ var elementary_school_1st_grade = "1";
1427
+ var elementary_school_2nd_grade = "2";
1428
+ var elementary_school_3rd_grade = "3";
1429
+ var elementary_school_4th_grade = "4";
1430
+ var elementary_school_5th_grade = "5";
1431
+ var elementary_school_6th_grade = "6";
1432
+ var middle_school_1st_grade = "1";
1433
+ var middle_school_2nd_grade = "2";
1434
+ var middle_school_3rd_grade = "3";
1435
+ var high_school_1st_grade = "1";
1436
+ var high_school_2nd_grade = "2";
1437
+ var high_school_3rd_grade = "3";
1438
+ var n_year_retaker = "N수생";
1439
+ var es_1st = "초1";
1440
+ var es_2nd = "초2";
1441
+ var es_3rd = "초3";
1442
+ var es_4th = "초4";
1443
+ var es_5th = "초5";
1444
+ var es_6th = "초6";
1445
+ var ms_1st = "중1";
1446
+ var ms_2nd = "중2";
1447
+ var ms_3rd = "중3";
1448
+ var hs_1st = "고1";
1449
+ var hs_2nd = "고2";
1450
+ var hs_3rd = "고3";
1451
+ var n_retaker = "N수생";
1452
+ var today_class = "오늘 수업";
1453
+ var unit_number = "대단원 {{number}}";
1454
+ var sub_unit_number = "소단원 {{number}}";
1455
+ var text_group_n = "지문 그룹 {{n}}";
1456
+ var text_detail_n = "지문 상세 {{n}}";
1457
+ var question_group_n = "문제 그룹 {{n}}";
1458
+ var placeholder_teacher_selector = "선생님을 검색하려면 최소 2글자를 입력하세요.";
1438
1459
  var lang_ko = {
1439
1460
  problem_solving: problem_solving,
1440
1461
  my_story: my_story,
@@ -2507,7 +2528,28 @@ var lang_ko = {
2507
2528
  middle_school_3rd_grade: middle_school_3rd_grade,
2508
2529
  high_school_1st_grade: high_school_1st_grade,
2509
2530
  high_school_2nd_grade: high_school_2nd_grade,
2510
- high_school_3rd_grade: high_school_3rd_grade
2531
+ high_school_3rd_grade: high_school_3rd_grade,
2532
+ n_year_retaker: n_year_retaker,
2533
+ es_1st: es_1st,
2534
+ es_2nd: es_2nd,
2535
+ es_3rd: es_3rd,
2536
+ es_4th: es_4th,
2537
+ es_5th: es_5th,
2538
+ es_6th: es_6th,
2539
+ ms_1st: ms_1st,
2540
+ ms_2nd: ms_2nd,
2541
+ ms_3rd: ms_3rd,
2542
+ hs_1st: hs_1st,
2543
+ hs_2nd: hs_2nd,
2544
+ hs_3rd: hs_3rd,
2545
+ n_retaker: n_retaker,
2546
+ today_class: today_class,
2547
+ unit_number: unit_number,
2548
+ sub_unit_number: sub_unit_number,
2549
+ text_group_n: text_group_n,
2550
+ text_detail_n: text_detail_n,
2551
+ question_group_n: question_group_n,
2552
+ placeholder_teacher_selector: placeholder_teacher_selector
2511
2553
  };
2512
2554
 
2513
2555
  var problem_solving$1 = "Problem Solving";
@@ -3011,7 +3053,7 @@ var delete_users_csv$1 = "Delete users csv";
3011
3053
  var are_you_sure_to_delete_users$1 = "Are you sure to delete users?";
3012
3054
  var enter_phone_number$1 = "Enter phone number";
3013
3055
  var enter_school_name$1 = "Enter school name";
3014
- var enter_grade$1 = "Enter grade (please enter school name first)";
3056
+ var enter_grade$1 = "Enter grade";
3015
3057
  var enter_major_name$1 = "Enter department name";
3016
3058
  var enter_parent_name$1 = "Enter parent name";
3017
3059
  var enter_parent_phone_number$1 = "Enter parent phone number";
@@ -3603,6 +3645,27 @@ var middle_school_3rd_grade$1 = "Middle school 3rd grade";
3603
3645
  var high_school_1st_grade$1 = "High school 1st grade";
3604
3646
  var high_school_2nd_grade$1 = "High school 2nd grade";
3605
3647
  var high_school_3rd_grade$1 = "High school 3rd grade";
3648
+ var n_year_retaker$1 = "N-year retaker";
3649
+ var es_1st$1 = "1st ES";
3650
+ var es_2nd$1 = "2nd ES";
3651
+ var es_3rd$1 = "3rd ES";
3652
+ var es_4th$1 = "4th ES";
3653
+ var es_5th$1 = "5th ES";
3654
+ var es_6th$1 = "6th ES";
3655
+ var ms_1st$1 = "1st MS";
3656
+ var ms_2nd$1 = "2nd MS";
3657
+ var ms_3rd$1 = "3rd MS";
3658
+ var hs_1st$1 = "1st HS";
3659
+ var hs_2nd$1 = "2nd HS";
3660
+ var hs_3rd$1 = "3rd HS";
3661
+ var n_retaker$1 = "N-retaker";
3662
+ var today_class$1 = "Today's class";
3663
+ var unit_number$1 = "Unit {{number}}";
3664
+ var sub_unit_number$1 = "Sub-unit {{number}}";
3665
+ var text_group_n$1 = "Text group {{n}}";
3666
+ var text_detail_n$1 = "Text details {{n}}";
3667
+ var question_group_n$1 = "Question group {{n}}";
3668
+ var placeholder_teacher_selector$1 = "Type at least 2 characters to search teacher";
3606
3669
  var lang_en = {
3607
3670
  problem_solving: problem_solving$1,
3608
3671
  my_story: my_story$1,
@@ -4677,7 +4740,28 @@ var lang_en = {
4677
4740
  middle_school_3rd_grade: middle_school_3rd_grade$1,
4678
4741
  high_school_1st_grade: high_school_1st_grade$1,
4679
4742
  high_school_2nd_grade: high_school_2nd_grade$1,
4680
- high_school_3rd_grade: high_school_3rd_grade$1
4743
+ high_school_3rd_grade: high_school_3rd_grade$1,
4744
+ n_year_retaker: n_year_retaker$1,
4745
+ es_1st: es_1st$1,
4746
+ es_2nd: es_2nd$1,
4747
+ es_3rd: es_3rd$1,
4748
+ es_4th: es_4th$1,
4749
+ es_5th: es_5th$1,
4750
+ es_6th: es_6th$1,
4751
+ ms_1st: ms_1st$1,
4752
+ ms_2nd: ms_2nd$1,
4753
+ ms_3rd: ms_3rd$1,
4754
+ hs_1st: hs_1st$1,
4755
+ hs_2nd: hs_2nd$1,
4756
+ hs_3rd: hs_3rd$1,
4757
+ n_retaker: n_retaker$1,
4758
+ today_class: today_class$1,
4759
+ unit_number: unit_number$1,
4760
+ sub_unit_number: sub_unit_number$1,
4761
+ text_group_n: text_group_n$1,
4762
+ text_detail_n: text_detail_n$1,
4763
+ question_group_n: question_group_n$1,
4764
+ placeholder_teacher_selector: placeholder_teacher_selector$1
4681
4765
  };
4682
4766
 
4683
4767
  i18n__default.use(reactI18next.initReactI18next).init({
@@ -4704,63 +4788,6 @@ var PrintState;
4704
4788
  PrintState[PrintState["Paused"] = 3] = "Paused";
4705
4789
  })(PrintState || (PrintState = {}));
4706
4790
 
4707
- (function (PreparedType) {
4708
- PreparedType[PreparedType["csat_past_questions"] = 1] = "csat_past_questions";
4709
- PreparedType[PreparedType["official_mock_exam"] = 2] = "official_mock_exam";
4710
- PreparedType[PreparedType["private_mock_exam"] = 3] = "private_mock_exam";
4711
- })(exports.PreparedType || (exports.PreparedType = {}));
4712
-
4713
- (function (ExamEvent) {
4714
- ExamEvent["StartExam"] = "start-exam";
4715
- ExamEvent["TerminateExam"] = "terminate-exam";
4716
- ExamEvent["AddExtraDuration"] = "add-extra-duration-exam";
4717
- ExamEvent["TeacherKickOutStudent"] = "teacher-kick-out-student";
4718
- })(exports.ExamEvent || (exports.ExamEvent = {}));
4719
-
4720
- (function (ExamStatus) {
4721
- ExamStatus[ExamStatus["Default"] = 0] = "Default";
4722
- ExamStatus[ExamStatus["Pending"] = 1] = "Pending";
4723
- ExamStatus[ExamStatus["InProgress"] = 2] = "InProgress";
4724
- ExamStatus[ExamStatus["Completed"] = 3] = "Completed";
4725
- })(exports.ExamStatus || (exports.ExamStatus = {}));
4726
- (function (QuestionAnswerType) {
4727
- QuestionAnswerType[QuestionAnswerType["SingleChoice"] = 0] = "SingleChoice";
4728
- QuestionAnswerType[QuestionAnswerType["MultipleChoice"] = 1] = "MultipleChoice";
4729
- QuestionAnswerType[QuestionAnswerType["ShortAnswer"] = 2] = "ShortAnswer";
4730
- })(exports.QuestionAnswerType || (exports.QuestionAnswerType = {}));
4731
-
4732
- (function (OrderType) {
4733
- OrderType["ASC"] = "ASC";
4734
- OrderType["DESC"] = "DESC";
4735
- })(exports.OrderType || (exports.OrderType = {}));
4736
-
4737
- (function (RecentUserAction) {
4738
- RecentUserAction["ViewedUser"] = "ViewedUser";
4739
- RecentUserAction["ViewedQNA"] = "ViewedQNA";
4740
- RecentUserAction["ViewedExamResult"] = "ViewedExamResult";
4741
- RecentUserAction["PrintedExamResult"] = "PrintedExamResult";
4742
- RecentUserAction["ViewedAttendance"] = "ViewedAttendance";
4743
- })(exports.RecentUserAction || (exports.RecentUserAction = {}));
4744
-
4745
- (function (UserSortColumn) {
4746
- UserSortColumn["CreatedAt"] = "CreatedAt";
4747
- UserSortColumn["FullName"] = "FullName";
4748
- UserSortColumn["PhoneNumber"] = "PhoneNumber";
4749
- UserSortColumn["Email"] = "Email";
4750
- UserSortColumn["SchoolName"] = "SchoolName";
4751
- UserSortColumn["Major"] = "Major";
4752
- UserSortColumn["ParentName"] = "ParentName";
4753
- UserSortColumn["ParentPhoneNumber"] = "ParentPhoneNumber";
4754
- UserSortColumn["Grade"] = "Grade";
4755
- })(exports.UserSortColumn || (exports.UserSortColumn = {}));
4756
-
4757
- (function (SchoolType) {
4758
- SchoolType[SchoolType["Default"] = 0] = "Default";
4759
- SchoolType[SchoolType["Elementary"] = 1] = "Elementary";
4760
- SchoolType[SchoolType["Middle"] = 2] = "Middle";
4761
- SchoolType[SchoolType["High"] = 3] = "High";
4762
- })(exports.SchoolType || (exports.SchoolType = {}));
4763
-
4764
4791
  var GOOGLE_RECAPTCHA_KEY = process.env.REACT_APP_GOOGLE_RECAPTCHA_KEY || "";
4765
4792
  var GOOGLE_CLIENT_ID = process.env.REACT_APP_GOOGLE_CLIENT_ID || "";
4766
4793
  var GOOGLE_RECAPTCHA_ID = process.env.REACT_APP_GOOGLE_RECAPTCHA_ID || "";
@@ -4829,17 +4856,7 @@ var DEFAULT_PAGING_RESPONSE = {
4829
4856
  totalItems: 0,
4830
4857
  totalPages: 0
4831
4858
  };
4832
- var SCHOOL_OPTIONS = [{
4833
- label: "elementary_school",
4834
- value: exports.SchoolType.Elementary
4835
- }, {
4836
- label: "middle_school",
4837
- value: exports.SchoolType.Middle
4838
- }, {
4839
- label: "high_school",
4840
- value: exports.SchoolType.High
4841
- }];
4842
- var ELEMENTARY_GRADES = [{
4859
+ var GRADE_OPTIONS = [{
4843
4860
  label: "elementary_school_1st_grade",
4844
4861
  value: 1
4845
4862
  }, {
@@ -4857,26 +4874,67 @@ var ELEMENTARY_GRADES = [{
4857
4874
  }, {
4858
4875
  label: "elementary_school_6th_grade",
4859
4876
  value: 6
4860
- }];
4861
- var MIDDLE_GRADES = [{
4877
+ }, {
4862
4878
  label: "middle_school_1st_grade",
4863
- value: 1
4879
+ value: 7
4864
4880
  }, {
4865
4881
  label: "middle_school_2nd_grade",
4866
- value: 2
4882
+ value: 8
4867
4883
  }, {
4868
4884
  label: "middle_school_3rd_grade",
4869
- value: 3
4870
- }];
4871
- var HIGH_GRADES = [{
4885
+ value: 9
4886
+ }, {
4872
4887
  label: "high_school_1st_grade",
4873
- value: 1
4888
+ value: 10
4874
4889
  }, {
4875
4890
  label: "high_school_2nd_grade",
4876
- value: 2
4891
+ value: 11
4877
4892
  }, {
4878
4893
  label: "high_school_3rd_grade",
4894
+ value: 12
4895
+ }, {
4896
+ label: "n_year_retaker",
4897
+ value: 13
4898
+ }];
4899
+ var BRIEF_GRADE_OPTIONS = [{
4900
+ label: "es_1st",
4901
+ value: 1
4902
+ }, {
4903
+ label: "es_2nd",
4904
+ value: 2
4905
+ }, {
4906
+ label: "es_3rd",
4879
4907
  value: 3
4908
+ }, {
4909
+ label: "es_4th",
4910
+ value: 4
4911
+ }, {
4912
+ label: "es_5th",
4913
+ value: 5
4914
+ }, {
4915
+ label: "es_6th",
4916
+ value: 6
4917
+ }, {
4918
+ label: "ms_1st",
4919
+ value: 7
4920
+ }, {
4921
+ label: "ms_2nd",
4922
+ value: 8
4923
+ }, {
4924
+ label: "ms_3rd",
4925
+ value: 9
4926
+ }, {
4927
+ label: "hs_1st",
4928
+ value: 10
4929
+ }, {
4930
+ label: "hs_2nd",
4931
+ value: 11
4932
+ }, {
4933
+ label: "hs_3rd",
4934
+ value: 12
4935
+ }, {
4936
+ label: "n_retaker",
4937
+ value: 13
4880
4938
  }];
4881
4939
 
4882
4940
  var utcToLocalTime = (function (time, FORMAT) {
@@ -6022,6 +6080,63 @@ function _finally(body, finalizer) {
6022
6080
  return finalizer();
6023
6081
  }
6024
6082
 
6083
+ (function (PreparedType) {
6084
+ PreparedType[PreparedType["csat_past_questions"] = 1] = "csat_past_questions";
6085
+ PreparedType[PreparedType["official_mock_exam"] = 2] = "official_mock_exam";
6086
+ PreparedType[PreparedType["private_mock_exam"] = 3] = "private_mock_exam";
6087
+ })(exports.PreparedType || (exports.PreparedType = {}));
6088
+
6089
+ (function (ExamEvent) {
6090
+ ExamEvent["StartExam"] = "start-exam";
6091
+ ExamEvent["TerminateExam"] = "terminate-exam";
6092
+ ExamEvent["AddExtraDuration"] = "add-extra-duration-exam";
6093
+ ExamEvent["TeacherKickOutStudent"] = "teacher-kick-out-student";
6094
+ })(exports.ExamEvent || (exports.ExamEvent = {}));
6095
+
6096
+ (function (ExamStatus) {
6097
+ ExamStatus[ExamStatus["Default"] = 0] = "Default";
6098
+ ExamStatus[ExamStatus["Pending"] = 1] = "Pending";
6099
+ ExamStatus[ExamStatus["InProgress"] = 2] = "InProgress";
6100
+ ExamStatus[ExamStatus["Completed"] = 3] = "Completed";
6101
+ })(exports.ExamStatus || (exports.ExamStatus = {}));
6102
+ (function (QuestionAnswerType) {
6103
+ QuestionAnswerType[QuestionAnswerType["SingleChoice"] = 0] = "SingleChoice";
6104
+ QuestionAnswerType[QuestionAnswerType["MultipleChoice"] = 1] = "MultipleChoice";
6105
+ QuestionAnswerType[QuestionAnswerType["ShortAnswer"] = 2] = "ShortAnswer";
6106
+ })(exports.QuestionAnswerType || (exports.QuestionAnswerType = {}));
6107
+
6108
+ (function (OrderType) {
6109
+ OrderType["ASC"] = "ASC";
6110
+ OrderType["DESC"] = "DESC";
6111
+ })(exports.OrderType || (exports.OrderType = {}));
6112
+
6113
+ (function (RecentUserAction) {
6114
+ RecentUserAction["ViewedUser"] = "ViewedUser";
6115
+ RecentUserAction["ViewedQNA"] = "ViewedQNA";
6116
+ RecentUserAction["ViewedExamResult"] = "ViewedExamResult";
6117
+ RecentUserAction["PrintedExamResult"] = "PrintedExamResult";
6118
+ RecentUserAction["ViewedAttendance"] = "ViewedAttendance";
6119
+ })(exports.RecentUserAction || (exports.RecentUserAction = {}));
6120
+
6121
+ (function (UserSortColumn) {
6122
+ UserSortColumn["CreatedAt"] = "CreatedAt";
6123
+ UserSortColumn["FullName"] = "FullName";
6124
+ UserSortColumn["PhoneNumber"] = "PhoneNumber";
6125
+ UserSortColumn["Email"] = "Email";
6126
+ UserSortColumn["SchoolName"] = "SchoolName";
6127
+ UserSortColumn["Major"] = "Major";
6128
+ UserSortColumn["ParentName"] = "ParentName";
6129
+ UserSortColumn["ParentPhoneNumber"] = "ParentPhoneNumber";
6130
+ UserSortColumn["Grade"] = "Grade";
6131
+ })(exports.UserSortColumn || (exports.UserSortColumn = {}));
6132
+
6133
+ (function (SchoolType) {
6134
+ SchoolType[SchoolType["Default"] = 0] = "Default";
6135
+ SchoolType[SchoolType["Elementary"] = 1] = "Elementary";
6136
+ SchoolType[SchoolType["Middle"] = 2] = "Middle";
6137
+ SchoolType[SchoolType["High"] = 3] = "High";
6138
+ })(exports.SchoolType || (exports.SchoolType = {}));
6139
+
6025
6140
  var canAccess = function canAccess(userRoles, componentRoles) {
6026
6141
  if (!Array.isArray(userRoles)) {
6027
6142
  return false;
@@ -9483,7 +9598,198 @@ var ListView = function ListView(_ref) {
9483
9598
  }));
9484
9599
  };
9485
9600
 
9486
- var VirtualTableEmpty = function VirtualTableEmpty(_ref) {
9601
+ var useVirtualListView = function useVirtualListView(props) {
9602
+ var data = props.data,
9603
+ loading = props.loading,
9604
+ onLoadMore = props.onLoadMore;
9605
+ var handleLoadMore = function handleLoadMore() {
9606
+ if (loading) return;
9607
+ onLoadMore === null || onLoadMore === void 0 ? void 0 : onLoadMore();
9608
+ };
9609
+ var onScroll = function onScroll(_ref) {
9610
+ var scrollTop = _ref.scrollTop,
9611
+ clientHeight = _ref.clientHeight,
9612
+ scrollHeight = _ref.scrollHeight;
9613
+ if (scrollTop + clientHeight >= scrollHeight - 100) {
9614
+ handleLoadMore();
9615
+ }
9616
+ };
9617
+ var rowCount = data.length + (loading ? 1 : 0);
9618
+ return {
9619
+ rowCount: rowCount,
9620
+ onScroll: onScroll
9621
+ };
9622
+ };
9623
+
9624
+ var cellMeasurerCache = new reactVirtualized.CellMeasurerCache({
9625
+ fixedWidth: true,
9626
+ defaultHeight: 50
9627
+ });
9628
+
9629
+ var grey = {
9630
+ 0: '#FFFFFF',
9631
+ 50: "#FBFBF9",
9632
+ 100: '#EAEAE5',
9633
+ 200: '#F4F6F8',
9634
+ 300: '#D0D0C8',
9635
+ 400: '#C4CDD5',
9636
+ 500: '#9A9A98',
9637
+ 600: '#637381',
9638
+ 700: '#5D5D5B',
9639
+ 800: '#212B36',
9640
+ 900: '#363634'
9641
+ };
9642
+ var green = {
9643
+ 0: '#FFFFFF',
9644
+ 100: '#F0FFF6',
9645
+ 300: '#89F0B2',
9646
+ 500: '#3DC674',
9647
+ 700: '#349056',
9648
+ 900: '#18442A'
9649
+ };
9650
+ var main_theme = {
9651
+ lighter: green[100],
9652
+ light: green[300],
9653
+ less_dark: green[500],
9654
+ dark: green[700],
9655
+ darker: green[900]
9656
+ };
9657
+ var primary = {
9658
+ lighter: '#D0ECFE',
9659
+ light: '#73BAFB',
9660
+ main: '#1877F2',
9661
+ dark: '#0C44AE',
9662
+ darker: '#042174',
9663
+ contrastText: '#FFFFFF'
9664
+ };
9665
+ var secondary = {
9666
+ lighter: '#EFD6FF',
9667
+ light: '#C684FF',
9668
+ main: '#8E33FF',
9669
+ dark: '#5119B7',
9670
+ darker: '#27097A',
9671
+ contrastText: '#FFFFFF'
9672
+ };
9673
+ var info = {
9674
+ lighter: '#CAFDF5',
9675
+ light: '#61F3F3',
9676
+ main: '#00B8D9',
9677
+ dark: '#006C9C',
9678
+ darker: '#003768',
9679
+ contrastText: '#FFFFFF'
9680
+ };
9681
+ var success = {
9682
+ lighter: '#C8FAD6',
9683
+ light: '#5BE49B',
9684
+ main: '#00A76F',
9685
+ dark: '#007867',
9686
+ darker: '#004B50',
9687
+ contrastText: '#FFFFFF'
9688
+ };
9689
+ var warning$1 = {
9690
+ lighter: '#FFF5CC',
9691
+ light: '#FFD666',
9692
+ main: '#FFAB00',
9693
+ dark: '#B76E00',
9694
+ darker: '#7A4100',
9695
+ contrastText: grey[800]
9696
+ };
9697
+ var error = {
9698
+ lighter: '#FFE9D5',
9699
+ light: '#FFAC82',
9700
+ main: '#FF5630',
9701
+ dark: '#B71D18',
9702
+ darker: '#7A0916',
9703
+ contrastText: '#FFFFFF'
9704
+ };
9705
+ var red = {
9706
+ 100: '#FEF8F8',
9707
+ 300: '#FEF8F8',
9708
+ 500: '#F4CACA',
9709
+ 900: '#DB4D4D'
9710
+ };
9711
+ var yellow = {
9712
+ 900: '#FEAF06'
9713
+ };
9714
+ var green_support = {
9715
+ 100: '#F6FDF7',
9716
+ 500: '#AEEAB3',
9717
+ 900: '#3ACB46'
9718
+ };
9719
+ var purple = {
9720
+ 900: '#C3099A'
9721
+ };
9722
+ var dark_purple = {
9723
+ 900: '#6B0861'
9724
+ };
9725
+ var dark_red = {
9726
+ 900: '#800202'
9727
+ };
9728
+ var common = {
9729
+ black: '#000000',
9730
+ white: '#FFFFFF'
9731
+ };
9732
+ var action$2 = {
9733
+ hover: styles$c.alpha(grey[500], 0.08),
9734
+ selected: styles$c.alpha(grey[500], 0.16),
9735
+ disabled: styles$c.alpha(grey[500], 0.8),
9736
+ disabledBackground: styles$c.alpha(grey[500], 0.24),
9737
+ focus: styles$c.alpha(grey[500], 0.24),
9738
+ hoverOpacity: 0.08,
9739
+ disabledOpacity: 0.48
9740
+ };
9741
+ var base = {
9742
+ primary: primary,
9743
+ secondary: secondary,
9744
+ info: info,
9745
+ main_theme: main_theme,
9746
+ success: success,
9747
+ warning: warning$1,
9748
+ error: error,
9749
+ grey: grey,
9750
+ common: common,
9751
+ red: red,
9752
+ yellow: yellow,
9753
+ green_support: green_support,
9754
+ purple: purple,
9755
+ dark_purple: dark_purple,
9756
+ dark_red: dark_red,
9757
+ divider: styles$c.alpha(grey[500], 0.2),
9758
+ action: action$2
9759
+ };
9760
+
9761
+ var VirtualListItem = function VirtualListItem(_ref) {
9762
+ var isLoading = _ref.isLoading,
9763
+ rowData = _ref.rowData,
9764
+ style = _ref.style,
9765
+ parent = _ref.parent,
9766
+ index = _ref.index,
9767
+ renderItem = _ref.renderItem,
9768
+ loadingElement = _ref.loadingElement;
9769
+ return React__default.createElement(reactVirtualized.CellMeasurer, {
9770
+ cache: cellMeasurerCache,
9771
+ columnIndex: 0,
9772
+ rowIndex: index,
9773
+ key: rowData === null || rowData === void 0 ? void 0 : rowData.id,
9774
+ parent: parent
9775
+ }, function (_ref2) {
9776
+ var measure = _ref2.measure;
9777
+ return React__default.createElement("div", {
9778
+ key: rowData === null || rowData === void 0 ? void 0 : rowData.id,
9779
+ style: style
9780
+ }, isLoading && !!loadingElement && loadingElement, isLoading && !loadingElement && React__default.createElement(material.Box, {
9781
+ p: 1,
9782
+ className: "d-flex justify-content-center align-items-center w-100"
9783
+ }, React__default.createElement(material.CircularProgress, {
9784
+ size: 24,
9785
+ sx: {
9786
+ color: grey[700]
9787
+ }
9788
+ })), !isLoading && renderItem(rowData, index, measure));
9789
+ });
9790
+ };
9791
+
9792
+ var VirtualEmptyItem = function VirtualEmptyItem(_ref) {
9487
9793
  var emptyElement = _ref.emptyElement;
9488
9794
  var _useTranslation = reactI18next.useTranslation(),
9489
9795
  t = _useTranslation.t;
@@ -9496,70 +9802,195 @@ var VirtualTableEmpty = function VirtualTableEmpty(_ref) {
9496
9802
  var VirtualListView = function VirtualListView(props) {
9497
9803
  var data = props.data,
9498
9804
  containerProps = props.containerProps,
9805
+ listHeight = props.listHeight,
9806
+ _props$overscanRowCou = props.overscanRowCount,
9807
+ overscanRowCount = _props$overscanRowCou === void 0 ? 5 : _props$overscanRowCou,
9499
9808
  renderItem = props.renderItem,
9500
9809
  emptyElement = props.emptyElement,
9501
- loading = props.loading,
9502
- loadingElement = props.loadingElement,
9503
- listHeight = props.listHeight;
9810
+ loadingElement = props.loadingElement;
9811
+ var _useVirtualListView = useVirtualListView(props),
9812
+ rowCount = _useVirtualListView.rowCount,
9813
+ onScroll = _useVirtualListView.onScroll;
9814
+ var rowRenderer = function rowRenderer(props) {
9815
+ var index = props.index;
9816
+ var isLoading = index === data.length;
9817
+ var rowData = isLoading ? undefined : data[index];
9818
+ return React__default.createElement(VirtualListItem, Object.assign({}, props, {
9819
+ rowData: rowData,
9820
+ isLoading: isLoading,
9821
+ renderItem: renderItem,
9822
+ loadingElement: loadingElement
9823
+ }));
9824
+ };
9825
+ var noRowsRenderer = function noRowsRenderer() {
9826
+ return React__default.createElement(VirtualEmptyItem, {
9827
+ emptyElement: emptyElement
9828
+ });
9829
+ };
9504
9830
  return React__default.createElement(material.Box, Object.assign({}, containerProps), React__default.createElement(reactVirtualized.AutoSizer, {
9505
9831
  disableHeight: !!listHeight
9506
9832
  }, function (_ref) {
9507
9833
  var width = _ref.width,
9508
9834
  height = _ref.height;
9509
- return React__default.createElement(material.Box, {
9835
+ return React__default.createElement(reactVirtualized.List, {
9510
9836
  width: width,
9511
- height: height,
9512
- overflow: "auto"
9513
- }, loading && React__default.createElement(React.Fragment, null, loadingElement != null ? loadingElement : React__default.createElement(material.Box, {
9837
+ height: listHeight || height,
9838
+ rowCount: rowCount,
9839
+ rowHeight: cellMeasurerCache.rowHeight,
9840
+ rowRenderer: rowRenderer,
9841
+ deferredMeasurementCache: cellMeasurerCache,
9842
+ overscanRowCount: overscanRowCount,
9843
+ noRowsRenderer: noRowsRenderer,
9844
+ onScroll: onScroll
9845
+ });
9846
+ }));
9847
+ };
9848
+
9849
+ var cellMeasurerCache$1 = new reactVirtualized.CellMeasurerCache({
9850
+ defaultWidth: 100,
9851
+ defaultHeight: 50
9852
+ });
9853
+
9854
+ var VirtualTableRowItem = function VirtualTableRowItem(_ref) {
9855
+ var isLoading = _ref.isLoading,
9856
+ style = _ref.style,
9857
+ parent = _ref.parent,
9858
+ rowIndex = _ref.rowIndex,
9859
+ columnIndex = _ref.columnIndex,
9860
+ renderItem = _ref.renderItem,
9861
+ loadingElement = _ref.loadingElement,
9862
+ cellMeasurerCache = _ref.cellMeasurerCache;
9863
+ return React__default.createElement(reactVirtualized.CellMeasurer, {
9864
+ cache: cellMeasurerCache,
9865
+ columnIndex: columnIndex,
9866
+ rowIndex: rowIndex,
9867
+ key: rowIndex + "-" + columnIndex,
9868
+ parent: parent
9869
+ }, function (_ref2) {
9870
+ var measure = _ref2.measure;
9871
+ return React__default.createElement("div", {
9872
+ style: style
9873
+ }, isLoading && !!loadingElement && loadingElement, isLoading && !loadingElement && React__default.createElement(material.Box, {
9514
9874
  p: 1,
9515
9875
  className: "d-flex justify-content-center align-items-center w-100"
9516
9876
  }, React__default.createElement(material.CircularProgress, {
9517
9877
  size: 24,
9518
9878
  sx: {
9519
- color: "#5d5d5b"
9879
+ color: grey[700]
9520
9880
  }
9521
- }))), !loading && !data.length && React__default.createElement(VirtualTableEmpty, {
9522
- emptyElement: emptyElement
9523
- }), !loading && !!data.length && React__default.createElement(ListView, {
9524
- data: data,
9525
- render: renderItem
9526
- }));
9527
- }));
9881
+ })), !isLoading && renderItem(rowIndex, columnIndex, measure));
9882
+ });
9883
+ };
9884
+ var VirtualTableRowItem$1 = React.memo(VirtualTableRowItem);
9885
+
9886
+ var VirtualTableEmpty = function VirtualTableEmpty(_ref) {
9887
+ var emptyElement = _ref.emptyElement;
9888
+ var _useTranslation = reactI18next.useTranslation(),
9889
+ t = _useTranslation.t;
9890
+ if (emptyElement) return emptyElement;
9891
+ return React__default.createElement(material.Box, null, React__default.createElement(material.Typography, {
9892
+ className: "text-center text-muted"
9893
+ }, t("no_data")));
9894
+ };
9895
+
9896
+ var useVirtualTableView = function useVirtualTableView(props) {
9897
+ var itemsCount = props.itemsCount,
9898
+ loading = props.loading,
9899
+ hasHeader = props.hasHeader,
9900
+ onLoadMore = props.onLoadMore;
9901
+ var handleLoadMore = function handleLoadMore() {
9902
+ if (loading) return;
9903
+ onLoadMore === null || onLoadMore === void 0 ? void 0 : onLoadMore();
9904
+ };
9905
+ var onScroll = function onScroll(_ref) {
9906
+ var scrollTop = _ref.scrollTop,
9907
+ clientHeight = _ref.clientHeight,
9908
+ scrollHeight = _ref.scrollHeight;
9909
+ if (scrollTop + clientHeight >= scrollHeight - 100) {
9910
+ handleLoadMore();
9911
+ }
9912
+ };
9913
+ var rowCount = React.useMemo(function () {
9914
+ return itemsCount + (loading ? 1 : itemsCount === 1 && hasHeader ? 1 : 0);
9915
+ }, [itemsCount, loading, hasHeader]);
9916
+ return {
9917
+ rowCount: rowCount,
9918
+ onScroll: onScroll
9919
+ };
9528
9920
  };
9529
9921
 
9922
+ var _excluded$5 = ["containerProps", "listHeight", "overscanRowCount", "overscanColumnCount", "renderItem", "emptyElement", "loadingElement", "fixedColumnCount", "fixedRowCount", "listWidth", "itemsCount", "cellCache", "columnWidth", "containerRef", "multiGridRef"];
9530
9923
  var VirtualTableView = function VirtualTableView(props) {
9531
- var data = props.data,
9532
- containerProps = props.containerProps,
9924
+ var containerProps = props.containerProps,
9925
+ listHeight = props.listHeight,
9926
+ _props$overscanRowCou = props.overscanRowCount,
9927
+ overscanRowCount = _props$overscanRowCou === void 0 ? 5 : _props$overscanRowCou,
9928
+ _props$overscanColumn = props.overscanColumnCount,
9929
+ overscanColumnCount = _props$overscanColumn === void 0 ? 5 : _props$overscanColumn,
9533
9930
  renderItem = props.renderItem,
9534
9931
  emptyElement = props.emptyElement,
9535
- columnCount = props.columnCount,
9536
- loading = props.loading,
9537
- loadingElement = props.loadingElement;
9538
- var containerRef = React.useRef(null);
9539
- var renderTableRow = function renderTableRow(_, index) {
9540
- return React__default.createElement(material.Stack, {
9541
- direction: "row"
9542
- }, Array.from({
9543
- length: columnCount
9544
- }, function (_, colIndex) {
9545
- return renderItem(index, colIndex);
9932
+ loadingElement = props.loadingElement,
9933
+ fixedColumnCount = props.fixedColumnCount,
9934
+ fixedRowCount = props.fixedRowCount,
9935
+ listWidth = props.listWidth,
9936
+ itemsCount = props.itemsCount,
9937
+ cellCache = props.cellCache,
9938
+ columnWidth = props.columnWidth,
9939
+ containerRef = props.containerRef,
9940
+ multiGridRef = props.multiGridRef,
9941
+ rest = _objectWithoutPropertiesLoose(props, _excluded$5);
9942
+ var cache = cellCache != null ? cellCache : cellMeasurerCache$1;
9943
+ var _useVirtualTableView = useVirtualTableView(props),
9944
+ rowCount = _useVirtualTableView.rowCount,
9945
+ onScroll = _useVirtualTableView.onScroll;
9946
+ var cellRenderer = function cellRenderer(props) {
9947
+ var rowIndex = props.rowIndex,
9948
+ columnIndex = props.columnIndex;
9949
+ var isLoading = rowIndex === itemsCount && columnIndex === 0;
9950
+ return React__default.createElement(VirtualTableRowItem$1, Object.assign({}, props, {
9951
+ isLoading: isLoading,
9952
+ renderItem: renderItem,
9953
+ loadingElement: loadingElement,
9954
+ cellMeasurerCache: cache
9546
9955
  }));
9547
9956
  };
9957
+ var noRowsRenderer = function noRowsRenderer() {
9958
+ return React__default.createElement(VirtualTableEmpty, {
9959
+ emptyElement: emptyElement
9960
+ });
9961
+ };
9962
+ var columnWidthRendered = function columnWidthRendered(params) {
9963
+ if (typeof columnWidth === "number") return columnWidth;
9964
+ var cw = cache.columnWidth(params);
9965
+ if (columnWidth === undefined) return cw;
9966
+ return columnWidth(params, cache);
9967
+ };
9548
9968
  return React__default.createElement(material.Box, Object.assign({
9549
9969
  ref: containerRef
9550
- }, containerProps), loading && React__default.createElement(React.Fragment, null, loadingElement != null ? loadingElement : React__default.createElement(material.Box, {
9551
- p: 1,
9552
- className: "d-flex justify-content-center align-items-center w-100"
9553
- }, React__default.createElement(material.CircularProgress, {
9554
- size: 24,
9555
- sx: {
9556
- color: "#5d5d5b"
9557
- }
9558
- }))), !loading && !data.length && React__default.createElement(VirtualTableEmpty, {
9559
- emptyElement: emptyElement
9560
- }), !loading && !!data.length && React__default.createElement(ListView, {
9561
- data: data,
9562
- render: renderTableRow
9970
+ }, containerProps), React__default.createElement(reactVirtualized.AutoSizer, {
9971
+ disableWidth: !!listWidth,
9972
+ disableHeight: !!listHeight
9973
+ }, function (_ref) {
9974
+ var width = _ref.width,
9975
+ height = _ref.height;
9976
+ return React__default.createElement(reactVirtualized.MultiGrid, Object.assign({
9977
+ ref: multiGridRef,
9978
+ fixedRowCount: fixedRowCount,
9979
+ fixedColumnCount: fixedColumnCount,
9980
+ cellRenderer: cellRenderer,
9981
+ enableFixedColumnScroll: !!fixedColumnCount,
9982
+ enableFixedRowScroll: !!fixedRowCount,
9983
+ columnWidth: columnWidthRendered,
9984
+ height: listHeight || height,
9985
+ rowHeight: cache.rowHeight,
9986
+ deferredMeasurementCache: cache,
9987
+ rowCount: rowCount,
9988
+ width: listWidth || width,
9989
+ overscanRowCount: overscanRowCount,
9990
+ overscanColumnCount: overscanColumnCount,
9991
+ noRowsRenderer: noRowsRenderer,
9992
+ onScroll: onScroll
9993
+ }, rest));
9563
9994
  }));
9564
9995
  };
9565
9996
 
@@ -9571,6 +10002,7 @@ var MathTinyEditor = function MathTinyEditor(_ref) {
9571
10002
  onChange = _ref.onChange,
9572
10003
  initValue = _ref.initValue,
9573
10004
  config = _ref.config;
10005
+ var isFirstChange = React.useRef(true);
9574
10006
  React.useEffect(function () {
9575
10007
  if (window.tinymce) {
9576
10008
  window.tinymce = tinymce;
@@ -9580,17 +10012,23 @@ var MathTinyEditor = function MathTinyEditor(_ref) {
9580
10012
  return htmlString.replace(/\s(mathcolor|mathsize|mathvariant|mathvariant|color|fontsize|style)="[^"]*"/g, "");
9581
10013
  };
9582
10014
  var handleChange = function handleChange(value, _) {
10015
+ if (isFirstChange.current) {
10016
+ isFirstChange.current = false;
10017
+ return;
10018
+ }
9583
10019
  var textFilter = removeMathAttributes(value);
9584
10020
  onChange(textFilter);
9585
10021
  };
9586
10022
  var options = {
9587
- height: 130,
10023
+ height: 100,
10024
+ statusbar: false,
9588
10025
  menubar: false,
9589
10026
  external_plugins: {
9590
10027
  tiny_mce_wiris: '/editor/wiris-for-tinymce.js'
9591
10028
  },
9592
10029
  toolbar: "tiny_mce_wiris_formulaEditor tiny_mce_wiris_formulaEditorChemistry",
9593
10030
  branding: false,
10031
+ resize: false,
9594
10032
  extended_valid_elements: '*[.*]'
9595
10033
  };
9596
10034
  return React__default.createElement(tinymceReact.Editor, {
@@ -11114,10 +11552,10 @@ var LoginQRCode = function LoginQRCode(props) {
11114
11552
  }));
11115
11553
  };
11116
11554
 
11117
- var _excluded$5 = ["history"];
11555
+ var _excluded$6 = ["history"];
11118
11556
  var Login = function Login(_ref) {
11119
11557
  var history = _ref.history,
11120
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
11558
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
11121
11559
  var _useLogin = useLogin$1({
11122
11560
  homeAcademyUrl: rest.homeAcademyUrl,
11123
11561
  homeUrl: rest.homeUrl,
@@ -12091,11 +12529,11 @@ var DEFAULT_USER_FILTERS = {
12091
12529
 
12092
12530
  var styles$2 = {"avatar":"_2rJkZ","date-picker":"_1iqE2","time-picker":"_20xtc","teacher-selector-wrapper":"_3L1Oj"};
12093
12531
 
12094
- var _excluded$6 = ["teachers", "value"];
12532
+ var _excluded$7 = ["teachers", "value"];
12095
12533
  var TeacherSelector = function TeacherSelector(_ref) {
12096
12534
  var teachers = _ref.teachers,
12097
12535
  value = _ref.value,
12098
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
12536
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$7);
12099
12537
  var teacherOptions = teachers.map(function (i) {
12100
12538
  return {
12101
12539
  label: i.teacherName + "/" + i.teacherEmail,
@@ -13387,7 +13825,7 @@ var useTeacherList = function useTeacherList() {
13387
13825
  };
13388
13826
  };
13389
13827
 
13390
- var _excluded$7 = ["getStudents"],
13828
+ var _excluded$8 = ["getStudents"],
13391
13829
  _excluded2 = ["getTeachers"],
13392
13830
  _excluded3 = ["getLessons"];
13393
13831
  var PAGE_TITLE$4 = "classes";
@@ -13438,7 +13876,7 @@ var useClassDetail = function useClassDetail(_ref) {
13438
13876
  };
13439
13877
  var _useStudentClassList = useStudentClassList(classId),
13440
13878
  getStudents = _useStudentClassList.getStudents,
13441
- studentListProps = _objectWithoutPropertiesLoose(_useStudentClassList, _excluded$7);
13879
+ studentListProps = _objectWithoutPropertiesLoose(_useStudentClassList, _excluded$8);
13442
13880
  var _useTeacherClassList = useTeacherClassList(classId),
13443
13881
  getTeachers = _useTeacherClassList.getTeachers,
13444
13882
  teacherListProps = _objectWithoutPropertiesLoose(_useTeacherClassList, _excluded2);
@@ -14188,12 +14626,12 @@ var LessonList = function LessonList(_ref) {
14188
14626
  }));
14189
14627
  };
14190
14628
 
14191
- var _excluded$8 = ["children", "value", "index"];
14629
+ var _excluded$9 = ["children", "value", "index"];
14192
14630
  var CustomTabPanel = function CustomTabPanel(props) {
14193
14631
  var children = props.children,
14194
14632
  value = props.value,
14195
14633
  index = props.index,
14196
- other = _objectWithoutPropertiesLoose(props, _excluded$8);
14634
+ other = _objectWithoutPropertiesLoose(props, _excluded$9);
14197
14635
  return React__default.createElement("div", Object.assign({
14198
14636
  role: "tabpanel",
14199
14637
  hidden: value !== index,
@@ -19563,9 +20001,7 @@ var useNotes = function useNotes(setFilter, filter) {
19563
20001
  }
19564
20002
  setLoadingNotes(true);
19565
20003
  var _temp = _catch(function () {
19566
- return Promise.resolve(getNotesApi(_extends({}, filter, {
19567
- currentPage: -1
19568
- }))).then(function (res) {
20004
+ return Promise.resolve(getNotesApi(filter)).then(function (res) {
19569
20005
  var data = res.data;
19570
20006
  setTotalPages((data === null || data === void 0 ? void 0 : data.totalPages) || 0);
19571
20007
  var items = (data === null || data === void 0 ? void 0 : data.items) || [];
@@ -19631,7 +20067,8 @@ var NoteItem = function NoteItem(_ref) {
19631
20067
  _ref$placement = _ref.placement,
19632
20068
  placement = _ref$placement === void 0 ? "bottom-end" : _ref$placement,
19633
20069
  onClose = _ref.onClose,
19634
- onOpen = _ref.onOpen;
20070
+ onOpen = _ref.onOpen,
20071
+ onLoad = _ref.onLoad;
19635
20072
  var _useTranslation = reactI18next.useTranslation(),
19636
20073
  t = _useTranslation.t;
19637
20074
  var handleMoreClick = function handleMoreClick(e) {
@@ -19639,6 +20076,9 @@ var NoteItem = function NoteItem(_ref) {
19639
20076
  e.stopPropagation();
19640
20077
  onOpen(data);
19641
20078
  };
20079
+ React.useEffect(function () {
20080
+ onLoad === null || onLoad === void 0 ? void 0 : onLoad();
20081
+ }, []);
19642
20082
  return React__default.createElement(material.Box, Object.assign({}, NoteItemStyles.root), React__default.createElement(material.Stack, {
19643
20083
  direction: "row",
19644
20084
  gap: 1,
@@ -19686,7 +20126,7 @@ var NotesContainer = function NotesContainer(_ref) {
19686
20126
  itemActions = _ref.itemActions,
19687
20127
  noteIdContextMenu = _ref.noteIdContextMenu,
19688
20128
  containerListProps = _ref.containerListProps;
19689
- var renderItem = function renderItem(item, _) {
20129
+ var renderItem = function renderItem(item, _, measure) {
19690
20130
  var isSelected = noteIdContextMenu === item.id;
19691
20131
  return React__default.createElement(material.Box, {
19692
20132
  key: item.id,
@@ -19697,7 +20137,8 @@ var NotesContainer = function NotesContainer(_ref) {
19697
20137
  openTooltip: isSelected,
19698
20138
  actions: itemActions,
19699
20139
  onOpen: onOpenTooltip,
19700
- onClose: onCloseTooltip
20140
+ onClose: onCloseTooltip,
20141
+ onLoad: measure
19701
20142
  }));
19702
20143
  };
19703
20144
  return React__default.createElement(VirtualListView, {
@@ -21535,14 +21976,14 @@ var CSV_PREFIX = "data:text/csv;charset=utf-8,";
21535
21976
 
21536
21977
  var styles$5 = {"action-btn":"_1jXbz","action-btn--pencil":"_at4xP","icon-rotate-180":"_12gv9","drop-area":"_R4bn5"};
21537
21978
 
21538
- var _excluded$9 = ["text", "isRequired", "className"];
21979
+ var _excluded$a = ["text", "isRequired", "className"];
21539
21980
  var LabelRequired = function LabelRequired(_ref) {
21540
21981
  var text = _ref.text,
21541
21982
  _ref$isRequired = _ref.isRequired,
21542
21983
  isRequired = _ref$isRequired === void 0 ? true : _ref$isRequired,
21543
21984
  _ref$className = _ref.className,
21544
21985
  className = _ref$className === void 0 ? "" : _ref$className,
21545
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$9);
21986
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$a);
21546
21987
  return React__default.createElement(material.FormLabel, Object.assign({
21547
21988
  className: "fw-medium mb-1 " + className
21548
21989
  }, rest), text, isRequired && React__default.createElement("span", {
@@ -21596,7 +22037,7 @@ var deleteUserApi = function deleteUserApi(id) {
21596
22037
  return api["delete"](USER_URL + "/delete/" + id);
21597
22038
  };
21598
22039
 
21599
- var _excluded$a = ["ref"],
22040
+ var _excluded$b = ["ref"],
21600
22041
  _excluded2$1 = ["ref"],
21601
22042
  _excluded3$1 = ["ref"],
21602
22043
  _excluded4 = ["ref"],
@@ -21626,7 +22067,7 @@ var UserDialog = function UserDialog(_ref) {
21626
22067
  t = _useTranslation.t;
21627
22068
  var _register = register("fullName"),
21628
22069
  fullNameRef = _register.ref,
21629
- fullNameBio = _objectWithoutPropertiesLoose(_register, _excluded$a);
22070
+ fullNameBio = _objectWithoutPropertiesLoose(_register, _excluded$b);
21630
22071
  var _register2 = register("email"),
21631
22072
  emailRef = _register2.ref,
21632
22073
  emailBio = _objectWithoutPropertiesLoose(_register2, _excluded2$1);
@@ -21671,24 +22112,11 @@ var UserDialog = function UserDialog(_ref) {
21671
22112
  setDefaultPassCodeChanged = _useState8[1];
21672
22113
  var theme = material.useTheme();
21673
22114
  var gradeOptions = React.useMemo(function () {
21674
- var _watch;
21675
- var schoolName = (_watch = watch("schoolName")) === null || _watch === void 0 ? void 0 : _watch.trim();
21676
- if (schoolName !== null && schoolName !== void 0 && schoolName.includes(t("middle_school")) || schoolName !== null && schoolName !== void 0 && schoolName.includes("중학교")) return MIDDLE_GRADES.map(function (i) {
22115
+ return [].concat(GRADE_OPTIONS.map(function (i) {
21677
22116
  return _extends({}, i, {
21678
22117
  label: typeof i.label === "string" ? t(i.label) : i.label
21679
22118
  });
21680
- });
21681
- if (schoolName !== null && schoolName !== void 0 && schoolName.includes(t("high_school")) || schoolName !== null && schoolName !== void 0 && schoolName.includes("고등학교")) return HIGH_GRADES.map(function (i) {
21682
- return _extends({}, i, {
21683
- label: t(i.label)
21684
- });
21685
- });
21686
- if (schoolName !== null && schoolName !== void 0 && schoolName.includes(t("elementary_school")) || schoolName !== null && schoolName !== void 0 && schoolName.includes("초등학교")) return ELEMENTARY_GRADES.map(function (i) {
21687
- return _extends({}, i, {
21688
- label: typeof i.label === "string" ? t(i.label) : i.label
21689
- });
21690
- });
21691
- return [];
22119
+ }));
21692
22120
  }, [t, watch("schoolName")]);
21693
22121
  var handleChangeRole = function handleChangeRole(role) {
21694
22122
  setRoles([role]);
@@ -25617,12 +26045,12 @@ var ArticleDialog = function ArticleDialog(_ref) {
25617
26045
 
25618
26046
  var styles$7 = {"drawer":"_11aYm","open":"_3Ydwm","drawer-overlay":"_3SQDf","drawer-header":"_2BwOx","drawer-form":"_2Zo7R","dropdown-content-academy":"_1lzjD","dropdown-change":"_1y7K9","dropdown-academy-item":"_1Y-55","dropdown-content-language":"_1fBXY","dropdown-item-language":"_3Szun","dropdown-item-language-active":"_2HhLb","item-address":"_3WYHC","item-logout":"_2-9ix","title-address":"_1r4pn","image-academy":"_2ZozT"};
25619
26047
 
25620
- var _excluded$b = ["isOpen", "onClose", "handleSaveExam"];
26048
+ var _excluded$c = ["isOpen", "onClose", "handleSaveExam"];
25621
26049
  var CreateExamDrawer = function CreateExamDrawer(props) {
25622
26050
  var isOpen = props.isOpen,
25623
26051
  onClose = props.onClose,
25624
26052
  handleSaveExam = props.handleSaveExam,
25625
- examDetailViewProps = _objectWithoutPropertiesLoose(props, _excluded$b);
26053
+ examDetailViewProps = _objectWithoutPropertiesLoose(props, _excluded$c);
25626
26054
  var _useTranslation = reactI18next.useTranslation(),
25627
26055
  t = _useTranslation.t;
25628
26056
  var theme = material.useTheme();
@@ -26687,12 +27115,12 @@ var useNotificationDetail = function useNotificationDetail(_ref) {
26687
27115
 
26688
27116
  var styles$8 = {"avatar":"_8niRT"};
26689
27117
 
26690
- var _excluded$c = ["value", "disabled", "optionTypeNotification"];
27118
+ var _excluded$d = ["value", "disabled", "optionTypeNotification"];
26691
27119
  var TypeSelector = function TypeSelector(_ref) {
26692
27120
  var value = _ref.value,
26693
27121
  disabled = _ref.disabled,
26694
27122
  optionTypeNotification = _ref.optionTypeNotification,
26695
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$c);
27123
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$d);
26696
27124
  return React__default.createElement(CustomAsyncSelect, Object.assign({
26697
27125
  options: optionTypeNotification,
26698
27126
  value: value
@@ -27084,11 +27512,11 @@ var useNotificationList = function useNotificationList(_ref) {
27084
27512
  };
27085
27513
  };
27086
27514
 
27087
- var _excluded$d = ["value", "optionTypeNotification"];
27515
+ var _excluded$e = ["value", "optionTypeNotification"];
27088
27516
  var SelectFilterType = function SelectFilterType(_ref) {
27089
27517
  var value = _ref.value,
27090
27518
  optionTypeNotification = _ref.optionTypeNotification,
27091
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$d);
27519
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$e);
27092
27520
  return React__default.createElement(CustomAsyncSelect, Object.assign({
27093
27521
  options: optionTypeNotification,
27094
27522
  value: value
@@ -27247,7 +27675,6 @@ var NotificationList = function NotificationList(_ref) {
27247
27675
  };
27248
27676
 
27249
27677
  var TEXTBOOK_URL$1 = BASE_URL + "/api/textbooks";
27250
- var SUPER_ADMIN_TEXTBOOK_URL = SUPER_ADMIN_BASE_URL + "/api/textbook";
27251
27678
  var PREPARED_TEXTBOOK_URL = BASE_URL + "/api/textbooks/prepared-textbooks";
27252
27679
  var SUPER_ADMIN_PREPARED_TEXTBOOK_URL = SUPER_ADMIN_BASE_URL + "/api/textbook/prepared-textbooks";
27253
27680
  var FILE_URL = BASE_URL + "/api/file/images";
@@ -27269,10 +27696,11 @@ var createTextbookApi$1 = function createTextbookApi(values, isAdmin) {
27269
27696
  var updateTextbookApi$1 = function updateTextbookApi(values, id, isAdmin) {
27270
27697
  return api.put((isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : PREPARED_TEXTBOOK_URL) + "/" + id, values);
27271
27698
  };
27272
- var getAcademyByTeacher = function getAcademyByTeacher(email, isAdmin) {
27273
- return api.get((isAdmin ? SUPER_ADMIN_TEXTBOOK_URL : TEXTBOOK_URL$1) + "/academy-teacher-owner", {
27699
+ var getCourseByTeacherAcademy = function getCourseByTeacherAcademy(email, academyId) {
27700
+ return api.get(TEXTBOOK_URL$1 + "/owner-teacher-course", {
27274
27701
  params: {
27275
- email: email
27702
+ email: email,
27703
+ academyId: academyId
27276
27704
  }
27277
27705
  });
27278
27706
  };
@@ -27475,7 +27903,7 @@ var TextbookState;
27475
27903
  TextbookState[TextbookState["Article"] = 3] = "Article";
27476
27904
  })(TextbookState || (TextbookState = {}));
27477
27905
 
27478
- var SCHOOL_OPTIONS$1 = [{
27906
+ var SCHOOL_OPTIONS = [{
27479
27907
  label: "all",
27480
27908
  value: SchoolType.Default
27481
27909
  }, {
@@ -27512,7 +27940,7 @@ var ELEMANTARY_GRADES = Array.from({
27512
27940
  value: index
27513
27941
  };
27514
27942
  });
27515
- var MIDDLE_GRADES$1 = Array.from({
27943
+ var MIDDLE_GRADES = Array.from({
27516
27944
  length: 4
27517
27945
  }, function (_, index) {
27518
27946
  return {
@@ -27520,7 +27948,7 @@ var MIDDLE_GRADES$1 = Array.from({
27520
27948
  value: index
27521
27949
  };
27522
27950
  });
27523
- var HIGH_GRADES$1 = [{
27951
+ var HIGH_GRADES = [{
27524
27952
  label: "all",
27525
27953
  value: HighSchoolGrade.Default
27526
27954
  }, {
@@ -27583,7 +28011,7 @@ var preparedTextbookSchema = function preparedTextbookSchema(t) {
27583
28011
  publicationDate: yup.string().required(t("publication_date_required")),
27584
28012
  publisher: yup.string().required(t("publisher_required")),
27585
28013
  isbn: yup.string().required(t("isbn_required")),
27586
- grade: yup.number().required(t("grade_required")).positive().integer().typeError(t("must_be_number")).min(1, t("min_is_1")).max(12, t("max_is_12")),
28014
+ grade: yup.number().required(t("grade_required")).notOneOf([0], t("subject_required")),
27587
28015
  type: yup.number(),
27588
28016
  chapters: yup.array().of(yup.object().shape({
27589
28017
  pageFrom: yup.number().required(t("page_from_required")).integer().typeError(t("must_be_number")).min(1, t("min_is_1")),
@@ -27707,138 +28135,6 @@ var CustomTextbookTab = function CustomTextbookTab(props) {
27707
28135
  }, children));
27708
28136
  };
27709
28137
 
27710
- var grey = {
27711
- 0: '#FFFFFF',
27712
- 50: "#FBFBF9",
27713
- 100: '#EAEAE5',
27714
- 200: '#F4F6F8',
27715
- 300: '#D0D0C8',
27716
- 400: '#C4CDD5',
27717
- 500: '#9A9A98',
27718
- 600: '#637381',
27719
- 700: '#5D5D5B',
27720
- 800: '#212B36',
27721
- 900: '#363634'
27722
- };
27723
- var green = {
27724
- 0: '#FFFFFF',
27725
- 100: '#F0FFF6',
27726
- 300: '#89F0B2',
27727
- 500: '#3DC674',
27728
- 700: '#349056',
27729
- 900: '#18442A'
27730
- };
27731
- var main_theme = {
27732
- lighter: green[100],
27733
- light: green[300],
27734
- less_dark: green[500],
27735
- dark: green[700],
27736
- darker: green[900]
27737
- };
27738
- var primary = {
27739
- lighter: '#D0ECFE',
27740
- light: '#73BAFB',
27741
- main: '#1877F2',
27742
- dark: '#0C44AE',
27743
- darker: '#042174',
27744
- contrastText: '#FFFFFF'
27745
- };
27746
- var secondary = {
27747
- lighter: '#EFD6FF',
27748
- light: '#C684FF',
27749
- main: '#8E33FF',
27750
- dark: '#5119B7',
27751
- darker: '#27097A',
27752
- contrastText: '#FFFFFF'
27753
- };
27754
- var info = {
27755
- lighter: '#CAFDF5',
27756
- light: '#61F3F3',
27757
- main: '#00B8D9',
27758
- dark: '#006C9C',
27759
- darker: '#003768',
27760
- contrastText: '#FFFFFF'
27761
- };
27762
- var success = {
27763
- lighter: '#C8FAD6',
27764
- light: '#5BE49B',
27765
- main: '#00A76F',
27766
- dark: '#007867',
27767
- darker: '#004B50',
27768
- contrastText: '#FFFFFF'
27769
- };
27770
- var warning$1 = {
27771
- lighter: '#FFF5CC',
27772
- light: '#FFD666',
27773
- main: '#FFAB00',
27774
- dark: '#B76E00',
27775
- darker: '#7A4100',
27776
- contrastText: grey[800]
27777
- };
27778
- var error = {
27779
- lighter: '#FFE9D5',
27780
- light: '#FFAC82',
27781
- main: '#FF5630',
27782
- dark: '#B71D18',
27783
- darker: '#7A0916',
27784
- contrastText: '#FFFFFF'
27785
- };
27786
- var red = {
27787
- 100: '#FEF8F8',
27788
- 300: '#FEF8F8',
27789
- 500: '#F4CACA',
27790
- 900: '#DB4D4D'
27791
- };
27792
- var yellow = {
27793
- 900: '#FEAF06'
27794
- };
27795
- var green_support = {
27796
- 100: '#F6FDF7',
27797
- 500: '#AEEAB3',
27798
- 900: '#3ACB46'
27799
- };
27800
- var purple = {
27801
- 900: '#C3099A'
27802
- };
27803
- var dark_purple = {
27804
- 900: '#6B0861'
27805
- };
27806
- var dark_red = {
27807
- 900: '#800202'
27808
- };
27809
- var common = {
27810
- black: '#000000',
27811
- white: '#FFFFFF'
27812
- };
27813
- var action$2 = {
27814
- hover: styles$c.alpha(grey[500], 0.08),
27815
- selected: styles$c.alpha(grey[500], 0.16),
27816
- disabled: styles$c.alpha(grey[500], 0.8),
27817
- disabledBackground: styles$c.alpha(grey[500], 0.24),
27818
- focus: styles$c.alpha(grey[500], 0.24),
27819
- hoverOpacity: 0.08,
27820
- disabledOpacity: 0.48
27821
- };
27822
- var base = {
27823
- primary: primary,
27824
- secondary: secondary,
27825
- info: info,
27826
- main_theme: main_theme,
27827
- success: success,
27828
- warning: warning$1,
27829
- error: error,
27830
- grey: grey,
27831
- common: common,
27832
- red: red,
27833
- yellow: yellow,
27834
- green_support: green_support,
27835
- purple: purple,
27836
- dark_purple: dark_purple,
27837
- dark_red: dark_red,
27838
- divider: styles$c.alpha(grey[500], 0.2),
27839
- action: action$2
27840
- };
27841
-
27842
28138
  var ArticleBlock = function ArticleBlock(_ref) {
27843
28139
  var expandedIndex = _ref.expandedIndex,
27844
28140
  data = _ref.data,
@@ -28086,7 +28382,7 @@ var labelStyle = {
28086
28382
  whiteSpace: "nowrap"
28087
28383
  };
28088
28384
 
28089
- var _excluded$e = ["onChange"];
28385
+ var _excluded$f = ["onChange"];
28090
28386
  var BpIcon$1 = material.styled("span")(function (_ref) {
28091
28387
  var theme = _ref.theme;
28092
28388
  return {
@@ -28255,7 +28551,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
28255
28551
  };
28256
28552
  });
28257
28553
  var theme = material.useTheme();
28258
- var isTabletUp = material.useMediaQuery(theme.breakpoints.up('lg'));
28554
+ var isTabletUp = material.useMediaQuery(theme.breakpoints.up("lg"));
28259
28555
  return React__default.createElement(material.Stack, {
28260
28556
  direction: "row",
28261
28557
  alignItems: "center",
@@ -28269,8 +28565,10 @@ var QuestionBlock = function QuestionBlock(_ref2) {
28269
28565
  }, React__default.createElement(material.Box, null, React__default.createElement(material.Box, {
28270
28566
  className: styles$9["question-title"] + " me-2 text-nowrap",
28271
28567
  sx: questionTitleStyle
28272
- }, t("problem_number_question", {
28568
+ }, isMath ? t("problem_number_question", {
28273
28569
  number: data.questionOrder + 1
28570
+ }) : t("text_detail_n", {
28571
+ n: data.questionOrder + 1
28274
28572
  }))), React__default.createElement(material.Box, {
28275
28573
  flexGrow: 1
28276
28574
  }, renderAnswer())), React__default.createElement(material.Stack, {
@@ -28309,7 +28607,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
28309
28607
  name: path + ".questionTypeId",
28310
28608
  render: function render(_ref5) {
28311
28609
  var _ref5$field = _ref5.field,
28312
- field = _objectWithoutPropertiesLoose(_ref5$field, _excluded$e);
28610
+ field = _objectWithoutPropertiesLoose(_ref5$field, _excluded$f);
28313
28611
  return React__default.createElement(CustomSelectOption, Object.assign({}, field, {
28314
28612
  isDisabled: isDisabled,
28315
28613
  value: data.questionType,
@@ -28356,7 +28654,7 @@ var isEqual$1 = function isEqual(prev, next) {
28356
28654
  };
28357
28655
  var QuestionBlock$1 = React.memo(QuestionBlock, isEqual$1);
28358
28656
 
28359
- var _excluded$f = ["data", "path", "isMath", "open", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "categories", "questionTypes", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28657
+ var _excluded$g = ["data", "path", "isMath", "open", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "categories", "questionTypes", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28360
28658
  var _ = _$5;
28361
28659
  var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
28362
28660
  var _data$articles$3, _data$articles$3$cate, _data$articles$4, _data$articles$4$cate;
@@ -28375,8 +28673,9 @@ var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
28375
28673
  onCloseCategoryMenu = _ref.onCloseCategoryMenu,
28376
28674
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
28377
28675
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
28378
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$f);
28676
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$g);
28379
28677
  var errors = formikProps.errors;
28678
+ var theme = material.useTheme();
28380
28679
  var articles = data.articles,
28381
28680
  questions = data.questions;
28382
28681
  var blockErrors = _.get(errors, path);
@@ -28397,7 +28696,7 @@ var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
28397
28696
  gap: 2
28398
28697
  }, !isMath && React__default.createElement(material.Stack, {
28399
28698
  sx: {
28400
- border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? main_theme.less_dark : main_theme.light),
28699
+ border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? theme.palette.secondary.main : theme.palette.secondary.light),
28401
28700
  borderRadius: 2
28402
28701
  },
28403
28702
  gap: 1,
@@ -28478,7 +28777,7 @@ var isEqual$2 = function isEqual(prev, next) {
28478
28777
  };
28479
28778
  var QuestionGroupBlockBody$1 = React.memo(QuestionGroupBlockBody, isEqual$2);
28480
28779
 
28481
- var _excluded$g = ["expandedIndex", "open", "paths", "path", "isMath", "data", "categories", "isLoadingCategories", "isLoadingQuestionTypes", "questionTypes", "optionKey", "isDisabled", "onToggle", "onQuestionCountChange", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28780
+ var _excluded$h = ["expandedIndex", "open", "paths", "path", "isMath", "data", "categories", "isLoadingCategories", "isLoadingQuestionTypes", "questionTypes", "optionKey", "isDisabled", "onToggle", "onQuestionCountChange", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28482
28781
  var _$1 = _$5;
28483
28782
  var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28484
28783
  var _data$articles$2, _data$articles$2$cate, _data$articles$2$cate2, _data$articles$3, _data$articles$3$cate, _data$articles$3$cate2;
@@ -28503,13 +28802,13 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28503
28802
  onCopiedPrevQuestionGroup = _ref.onCopiedPrevQuestionGroup,
28504
28803
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
28505
28804
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
28506
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$g);
28805
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$h);
28507
28806
  var errors = formikProps.errors,
28508
28807
  setFieldValue = formikProps.setFieldValue;
28509
28808
  var _useTranslation = reactI18next.useTranslation(),
28510
28809
  t = _useTranslation.t;
28511
28810
  var key = paths.join(".");
28512
- var title = t("group_n", {
28811
+ var title = t(isMath ? "question_group_n" : "text_group_n", {
28513
28812
  n: expandedIndex + 1
28514
28813
  });
28515
28814
  var handleToggle = function handleToggle() {
@@ -28591,7 +28890,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28591
28890
  expanded: open,
28592
28891
  onChange: handleToggle,
28593
28892
  sx: {
28594
- border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? main_theme.less_dark : main_theme.light)
28893
+ border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? colors.yellow[500] : colors.yellow[300])
28595
28894
  }
28596
28895
  }, React__default.createElement(material.AccordionSummary, {
28597
28896
  expandIcon: React__default.createElement(md.MdExpandMore, {
@@ -28620,6 +28919,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28620
28919
  }, React__default.createElement(fa6.FaTrashCan, {
28621
28920
  size: 12
28622
28921
  })), React__default.createElement(material.Typography, {
28922
+ fontSize: "18px",
28623
28923
  fontWeight: 700,
28624
28924
  whiteSpace: "nowrap"
28625
28925
  }, title, !open && ":")), React__default.createElement(material.Box, {
@@ -28795,7 +29095,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28795
29095
  }, formikProps)))));
28796
29096
  };
28797
29097
 
28798
- var _excluded$h = ["path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "questionGroups", "subChapters", "categories", "questionTypes", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
29098
+ var _excluded$i = ["path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "questionGroups", "subChapters", "categories", "questionTypes", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28799
29099
  var ChapterBlockBody = function ChapterBlockBody(_ref) {
28800
29100
  var path = _ref.path,
28801
29101
  paths = _ref.paths,
@@ -28814,7 +29114,7 @@ var ChapterBlockBody = function ChapterBlockBody(_ref) {
28814
29114
  onCopiedPrevQuestionGroup = _ref.onCopiedPrevQuestionGroup,
28815
29115
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
28816
29116
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
28817
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$h);
29117
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$i);
28818
29118
  var _useTranslation = reactI18next.useTranslation(),
28819
29119
  t = _useTranslation.t;
28820
29120
  var setFieldValue = formikProps.setFieldValue;
@@ -28988,7 +29288,7 @@ var ChapterBlockBody = function ChapterBlockBody(_ref) {
28988
29288
  }));
28989
29289
  };
28990
29290
 
28991
- var _excluded$i = ["data", "expandedIndex", "open", "path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "categories", "questionTypes", "optionKey", "onToggle", "onDelete", "onCopiedPrevQuestionGroup", "onCloseCategoryMenu", "onOpenCategoryMenu", "onOpenSubCategoryMenu", "onOpenQuestionTypeMenu", "onCloseQuestionTypeMenu"];
29291
+ var _excluded$j = ["data", "expandedIndex", "open", "path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "categories", "questionTypes", "optionKey", "onToggle", "onDelete", "onCopiedPrevQuestionGroup", "onCloseCategoryMenu", "onOpenCategoryMenu", "onOpenSubCategoryMenu", "onOpenQuestionTypeMenu", "onCloseQuestionTypeMenu"];
28992
29292
  var _$2 = _$5;
28993
29293
  var ChapterBlock = function ChapterBlock(_ref) {
28994
29294
  var data = _ref.data,
@@ -29010,12 +29310,13 @@ var ChapterBlock = function ChapterBlock(_ref) {
29010
29310
  onOpenSubCategoryMenu = _ref.onOpenSubCategoryMenu,
29011
29311
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
29012
29312
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
29013
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$i);
29313
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$j);
29014
29314
  var errors = formikProps.errors;
29015
29315
  var _useTranslation = reactI18next.useTranslation(),
29016
29316
  t = _useTranslation.t;
29317
+ var theme = material.useTheme();
29017
29318
  var key = paths.join(".");
29018
- var title = t("chapter_number", {
29319
+ var title = t((paths === null || paths === void 0 ? void 0 : paths.length) > 1 ? "sub_unit_number" : "unit_number", {
29019
29320
  number: paths.join(".")
29020
29321
  });
29021
29322
  var handleToggle = function handleToggle() {
@@ -29035,7 +29336,7 @@ var ChapterBlock = function ChapterBlock(_ref) {
29035
29336
  expanded: open,
29036
29337
  onChange: handleToggle,
29037
29338
  sx: {
29038
- border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? main_theme.less_dark : main_theme.light)
29339
+ border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? (paths === null || paths === void 0 ? void 0 : paths.length) > 1 ? theme.palette.success.main : theme.palette.info.main : (paths === null || paths === void 0 ? void 0 : paths.length) > 1 ? theme.palette.success.light : theme.palette.info.light)
29039
29340
  }
29040
29341
  }, React__default.createElement(material.AccordionSummary, {
29041
29342
  expandIcon: React__default.createElement(md.MdExpandMore, {
@@ -29062,6 +29363,7 @@ var ChapterBlock = function ChapterBlock(_ref) {
29062
29363
  }, React__default.createElement(fa6.FaTrashCan, {
29063
29364
  size: 12
29064
29365
  })), React__default.createElement(material.Typography, {
29366
+ fontSize: (paths === null || paths === void 0 ? void 0 : paths.length) > 1 ? "24px" : "36px",
29065
29367
  fontWeight: 700,
29066
29368
  whiteSpace: "nowrap"
29067
29369
  }, title)), React__default.createElement(material.Box, {
@@ -29191,7 +29493,7 @@ var QuestionTypeFilter = function QuestionTypeFilter(_ref) {
29191
29493
  }));
29192
29494
  if (inputRef.current) inputRef.current.value = "";
29193
29495
  };
29194
- var schoolOptions = SCHOOL_OPTIONS$1.map(function (i) {
29496
+ var schoolOptions = SCHOOL_OPTIONS.map(function (i) {
29195
29497
  return _extends({}, i, {
29196
29498
  label: t(i.label)
29197
29499
  });
@@ -29199,13 +29501,13 @@ var QuestionTypeFilter = function QuestionTypeFilter(_ref) {
29199
29501
  var gradeOptions = React.useMemo(function () {
29200
29502
  switch (filter === null || filter === void 0 ? void 0 : filter.schoolType) {
29201
29503
  case SchoolType.Middle:
29202
- return MIDDLE_GRADES$1.map(function (i) {
29504
+ return MIDDLE_GRADES.map(function (i) {
29203
29505
  return _extends({}, i, {
29204
29506
  label: typeof i.label === "string" ? t(i.label) : i.label
29205
29507
  });
29206
29508
  });
29207
29509
  case SchoolType.High:
29208
- return HIGH_GRADES$1.map(function (i) {
29510
+ return HIGH_GRADES.map(function (i) {
29209
29511
  return _extends({}, i, {
29210
29512
  label: t(i.label)
29211
29513
  });
@@ -29681,8 +29983,7 @@ var TextbookContentsTab = function TextbookContentsTab(props) {
29681
29983
  }));
29682
29984
  };
29683
29985
 
29684
- var _excluded$j = ["value"],
29685
- _excluded2$2 = ["onChange"];
29986
+ var _excluded$k = ["value"];
29686
29987
  var VisuallyHiddenInput = material.styled("input")({
29687
29988
  clip: "rect(0 0 0 0)",
29688
29989
  clipPath: "inset(50%)",
@@ -29703,6 +30004,23 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29703
30004
  handleUploadImage = _ref.handleUploadImage;
29704
30005
  var _useTranslation = reactI18next.useTranslation(),
29705
30006
  t = _useTranslation.t;
30007
+ var gradeOptions = GRADE_OPTIONS.map(function (i) {
30008
+ return {
30009
+ label: t(i.label),
30010
+ value: i.value
30011
+ };
30012
+ });
30013
+ var preparedTypeOptions = Object.entries(exports.PreparedType).filter(function (_ref2) {
30014
+ var key = _ref2[0];
30015
+ return isNaN(Number(key));
30016
+ }).map(function (_ref3) {
30017
+ var key = _ref3[0],
30018
+ value = _ref3[1];
30019
+ return {
30020
+ label: t(key),
30021
+ value: value
30022
+ };
30023
+ });
29706
30024
  return React__default.createElement(material.Grid, {
29707
30025
  padding: 3,
29708
30026
  container: true,
@@ -29791,10 +30109,10 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29791
30109
  htmlFor: "publicationDate"
29792
30110
  }, t("publication_date")), React__default.createElement(formik.Field, {
29793
30111
  name: "publicationDate",
29794
- render: function render(_ref2) {
29795
- var _ref2$field = _ref2.field,
29796
- value = _ref2$field.value,
29797
- action = _objectWithoutPropertiesLoose(_ref2$field, _excluded$j);
30112
+ render: function render(_ref4) {
30113
+ var _ref4$field = _ref4.field,
30114
+ value = _ref4$field.value,
30115
+ action = _objectWithoutPropertiesLoose(_ref4$field, _excluded$k);
29798
30116
  return React__default.createElement(xDatePickers.LocalizationProvider, {
29799
30117
  dateAdapter: AdapterMoment.AdapterMoment
29800
30118
  }, React__default.createElement(xDatePickers.DatePicker, Object.assign({}, action, {
@@ -29824,8 +30142,8 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29824
30142
  htmlFor: "publisher"
29825
30143
  }, t("publisher")), React__default.createElement(formik.Field, {
29826
30144
  name: "publisher",
29827
- render: function render(_ref3) {
29828
- var field = _ref3.field;
30145
+ render: function render(_ref5) {
30146
+ var field = _ref5.field;
29829
30147
  return React__default.createElement(material.TextField, Object.assign({}, field));
29830
30148
  }
29831
30149
  }), !!(errors !== null && errors !== void 0 && errors.publisher) && React__default.createElement(material.Typography, {
@@ -29843,25 +30161,15 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29843
30161
  htmlFor: "preparedType"
29844
30162
  }, t("type")), React__default.createElement(formik.Field, {
29845
30163
  name: "preparedType",
29846
- render: function render(_ref4) {
29847
- var field = _ref4.field;
29848
- return React__default.createElement(material.Select, Object.assign({
29849
- displayEmpty: true
29850
- }, field), Object.entries(_extends({}, exports.PreparedType)).filter(function (_ref5) {
29851
- var label = _ref5[0];
29852
- return !Number(label);
29853
- }).map(function (_ref6, index) {
29854
- var label = _ref6[0],
29855
- value = _ref6[1];
29856
- if (Number(label)) return;
29857
- if (label === "my_created_questions" || label === "academy_questions") return React__default.createElement(material.MenuItem, {
29858
- key: index,
29859
- value: value
29860
- }, t(label));
29861
- return React__default.createElement(material.MenuItem, {
29862
- key: index,
29863
- value: index + 1
29864
- }, t(label));
30164
+ render: function render(_ref6) {
30165
+ var field = _ref6.field;
30166
+ return React__default.createElement(CustomSelect, Object.assign({}, field, {
30167
+ options: preparedTypeOptions,
30168
+ value: values.preparedType,
30169
+ onChange: function onChange(val) {
30170
+ setFieldValue(field.name, !(val !== null && val !== void 0 && val.value) ? 0 : Number(val.value));
30171
+ },
30172
+ isClearable: true
29865
30173
  }));
29866
30174
  }
29867
30175
  }), !!(errors !== null && errors !== void 0 && errors.preparedType) && React__default.createElement(material.Typography, {
@@ -29921,15 +30229,14 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29921
30229
  }, t("grade")), React__default.createElement(formik.Field, {
29922
30230
  name: "grade",
29923
30231
  render: function render(_ref9) {
29924
- var _ref9$field = _ref9.field,
29925
- _onChange = _ref9$field.onChange,
29926
- action = _objectWithoutPropertiesLoose(_ref9$field, _excluded2$2);
29927
- return React__default.createElement(material.TextField, Object.assign({
29928
- onChange: function onChange(e) {
29929
- e.target.value = e.target.value.replace(/[^\d]/g, "");
29930
- _onChange(e);
30232
+ var field = _ref9.field;
30233
+ return React__default.createElement(CustomSelect, Object.assign({}, field, {
30234
+ options: gradeOptions,
30235
+ value: values.grade,
30236
+ onChange: function onChange(val) {
30237
+ setFieldValue(field.name, String(val.value));
29931
30238
  }
29932
- }, action));
30239
+ }));
29933
30240
  }
29934
30241
  }), !!(errors !== null && errors !== void 0 && errors.grade) && React__default.createElement(material.Typography, {
29935
30242
  fontWeight: 500,
@@ -29949,7 +30256,8 @@ var AcademySelector = function AcademySelector(_ref) {
29949
30256
  isMultiple = _ref.isMultiple,
29950
30257
  _ref$isClearable = _ref.isClearable,
29951
30258
  isClearable = _ref$isClearable === void 0 ? true : _ref$isClearable,
29952
- disabled = _ref.disabled;
30259
+ disabled = _ref.disabled,
30260
+ defaultValue = _ref.defaultValue;
29953
30261
  var _useState = React.useState(""),
29954
30262
  searchString = _useState[0],
29955
30263
  setSearchString = _useState[1];
@@ -29972,7 +30280,8 @@ var AcademySelector = function AcademySelector(_ref) {
29972
30280
  value: valueOption || value,
29973
30281
  onChange: onChange,
29974
30282
  isDisabled: disabled,
29975
- isClearable: isClearable
30283
+ isClearable: isClearable,
30284
+ defaultValue: defaultValue
29976
30285
  }));
29977
30286
  };
29978
30287
 
@@ -30013,70 +30322,61 @@ var CourseSelector = function CourseSelector(_ref) {
30013
30322
  };
30014
30323
 
30015
30324
  var useSelect = function useSelect(_ref) {
30016
- var academyId = _ref.academyId,
30017
- handleChangeEmail = _ref.handleChangeEmail;
30325
+ var email = _ref.email;
30018
30326
  var _useTranslation = reactI18next.useTranslation(),
30019
30327
  t = _useTranslation.t;
30328
+ var academy = reactRedux.useSelector(function (state) {
30329
+ var _state$common;
30330
+ return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.academy;
30331
+ });
30332
+ var formattedAcademy = academy ? {
30333
+ label: academy.name,
30334
+ value: academy.id
30335
+ } : null;
30336
+ var academies = formattedAcademy ? [formattedAcademy] : [];
30020
30337
  var _useState = React.useState([]),
30021
- academies = _useState[0],
30022
- setAcademies = _useState[1];
30338
+ courses = _useState[0],
30339
+ setCourses = _useState[1];
30023
30340
  var _useState2 = React.useState(false),
30024
30341
  isLoading = _useState2[0],
30025
30342
  setLoading = _useState2[1];
30026
- var user = reactRedux.useSelector(function (state) {
30027
- var _state$common;
30028
- return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
30029
- });
30030
- var isSuperAdmin = !!user && !user.academyDomain;
30031
- var loadData = _$5.debounce(function (e) {
30032
- try {
30033
- var _temp2 = function _temp2() {
30034
- setLoading(false);
30035
- };
30036
- var value = e.target.value;
30037
- setLoading(true);
30038
- var _temp = _catch(function () {
30039
- handleChangeEmail(value);
30040
- return Promise.resolve(getAcademyByTeacher(value, isSuperAdmin)).then(function (_ref2) {
30041
- var data = _ref2.data;
30042
- setAcademies(data.data);
30343
+ React.useEffect(function () {
30344
+ if (!email) return;
30345
+ var fetchData = _$5.debounce(function () {
30346
+ try {
30347
+ var _temp2 = function _temp2() {
30348
+ setLoading(false);
30349
+ };
30350
+ setLoading(true);
30351
+ var _temp = _catch(function () {
30352
+ return Promise.resolve(getCourseByTeacherAcademy(email, academy === null || academy === void 0 ? void 0 : academy.id)).then(function (_ref2) {
30353
+ var data = _ref2.data;
30354
+ var formattedCourses = data.data.map(function (course) {
30355
+ return {
30356
+ label: course.name,
30357
+ value: course.id
30358
+ };
30359
+ });
30360
+ setCourses(formattedCourses);
30361
+ });
30362
+ }, function (err) {
30363
+ reactToastify.toast.error(getErrorMessage(t, err));
30043
30364
  });
30044
- }, function (err) {
30045
- reactToastify.toast.error(getErrorMessage(t, err));
30046
- });
30047
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
30048
- } catch (e) {
30049
- return Promise.reject(e);
30050
- }
30051
- }, 1000);
30052
- var academyOptions = React.useMemo(function () {
30053
- if (!(academies !== null && academies !== void 0 && academies.length)) return [];
30054
- return academies === null || academies === void 0 ? void 0 : academies.map(function (academy) {
30055
- return {
30056
- label: academy.name,
30057
- value: academy.id
30058
- };
30059
- });
30060
- }, [JSON.stringify(academies)]);
30061
- var courseOptions = React.useMemo(function () {
30062
- var _academy$courses;
30063
- if (!academyId) return [];
30064
- var academy = academies === null || academies === void 0 ? void 0 : academies.find(function (academy) {
30065
- return academy.id === academyId;
30066
- });
30067
- return academy === null || academy === void 0 ? void 0 : (_academy$courses = academy.courses) === null || _academy$courses === void 0 ? void 0 : _academy$courses.map(function (course) {
30068
- return {
30069
- label: course.name,
30070
- value: course.id
30071
- };
30072
- });
30073
- }, [JSON.stringify(academies), academyId]);
30365
+ return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
30366
+ } catch (e) {
30367
+ return Promise.reject(e);
30368
+ }
30369
+ }, 1000);
30370
+ fetchData();
30371
+ return function () {
30372
+ return fetchData.cancel();
30373
+ };
30374
+ }, [email]);
30074
30375
  return {
30075
30376
  t: t,
30076
- loadData: loadData,
30077
30377
  isLoading: isLoading,
30078
- academyOptions: academyOptions,
30079
- courseOptions: courseOptions
30378
+ academies: academies,
30379
+ courses: courses
30080
30380
  };
30081
30381
  };
30082
30382
 
@@ -30085,19 +30385,15 @@ var OwnerSelector = function OwnerSelector(_ref) {
30085
30385
  var values = _ref.values,
30086
30386
  errors = _ref.errors,
30087
30387
  index = _ref.index,
30088
- academyId = _ref.academyId,
30388
+ email = _ref.email,
30089
30389
  onChangeFieldValue = _ref.onChangeFieldValue;
30090
- var handleChangeEmail = function handleChangeEmail(value) {
30091
- onChangeFieldValue("textbookOwners[" + index + "].email", value);
30092
- };
30093
30390
  var _useSelect = useSelect({
30094
- academyId: academyId,
30095
- handleChangeEmail: handleChangeEmail
30391
+ email: email
30096
30392
  }),
30097
30393
  t = _useSelect.t,
30098
30394
  isLoading = _useSelect.isLoading,
30099
- academyOptions = _useSelect.academyOptions,
30100
- courseOptions = _useSelect.courseOptions;
30395
+ academies = _useSelect.academies,
30396
+ courses = _useSelect.courses;
30101
30397
  return React__default.createElement(React__default.Fragment, null, (values === null || values === void 0 ? void 0 : (_values$textbookOwner = values.textbookOwners) === null || _values$textbookOwner === void 0 ? void 0 : _values$textbookOwner[index].email) && React__default.createElement(material.Stack, {
30102
30398
  flexDirection: "column",
30103
30399
  gap: 1,
@@ -30109,7 +30405,9 @@ var OwnerSelector = function OwnerSelector(_ref) {
30109
30405
  render: function render(_ref2) {
30110
30406
  var field = _ref2.field;
30111
30407
  return React__default.createElement(AcademySelector, Object.assign({}, field, {
30112
- options: academyOptions,
30408
+ options: academies,
30409
+ disabled: true,
30410
+ defaultValue: academies.length > 0 ? academies[0].value : undefined,
30113
30411
  isLoading: isLoading,
30114
30412
  valueById: field === null || field === void 0 ? void 0 : field.value,
30115
30413
  onChange: function onChange(val) {
@@ -30133,7 +30431,7 @@ var OwnerSelector = function OwnerSelector(_ref) {
30133
30431
  render: function render(_ref3) {
30134
30432
  var field = _ref3.field;
30135
30433
  return React__default.createElement(CourseSelector, Object.assign({}, field, {
30136
- options: courseOptions,
30434
+ options: courses,
30137
30435
  isLoading: isLoading,
30138
30436
  valueById: field === null || field === void 0 ? void 0 : field.value,
30139
30437
  onChange: function onChange(val) {
@@ -30170,7 +30468,7 @@ var TextbookOwnersTab = function TextbookOwnersTab(_ref) {
30170
30468
  container: true,
30171
30469
  spacing: "16px"
30172
30470
  }, textbookOwners === null || textbookOwners === void 0 ? void 0 : textbookOwners.map(function (_val, index) {
30173
- var _values$textbookOwner, _values$textbookOwner2, _values$textbookOwner3;
30471
+ var _values$textbookOwner, _values$textbookOwner2;
30174
30472
  return React__default.createElement(material.Grid, {
30175
30473
  item: true,
30176
30474
  xs: 6,
@@ -30221,8 +30519,8 @@ var TextbookOwnersTab = function TextbookOwnersTab(_ref) {
30221
30519
  values: values,
30222
30520
  errors: errors,
30223
30521
  index: index,
30224
- onChangeFieldValue: setFieldValue,
30225
- 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
30522
+ email: values === null || values === void 0 ? void 0 : (_values$textbookOwner2 = values.textbookOwners) === null || _values$textbookOwner2 === void 0 ? void 0 : _values$textbookOwner2[index].email,
30523
+ onChangeFieldValue: setFieldValue
30226
30524
  })));
30227
30525
  }), React__default.createElement(material.Grid, {
30228
30526
  item: true,
@@ -30395,15 +30693,16 @@ var convertResponseToRequest = function convertResponseToRequest(selectedTextboo
30395
30693
  };
30396
30694
  };
30397
30695
 
30398
- var _excluded$k = ["isAdmin", "textbookId", "selected", "coverImage", "onChangeTab", "onUploadImage"];
30696
+ var _excluded$l = ["isSuperAdmin", "isAdmin", "textbookId", "selected", "coverImage", "onChangeTab", "onUploadImage"];
30399
30697
  var PreparedTextbookForm = function PreparedTextbookForm(_ref) {
30400
- var isAdmin = _ref.isAdmin,
30698
+ var isSuperAdmin = _ref.isSuperAdmin,
30699
+ isAdmin = _ref.isAdmin,
30401
30700
  textbookId = _ref.textbookId,
30402
30701
  selected = _ref.selected,
30403
30702
  coverImage = _ref.coverImage,
30404
30703
  onChangeTab = _ref.onChangeTab,
30405
30704
  onUploadImage = _ref.onUploadImage,
30406
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$k);
30705
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$l);
30407
30706
  var values = formikProps.values,
30408
30707
  errors = formikProps.errors,
30409
30708
  dirty = formikProps.dirty,
@@ -30553,7 +30852,7 @@ var PreparedTextbookForm = function PreparedTextbookForm(_ref) {
30553
30852
  sx: {
30554
30853
  color: contentsErrors && submitCount ? error.main + "!important" : "gray"
30555
30854
  }
30556
- }, a11yProps(1))), !(values !== null && values !== void 0 && values.isPublic) && (!isAdmin || textbookId) && (!textbookId || (values === null || values === void 0 ? void 0 : values.isShared)) && React__default.createElement(material.Tab, Object.assign({
30855
+ }, a11yProps(1))), !(values !== null && values !== void 0 && values.isPublic) && (!isSuperAdmin || textbookId) && (!textbookId || (values === null || values === void 0 ? void 0 : values.isShared)) && React__default.createElement(material.Tab, Object.assign({
30557
30856
  label: i18n.t("textbook.owners"),
30558
30857
  sx: {
30559
30858
  color: textbookOwnersErrors && submitCount ? error.main + "!important" : "gray"
@@ -30596,6 +30895,7 @@ var PreparedTextbookView = function PreparedTextbookView(_ref) {
30596
30895
  textbookId: textbookId
30597
30896
  }),
30598
30897
  t = _useTextbookManagemen.t,
30898
+ isSuperAdmin = _useTextbookManagemen.isSuperAdmin,
30599
30899
  isAdmin = _useTextbookManagemen.isAdmin,
30600
30900
  coverImage = _useTextbookManagemen.coverImage,
30601
30901
  selectedTextbook = _useTextbookManagemen.selectedTextbook,
@@ -30615,6 +30915,7 @@ var PreparedTextbookView = function PreparedTextbookView(_ref) {
30615
30915
  }, function (props) {
30616
30916
  return React__default.createElement(PreparedTextbookForm, Object.assign({
30617
30917
  isAdmin: isAdmin,
30918
+ isSuperAdmin: isSuperAdmin,
30618
30919
  selected: selected,
30619
30920
  textbookId: textbookId,
30620
30921
  onChangeTab: handleChangeTab,
@@ -31852,7 +32153,7 @@ var ChapterProblemSolvingResultsDialog = function ChapterProblemSolvingResultsDi
31852
32153
  }, t("cancel"))))));
31853
32154
  };
31854
32155
 
31855
- var _excluded$l = ["onChange"];
32156
+ var _excluded$m = ["onChange"];
31856
32157
  var StartPageDialog = function StartPageDialog(_ref) {
31857
32158
  var t = _ref.t,
31858
32159
  onClose = _ref.onClose,
@@ -31913,7 +32214,7 @@ var StartPageDialog = function StartPageDialog(_ref) {
31913
32214
  }, t("page_to_start_with")), React__default.createElement(formik.Field, {
31914
32215
  name: "startPage",
31915
32216
  render: function render(_ref3) {
31916
- var field = _objectWithoutPropertiesLoose(_ref3, _excluded$l);
32217
+ var field = _objectWithoutPropertiesLoose(_ref3, _excluded$m);
31917
32218
  return React__default.createElement(CustomSelectOption, Object.assign({
31918
32219
  menuPosition: "fixed",
31919
32220
  onChange: function onChange(option) {
@@ -34575,6 +34876,18 @@ Object.defineProperty(exports, 'DemoContainer', {
34575
34876
  }
34576
34877
  });
34577
34878
  exports.moment = moment;
34879
+ Object.defineProperty(exports, 'CellMeasurerCache', {
34880
+ enumerable: true,
34881
+ get: function () {
34882
+ return reactVirtualized.CellMeasurerCache;
34883
+ }
34884
+ });
34885
+ Object.defineProperty(exports, 'MultiGrid', {
34886
+ enumerable: true,
34887
+ get: function () {
34888
+ return reactVirtualized.MultiGrid;
34889
+ }
34890
+ });
34578
34891
  exports.ACADEMY_DOMAIN = ACADEMY_DOMAIN;
34579
34892
  exports.ACCESS_TOKEN = ACCESS_TOKEN;
34580
34893
  exports.AcademyHeaders = AcademyHeaders;
@@ -34586,6 +34899,7 @@ exports.ArticleCategorySelector = ArticleCategorySelector;
34586
34899
  exports.ArticleDialog = ArticleDialog;
34587
34900
  exports.ArticleGroupView = ArticleGroupView;
34588
34901
  exports.BASE_URL = BASE_URL;
34902
+ exports.BRIEF_GRADE_OPTIONS = BRIEF_GRADE_OPTIONS;
34589
34903
  exports.ChapterBox = _ChapterBox;
34590
34904
  exports.ChatContainer = ChatContainer;
34591
34905
  exports.ChatTypes = types;
@@ -34606,7 +34920,6 @@ exports.DATE_TIME_MIN_VALUE = DATE_TIME_MIN_VALUE;
34606
34920
  exports.DEFAULT_NOTE_FILTER = DEFAULT_NOTE_FILTER;
34607
34921
  exports.DEFAULT_PAGING_RESPONSE = DEFAULT_PAGING_RESPONSE;
34608
34922
  exports.DefaultErrorMessage = DefaultErrorMessage;
34609
- exports.ELEMENTARY_GRADES = ELEMENTARY_GRADES;
34610
34923
  exports.EXAM_CHANNEL = EXAM_CHANNEL;
34611
34924
  exports.EXAM_STUDENT_CHANNEL = EXAM_STUDENT_CHANNEL;
34612
34925
  exports.ExamDetailView = ExamDetailView;
@@ -34616,7 +34929,7 @@ exports.GOOGLE_CLIENT_ID = GOOGLE_CLIENT_ID;
34616
34929
  exports.GOOGLE_RECAPTCHA_ID = GOOGLE_RECAPTCHA_ID;
34617
34930
  exports.GOOGLE_RECAPTCHA_KEY = GOOGLE_RECAPTCHA_KEY;
34618
34931
  exports.GOOGLE_RECAPTCHA_SECRET = GOOGLE_RECAPTCHA_SECRET;
34619
- exports.HIGH_GRADES = HIGH_GRADES;
34932
+ exports.GRADE_OPTIONS = GRADE_OPTIONS;
34620
34933
  exports.Header = Header;
34621
34934
  exports.InputText = InputText;
34622
34935
  exports.LANGUAGE = LANGUAGE;
@@ -34630,7 +34943,6 @@ exports.Login = Login;
34630
34943
  exports.LoginQRCode = LoginQRCode;
34631
34944
  exports.LoginWithEmail = LoginWithEmail;
34632
34945
  exports.LoginWithPassword = SignIn;
34633
- exports.MIDDLE_GRADES = MIDDLE_GRADES;
34634
34946
  exports.MathJaxContainer = MathJaxContainer;
34635
34947
  exports.MathTinyEditor = MathTinyEditor;
34636
34948
  exports.NewNoteButton = NewNoteButton;
@@ -34658,7 +34970,6 @@ exports.REDIRECT_URL = REDIRECT_URL;
34658
34970
  exports.RELEASE_DATE = RELEASE_DATE;
34659
34971
  exports.RecentUserActionNames = RecentUserActionNames;
34660
34972
  exports.ReleaseAlert = ReleaseAlert;
34661
- exports.SCHOOL_OPTIONS = SCHOOL_OPTIONS;
34662
34973
  exports.SUPER_ADMIN_BASE_URL = SUPER_ADMIN_BASE_URL;
34663
34974
  exports.ScoreSelector = ScoreSelector;
34664
34975
  exports.SearchInput = SearchInput;