@elice/material-quiz 1.240718.0-trasncript.1 → 1.240718.0-trasncript.2

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 (127) hide show
  1. package/cjs/_virtual/_rollupPluginBabelHelpers.js +423 -0
  2. package/cjs/components/eb-sortable/EbDraggable.js +42 -33
  3. package/cjs/components/eb-sortable/EbDroppable.js +27 -20
  4. package/cjs/components/markdown-editor/index.d.ts +1 -2
  5. package/cjs/components/markdown-editor/index.js +19 -10
  6. package/cjs/components/material-quiz/MaterialQuiz.js +114 -83
  7. package/cjs/components/material-quiz/MaterialQuizAnswerExplanation.js +36 -29
  8. package/cjs/components/material-quiz/MaterialQuizInfo.js +151 -149
  9. package/cjs/components/material-quiz/MaterialQuizSelectMultiple.js +175 -127
  10. package/cjs/components/material-quiz/MaterialQuizSelectMultipleOrder.js +360 -286
  11. package/cjs/components/material-quiz/MaterialQuizSelectOne.js +172 -126
  12. package/cjs/components/material-quiz/MaterialQuizShimmer.js +46 -39
  13. package/cjs/components/material-quiz/MaterialQuizText.js +163 -115
  14. package/cjs/components/material-quiz/QuizResultBadge.js +32 -22
  15. package/cjs/components/material-quiz/QuizSubmitStatusText.js +21 -16
  16. package/cjs/components/material-quiz/constants/color.js +5 -5
  17. package/cjs/components/material-quiz/context/MaterialQuizContext.d.ts +1 -1
  18. package/cjs/components/material-quiz/context/MaterialQuizContext.js +156 -93
  19. package/cjs/components/material-quiz/index.js +9 -0
  20. package/cjs/components/material-quiz/locales/index.js +13 -0
  21. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroup.js +259 -161
  22. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroupDesktop.js +134 -100
  23. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroupMobile.js +130 -101
  24. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroupOptionItem.js +64 -52
  25. package/cjs/components/material-quiz/material-quiz-group/context/context.js +5 -1
  26. package/cjs/components/material-quiz-edit/MaterialQuizEdit.js +47 -36
  27. package/cjs/components/material-quiz-edit/MaterialQuizEditContent.js +280 -232
  28. package/cjs/components/material-quiz-edit/context.js +8 -2
  29. package/cjs/components/material-quiz-edit/index.js +7 -0
  30. package/cjs/components/material-quiz-edit/locales/index.js +13 -0
  31. package/cjs/components/material-quiz-edit/options/OptionEditor.js +70 -46
  32. package/cjs/components/material-quiz-edit/options/OptionSelectMultiple.js +174 -148
  33. package/cjs/components/material-quiz-edit/options/OptionSelectMultipleOrder.js +175 -149
  34. package/cjs/components/material-quiz-edit/options/OptionSelectOne.js +164 -144
  35. package/cjs/components/material-quiz-edit/options/OptionText.js +90 -82
  36. package/cjs/components/material-quiz-edit/options/options-group/OptionGroup.js +9 -8
  37. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupAnswerInfo.js +156 -112
  38. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupAnswerListItem.js +288 -196
  39. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupGroupInfo.js +88 -75
  40. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupGroupListItem.js +108 -92
  41. package/cjs/components/material-quiz-edit/utils/checkTwoDimensionArray.js +5 -1
  42. package/cjs/components/material-quiz-edit/utils/editValue.js +21 -12
  43. package/cjs/components/shared/QuestionBox.js +198 -165
  44. package/cjs/components/shared/QuizDraggbleDroppedOption.js +11 -12
  45. package/cjs/components/shared/QuizDraggbleDummyOption.js +23 -16
  46. package/cjs/components/shared/QuizDraggbleOption.js +65 -59
  47. package/cjs/components/shared/StyledMarkdown.js +5 -1
  48. package/cjs/components/shared/index.js +19 -0
  49. package/cjs/components/shared/question-checkbox/QuestionCheckbox.js +13 -7
  50. package/cjs/components/shared/question-checkbox/QuestionCheckboxContext.d.ts +1 -1
  51. package/cjs/components/shared/question-checkbox/QuestionCheckboxContext.js +24 -17
  52. package/cjs/components/shared/question-checkbox/QuestionCheckboxOption.js +59 -68
  53. package/cjs/components/shared/question-radio/QuestionRadio.js +13 -7
  54. package/cjs/components/shared/question-radio/QuestionRadioContext.d.ts +1 -1
  55. package/cjs/components/shared/question-radio/QuestionRadioContext.js +24 -17
  56. package/cjs/components/shared/question-radio/QuestionRadioOption.js +52 -59
  57. package/cjs/components/shared/utils/getQuestionStatusStyle.js +7 -9
  58. package/cjs/components/shared/utils/mergeRefs.js +15 -6
  59. package/cjs/constant/element.js +3 -3
  60. package/cjs/constant/index.js +9 -0
  61. package/cjs/helpers/index.js +8 -10
  62. package/cjs/hooks/index.js +7 -0
  63. package/cjs/hooks/useCaculatePassage.js +21 -20
  64. package/es/_virtual/_rollupPluginBabelHelpers.js +408 -0
  65. package/es/components/eb-sortable/EbDraggable.js +37 -33
  66. package/es/components/eb-sortable/EbDroppable.js +22 -20
  67. package/es/components/markdown-editor/index.d.ts +1 -2
  68. package/es/components/markdown-editor/index.js +15 -10
  69. package/es/components/material-quiz/MaterialQuiz.js +109 -83
  70. package/es/components/material-quiz/MaterialQuizAnswerExplanation.js +32 -29
  71. package/es/components/material-quiz/MaterialQuizInfo.js +148 -150
  72. package/es/components/material-quiz/MaterialQuizSelectMultiple.js +171 -127
  73. package/es/components/material-quiz/MaterialQuizSelectMultipleOrder.js +356 -287
  74. package/es/components/material-quiz/MaterialQuizSelectOne.js +168 -126
  75. package/es/components/material-quiz/MaterialQuizShimmer.js +42 -39
  76. package/es/components/material-quiz/MaterialQuizText.js +158 -115
  77. package/es/components/material-quiz/QuizResultBadge.js +27 -22
  78. package/es/components/material-quiz/QuizSubmitStatusText.js +17 -16
  79. package/es/components/material-quiz/constants/color.js +5 -5
  80. package/es/components/material-quiz/context/MaterialQuizContext.d.ts +1 -1
  81. package/es/components/material-quiz/context/MaterialQuizContext.js +153 -94
  82. package/es/components/material-quiz/index.js +2 -0
  83. package/es/components/material-quiz/locales/index.js +4 -0
  84. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroup.js +253 -161
  85. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroupDesktop.js +129 -100
  86. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroupMobile.js +125 -101
  87. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroupOptionItem.js +60 -52
  88. package/es/components/material-quiz/material-quiz-group/context/context.js +1 -1
  89. package/es/components/material-quiz-edit/MaterialQuizEdit.js +43 -36
  90. package/es/components/material-quiz-edit/MaterialQuizEditContent.js +272 -229
  91. package/es/components/material-quiz-edit/context.js +4 -2
  92. package/es/components/material-quiz-edit/index.js +1 -0
  93. package/es/components/material-quiz-edit/locales/index.js +4 -0
  94. package/es/components/material-quiz-edit/options/OptionEditor.js +64 -46
  95. package/es/components/material-quiz-edit/options/OptionSelectMultiple.js +170 -148
  96. package/es/components/material-quiz-edit/options/OptionSelectMultipleOrder.js +171 -149
  97. package/es/components/material-quiz-edit/options/OptionSelectOne.js +159 -144
  98. package/es/components/material-quiz-edit/options/OptionText.js +86 -82
  99. package/es/components/material-quiz-edit/options/options-group/OptionGroup.js +9 -8
  100. package/es/components/material-quiz-edit/options/options-group/OptionGroupAnswerInfo.js +151 -112
  101. package/es/components/material-quiz-edit/options/options-group/OptionGroupAnswerListItem.js +283 -197
  102. package/es/components/material-quiz-edit/options/options-group/OptionGroupGroupInfo.js +83 -75
  103. package/es/components/material-quiz-edit/options/options-group/OptionGroupGroupListItem.js +103 -92
  104. package/es/components/material-quiz-edit/utils/checkTwoDimensionArray.js +5 -1
  105. package/es/components/material-quiz-edit/utils/editValue.js +17 -12
  106. package/es/components/shared/QuestionBox.js +192 -165
  107. package/es/components/shared/QuizDraggbleDroppedOption.js +11 -12
  108. package/es/components/shared/QuizDraggbleDummyOption.js +19 -16
  109. package/es/components/shared/QuizDraggbleOption.js +61 -59
  110. package/es/components/shared/StyledMarkdown.js +1 -1
  111. package/es/components/shared/index.js +7 -0
  112. package/es/components/shared/question-checkbox/QuestionCheckbox.js +9 -7
  113. package/es/components/shared/question-checkbox/QuestionCheckboxContext.d.ts +1 -1
  114. package/es/components/shared/question-checkbox/QuestionCheckboxContext.js +20 -17
  115. package/es/components/shared/question-checkbox/QuestionCheckboxOption.js +54 -68
  116. package/es/components/shared/question-radio/QuestionRadio.js +9 -7
  117. package/es/components/shared/question-radio/QuestionRadioContext.d.ts +1 -1
  118. package/es/components/shared/question-radio/QuestionRadioContext.js +20 -17
  119. package/es/components/shared/question-radio/QuestionRadioOption.js +47 -59
  120. package/es/components/shared/utils/getQuestionStatusStyle.js +7 -9
  121. package/es/components/shared/utils/mergeRefs.js +15 -6
  122. package/es/constant/element.js +3 -3
  123. package/es/constant/index.js +1 -0
  124. package/es/helpers/index.js +8 -10
  125. package/es/hooks/index.js +1 -0
  126. package/es/hooks/useCaculatePassage.js +21 -20
  127. package/package.json +12 -15
@@ -2,6 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
6
+ var jsxRuntime = require('react/jsx-runtime');
5
7
  var React = require('react');
6
8
  var apiClient = require('@elice/api-client');
7
9
  var designTokens = require('@elice/design-tokens');
@@ -24,62 +26,77 @@ var MaterialQuizInfo = require('./MaterialQuizInfo.js');
24
26
  var QuizResultBadge = require('./QuizResultBadge.js');
25
27
  var QuizSubmitStatusText = require('./QuizSubmitStatusText.js');
26
28
 
27
- const MaterialQuizSelectMultiple = ({
28
- hasInlinePassage
29
- }) => {
29
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
30
+
31
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
32
+
33
+ var MaterialQuizSelectMultiple = function MaterialQuizSelectMultiple(_ref) {
34
+ var hasInlinePassage = _ref.hasInlinePassage;
30
35
  // context
31
- const {
32
- course,
33
- lecture,
34
- materialQuiz,
35
- userId
36
- } = MaterialQuizContext.useMaterialQuizState();
37
- const {
38
- onSubmit,
39
- onNext,
40
- refreshOrgMaterialQuiz,
41
- onDirty
42
- } = MaterialQuizContext.useMaterialQuizDispatch();
43
- const theme = material.useTheme();
36
+ var _useMaterialQuizState = MaterialQuizContext.useMaterialQuizState(),
37
+ course = _useMaterialQuizState.course,
38
+ lecture = _useMaterialQuizState.lecture,
39
+ materialQuiz = _useMaterialQuizState.materialQuiz,
40
+ userId = _useMaterialQuizState.userId;
41
+ var _useMaterialQuizDispa = MaterialQuizContext.useMaterialQuizDispatch(),
42
+ onSubmit = _useMaterialQuizDispa.onSubmit,
43
+ onNext = _useMaterialQuizDispa.onNext,
44
+ refreshOrgMaterialQuiz = _useMaterialQuizDispa.refreshOrgMaterialQuiz,
45
+ onDirty = _useMaterialQuizDispa.onDirty;
46
+ var theme = material.useTheme();
44
47
  // state
45
- const intl$1 = intl.useRawEliceIntl();
46
- const [selectedAnswer, setSelectedAnswer] = React.useState([]);
47
- const [materialQuizResponse, setMaterialQuizResponse] = React.useState();
48
- const [submitStatus, setSubmitStatus] = React.useState('idle');
49
- const {
50
- containerRef,
51
- questionRef
52
- } = useCaculatePassage.useCaculatePassage();
48
+ var intl$1 = intl.useRawEliceIntl();
49
+ var _React$useState = React__default.default.useState([]),
50
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
51
+ selectedAnswer = _React$useState2[0],
52
+ setSelectedAnswer = _React$useState2[1];
53
+ var _React$useState3 = React__default.default.useState(),
54
+ _React$useState4 = _rollupPluginBabelHelpers.slicedToArray(_React$useState3, 2),
55
+ materialQuizResponse = _React$useState4[0],
56
+ setMaterialQuizResponse = _React$useState4[1];
57
+ var _React$useState5 = React__default.default.useState('idle'),
58
+ _React$useState6 = _rollupPluginBabelHelpers.slicedToArray(_React$useState5, 2),
59
+ submitStatus = _React$useState6[0],
60
+ setSubmitStatus = _React$useState6[1];
61
+ var _useCaculatePassage = useCaculatePassage.useCaculatePassage(),
62
+ containerRef = _useCaculatePassage.containerRef,
63
+ questionRef = _useCaculatePassage.questionRef;
53
64
  // Whether user has clicked any options
54
- const [isActive, setIsActive] = React.useState(false);
55
- const [hasSubmitted, setHasSubmitted] = React.useState(false);
56
- const isNextActive = hasSubmitted && typeof onNext === 'function';
57
- const isDisabled = selectedAnswer.length === 0 || index.checkUserLectureTestEnded(lecture) || !!userId;
65
+ var _React$useState7 = React__default.default.useState(false),
66
+ _React$useState8 = _rollupPluginBabelHelpers.slicedToArray(_React$useState7, 2),
67
+ isActive = _React$useState8[0],
68
+ setIsActive = _React$useState8[1];
69
+ var _React$useState9 = React__default.default.useState(false),
70
+ _React$useState10 = _rollupPluginBabelHelpers.slicedToArray(_React$useState9, 2),
71
+ hasSubmitted = _React$useState10[0],
72
+ setHasSubmitted = _React$useState10[1];
73
+ var isNextActive = hasSubmitted && typeof onNext === 'function';
74
+ var isDisabled = selectedAnswer.length === 0 || index.checkUserLectureTestEnded(lecture) || !!userId;
58
75
  // answer select handler
59
- const handleAnswerSelect = index$1 => {
76
+ var handleAnswerSelect = function handleAnswerSelect(index$1) {
60
77
  if (index.checkUserLectureTestEnded(lecture) || !!userId) {
61
78
  return;
62
79
  }
63
80
  onDirty(true);
64
81
  setHasSubmitted(false);
65
82
  setIsActive(true);
66
- setSelectedAnswer(prevState => {
67
- const newState = prevState.includes(index$1) ? prevState.filter(ident => ident !== index$1) : [...prevState, index$1];
83
+ setSelectedAnswer(function (prevState) {
84
+ var newState = prevState.includes(index$1) ? prevState.filter(function (ident) {
85
+ return ident !== index$1;
86
+ }) : [].concat(_rollupPluginBabelHelpers.toConsumableArray(prevState), [index$1]);
68
87
  return newState;
69
88
  });
70
89
  };
71
90
  // quiz response fetcher
72
- React.useEffect(() => {
91
+ React__default.default.useEffect(function () {
73
92
  if (!userId && (materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.lastQuizResponseId)) {
74
- const controller = new AbortController();
75
- const {
76
- signal
77
- } = controller;
93
+ var controller = new AbortController();
94
+ var signal = controller.signal;
78
95
  apiClient.getOrgMaterialQuizResponseGet({
79
96
  quizResponseId: materialQuiz.lastQuizResponseId
80
97
  }, {
81
- signal
82
- }).then(response => {
98
+ signal: signal
99
+ }).then(function (response) {
83
100
  setMaterialQuizResponse(response.quizResponse);
84
101
  // when user submitted answers and not get the result yet, update selected options (for example, test quiz)
85
102
  // when is is a survey type quiz
@@ -89,19 +106,19 @@ const MaterialQuizSelectMultiple = ({
89
106
  setSelectedAnswer(response.quizResponse.answer);
90
107
  }
91
108
  setSelectedAnswer(response.quizResponse.answer);
92
- }).catch(error => {
109
+ }).catch(function (error) {
93
110
  console.error(error);
94
111
  });
95
- return () => controller.abort();
112
+ return function () {
113
+ return controller.abort();
114
+ };
96
115
  }
97
116
  }, [materialQuiz, userId]);
98
117
  // quiz response fetcher
99
- React.useEffect(() => {
118
+ React__default.default.useEffect(function () {
100
119
  if (userId && materialQuiz) {
101
- const controller = new AbortController();
102
- const {
103
- signal
104
- } = controller;
120
+ var controller = new AbortController();
121
+ var signal = controller.signal;
105
122
  apiClient.getOrgMaterialQuizResponseList({
106
123
  materialQuizId: materialQuiz.id,
107
124
  filterUserIds: [userId],
@@ -110,58 +127,84 @@ const MaterialQuizSelectMultiple = ({
110
127
  offset: 0,
111
128
  count: 1
112
129
  }, {
113
- signal
114
- }).then(response => {
115
- const quizResponse = response.quizResponses[0];
116
- const quizResponseAnswer = quizResponse === null || quizResponse === void 0 ? void 0 : quizResponse.answer;
130
+ signal: signal
131
+ }).then(function (response) {
132
+ var quizResponse = response.quizResponses[0];
133
+ var quizResponseAnswer = quizResponse === null || quizResponse === void 0 ? void 0 : quizResponse.answer;
117
134
  setMaterialQuizResponse(quizResponse);
118
135
  setSelectedAnswer(Array.isArray(quizResponseAnswer) ? quizResponseAnswer : []);
119
- }).catch(error => {
136
+ }).catch(function (error) {
120
137
  console.error(error);
121
138
  });
122
- return () => controller.abort();
139
+ return function () {
140
+ return controller.abort();
141
+ };
123
142
  }
124
143
  }, [materialQuiz, userId]);
125
144
  // submit handler
126
- const handleSubmit = async () => {
127
- if (!materialQuiz) {
128
- return;
129
- }
130
- setSubmitStatus('pending');
131
- try {
132
- const {
133
- quizResponseId
134
- } = await apiClient.postOrgMaterialQuizResponseAdd({
135
- materialQuizId: materialQuiz.id,
136
- answer: selectedAnswer
137
- });
138
- const {
139
- quizResponse
140
- } = await apiClient.getOrgMaterialQuizResponseGet({
141
- quizResponseId
142
- });
143
- setIsActive(false);
144
- setMaterialQuizResponse(quizResponse);
145
- void refreshOrgMaterialQuiz();
146
- onSubmit(true, index.getQuizResult(quizResponse));
147
- setSubmitStatus('resolved');
148
- setHasSubmitted(true);
149
- onDirty(false);
150
- } catch (error) {
151
- console.error(error);
152
- onSubmit(false);
153
- setSubmitStatus('rejected');
154
- }
155
- };
156
- return React.createElement(QuestionBox.default, {
145
+ var handleSubmit = /*#__PURE__*/function () {
146
+ var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee() {
147
+ var _yield$postOrgMateria, quizResponseId, _yield$getOrgMaterial, quizResponse;
148
+ return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
149
+ while (1) switch (_context.prev = _context.next) {
150
+ case 0:
151
+ if (materialQuiz) {
152
+ _context.next = 2;
153
+ break;
154
+ }
155
+ return _context.abrupt("return");
156
+ case 2:
157
+ setSubmitStatus('pending');
158
+ _context.prev = 3;
159
+ _context.next = 6;
160
+ return apiClient.postOrgMaterialQuizResponseAdd({
161
+ materialQuizId: materialQuiz.id,
162
+ answer: selectedAnswer
163
+ });
164
+ case 6:
165
+ _yield$postOrgMateria = _context.sent;
166
+ quizResponseId = _yield$postOrgMateria.quizResponseId;
167
+ _context.next = 10;
168
+ return apiClient.getOrgMaterialQuizResponseGet({
169
+ quizResponseId: quizResponseId
170
+ });
171
+ case 10:
172
+ _yield$getOrgMaterial = _context.sent;
173
+ quizResponse = _yield$getOrgMaterial.quizResponse;
174
+ setIsActive(false);
175
+ setMaterialQuizResponse(quizResponse);
176
+ void refreshOrgMaterialQuiz();
177
+ onSubmit(true, index.getQuizResult(quizResponse));
178
+ setSubmitStatus('resolved');
179
+ setHasSubmitted(true);
180
+ onDirty(false);
181
+ _context.next = 26;
182
+ break;
183
+ case 21:
184
+ _context.prev = 21;
185
+ _context.t0 = _context["catch"](3);
186
+ console.error(_context.t0);
187
+ onSubmit(false);
188
+ setSubmitStatus('rejected');
189
+ case 26:
190
+ case "end":
191
+ return _context.stop();
192
+ }
193
+ }, _callee, null, [[3, 21]]);
194
+ }));
195
+ return function handleSubmit() {
196
+ return _ref2.apply(this, arguments);
197
+ };
198
+ }();
199
+ return jsxRuntime.jsx(QuestionBox.default, {
157
200
  title: materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.questionTitle,
158
201
  titlePrefix: "Q.",
159
202
  onNext: onNext,
160
203
  isNextActive: isNextActive,
161
- submitResult: React.createElement(QuizResultBadge.default, {
204
+ submitResult: jsxRuntime.jsx(QuizResultBadge.default, {
162
205
  materialQuizResponse: materialQuizResponse
163
206
  }),
164
- submitStatus: React.createElement(QuizSubmitStatusText.default, {
207
+ submitStatus: jsxRuntime.jsx(QuizSubmitStatusText.default, {
165
208
  status: submitStatus
166
209
  }),
167
210
  bodyContainerRef: containerRef,
@@ -179,49 +222,54 @@ const MaterialQuizSelectMultiple = ({
179
222
  backgroundColor: isNextActive ? theme.palette.secondary.main : isDisabled ? designTokens.base.color.gray6 : theme.palette.primary.main,
180
223
  color: isNextActive ? theme.palette.secondary.contrastText : isDisabled ? designTokens.base.color.gray3 : theme.palette.primary.contrastText
181
224
  }
182
- }]
183
- }, React.createElement(material.Stack, {
184
- height: "100%",
185
- gap: "1rem"
186
- }, hasInlinePassage && React.createElement("div", {
187
- id: element.MATERIAL_QUIZ_PASSIVE_ID,
188
- ref: questionRef
189
- }, React.createElement(MaterialQuizInfo.default, {
190
- renderWithBox: false
191
- })), React.createElement("div", {
192
- id: element.MATERIAL_QUIZ_ANSWER_ID
193
- }, React.createElement(QuestionCheckbox.default, {
194
- onSelect: handleAnswerSelect,
195
- selectedOptions: selectedAnswer,
196
- disabled: submitStatus === 'pending' || index.checkUserLectureTestEnded(lecture) || !!userId
197
- }, (materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.options) && course ? materialQuiz.options.map((option, index$1) => {
198
- var _a;
199
- const getIsSelected = (index, materialQuizResponse) => {
200
- var _a;
201
- if (!materialQuizResponse) {
202
- return false;
203
- }
204
- const materialQuizResponseAnswer = materialQuizResponse.answer;
205
- return (_a = materialQuizResponseAnswer.includes(index)) !== null && _a !== void 0 ? _a : false;
206
- };
207
- const status = index.getOptionStatus({
208
- materialQuizResponse,
209
- isSelected: getIsSelected(index$1, materialQuizResponse),
210
- isActive
211
- });
212
- const materialQuizAnswerInfo = materialQuiz.answerInfo;
213
- return React.createElement(QuestionCheckboxOption.default, {
214
- key: index$1,
215
- value: index$1,
216
- status: status,
217
- isAnswer: !!userId && Array.isArray(materialQuizAnswerInfo) && materialQuizAnswerInfo.includes(index$1)
218
- }, course.preference.renderMarkdownInQuizOptions ? React.createElement(StyledMarkdown.default, {
219
- children: (_a = option === null || option === void 0 ? void 0 : option.content) !== null && _a !== void 0 ? _a : '',
220
- paddingx: 0,
221
- paddingy: 0,
222
- dark: true
223
- }) : option === null || option === void 0 ? void 0 : option.content);
224
- }) : null), React.createElement(MaterialQuizAnswerExplanation.default, null))));
225
+ }],
226
+ children: jsxRuntime.jsxs(material.Stack, {
227
+ height: "100%",
228
+ gap: "1rem",
229
+ children: [hasInlinePassage && jsxRuntime.jsx("div", {
230
+ id: element.MATERIAL_QUIZ_PASSIVE_ID,
231
+ ref: questionRef,
232
+ children: jsxRuntime.jsx(MaterialQuizInfo.default, {
233
+ renderWithBox: false
234
+ })
235
+ }), jsxRuntime.jsxs("div", {
236
+ id: element.MATERIAL_QUIZ_ANSWER_ID,
237
+ children: [jsxRuntime.jsx(QuestionCheckbox.default, {
238
+ onSelect: handleAnswerSelect,
239
+ selectedOptions: selectedAnswer,
240
+ disabled: submitStatus === 'pending' || index.checkUserLectureTestEnded(lecture) || !!userId,
241
+ children: (materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.options) && course ? materialQuiz.options.map(function (option, index$1) {
242
+ var _a;
243
+ var getIsSelected = function getIsSelected(index, materialQuizResponse) {
244
+ var _a;
245
+ if (!materialQuizResponse) {
246
+ return false;
247
+ }
248
+ var materialQuizResponseAnswer = materialQuizResponse.answer;
249
+ return (_a = materialQuizResponseAnswer.includes(index)) !== null && _a !== void 0 ? _a : false;
250
+ };
251
+ var status = index.getOptionStatus({
252
+ materialQuizResponse: materialQuizResponse,
253
+ isSelected: getIsSelected(index$1, materialQuizResponse),
254
+ isActive: isActive
255
+ });
256
+ var materialQuizAnswerInfo = materialQuiz.answerInfo;
257
+ return jsxRuntime.jsx(QuestionCheckboxOption.default, {
258
+ value: index$1,
259
+ status: status,
260
+ isAnswer: !!userId && Array.isArray(materialQuizAnswerInfo) && materialQuizAnswerInfo.includes(index$1),
261
+ children: course.preference.renderMarkdownInQuizOptions ? jsxRuntime.jsx(StyledMarkdown.default, {
262
+ children: (_a = option === null || option === void 0 ? void 0 : option.content) !== null && _a !== void 0 ? _a : '',
263
+ paddingx: 0,
264
+ paddingy: 0,
265
+ dark: true
266
+ }) : option === null || option === void 0 ? void 0 : option.content
267
+ }, index$1);
268
+ }) : null
269
+ }), jsxRuntime.jsx(MaterialQuizAnswerExplanation.default, {})]
270
+ })]
271
+ })
272
+ });
225
273
  };
226
274
 
227
275
  exports.default = MaterialQuizSelectMultiple;