@elice/material-quiz 1.240705.0-quiz.8 → 1.240705.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/cjs/components/material-quiz/MaterialQuiz.js +10 -31
  2. package/cjs/components/material-quiz/MaterialQuizInfo.js +12 -57
  3. package/cjs/components/material-quiz/MaterialQuizSelectMultiple.js +4 -11
  4. package/cjs/components/material-quiz/MaterialQuizSelectMultipleOrder.js +4 -10
  5. package/cjs/components/material-quiz/MaterialQuizSelectOne.js +4 -11
  6. package/cjs/components/material-quiz/MaterialQuizText.js +3 -8
  7. package/cjs/components/material-quiz/context/MaterialQuizContext.d.ts +0 -2
  8. package/cjs/components/material-quiz/context/MaterialQuizContext.js +2 -14
  9. package/cjs/components/material-quiz/locales/en.json.js +1 -1
  10. package/cjs/components/material-quiz/locales/ja.json.js +1 -1
  11. package/cjs/components/material-quiz/locales/ko.json.js +1 -1
  12. package/cjs/components/material-quiz/locales/th.json.js +1 -1
  13. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroup.js +25 -14
  14. package/cjs/components/shared/QuestionBox.js +36 -56
  15. package/cjs/hooks/useCaculatePassage.js +3 -13
  16. package/es/components/material-quiz/MaterialQuiz.js +10 -31
  17. package/es/components/material-quiz/MaterialQuizInfo.js +13 -58
  18. package/es/components/material-quiz/MaterialQuizSelectMultiple.js +6 -13
  19. package/es/components/material-quiz/MaterialQuizSelectMultipleOrder.js +5 -11
  20. package/es/components/material-quiz/MaterialQuizSelectOne.js +5 -12
  21. package/es/components/material-quiz/MaterialQuizText.js +4 -9
  22. package/es/components/material-quiz/context/MaterialQuizContext.d.ts +0 -2
  23. package/es/components/material-quiz/context/MaterialQuizContext.js +3 -15
  24. package/es/components/material-quiz/locales/en.json.js +1 -1
  25. package/es/components/material-quiz/locales/ja.json.js +1 -1
  26. package/es/components/material-quiz/locales/ko.json.js +1 -1
  27. package/es/components/material-quiz/locales/th.json.js +1 -1
  28. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroup.js +26 -15
  29. package/es/components/shared/QuestionBox.js +36 -56
  30. package/es/hooks/useCaculatePassage.js +4 -14
  31. package/package.json +4 -5
  32. package/cjs/components/shared/utils/mergeRefs.d.ts +0 -2
  33. package/cjs/components/shared/utils/mergeRefs.js +0 -11
  34. package/es/components/shared/utils/mergeRefs.d.ts +0 -2
  35. package/es/components/shared/utils/mergeRefs.js +0 -9
@@ -6,9 +6,7 @@ var React = require('react');
6
6
  var reactUse = require('react-use');
7
7
  var designTokens = require('@elice/design-tokens');
8
8
  var intl = require('@elice/intl');
9
- var muiSystem = require('@elice/mui-system');
10
9
  var types = require('@elice/types');
11
- var material = require('@mui/material');
12
10
  var styled = require('styled-components');
13
11
  var element = require('../../constant/element.js');
14
12
  var MaterialQuizContext = require('./context/MaterialQuizContext.js');
@@ -17,40 +15,27 @@ var ko = require('./locales/ko.json.js');
17
15
  var MaterialQuizShimmer = require('./MaterialQuizShimmer.js');
18
16
  var MaterialQuizInfo = require('./MaterialQuizInfo.js');
19
17
 
20
- const eliceTheme = muiSystem.createEliceTheme({
21
- paletteMode: 'dark',
22
- paletteName: 'purple'
23
- });
24
18
  const AsyncMaterialQuizSelectMultiple = React.lazy(() => Promise.resolve().then(function () { return require('./MaterialQuizSelectMultiple.js'); }));
25
19
  const AsyncMaterialQuizSelectMultipleOrder = React.lazy(() => Promise.resolve().then(function () { return require('./MaterialQuizSelectMultipleOrder.js'); }));
26
20
  const AsyncMaterialQuizText = React.lazy(() => Promise.resolve().then(function () { return require('./MaterialQuizText.js'); }));
27
21
  const AsyncMaterialQuizSelectOne = React.lazy(() => Promise.resolve().then(function () { return require('./MaterialQuizSelectOne.js'); }));
28
22
  const AsyncMaterialQuizGroup = React.lazy(() => Promise.resolve().then(function () { return require('./material-quiz-group/index.js'); }));
29
- // 746px
30
- const MAX_CONTENT_WIDTH = '46.625rem';
31
23
  const StyledMaterialQuizInfo = styled.div.withConfig({
32
24
  componentId: "sc-1eyn8fb-0"
33
25
  })([""]);
34
26
  const StyledMaterialQuizContent = styled.div.withConfig({
35
27
  componentId: "sc-1eyn8fb-1"
36
- })(["position:relative;z-index:0;min-width:0;margin:", ";height:100%;"], ({
28
+ })(["min-width:0;margin:", ";height:100%;"], ({
37
29
  vertical
38
30
  }) => vertical ? 'unset' : 'auto');
39
- const LoadingContainer = styled.div.withConfig({
40
- componentId: "sc-1eyn8fb-2"
41
- })(["position:absolute;width:100%;height:100%;top:0;left:0;z-index:1;max-width:none !important;background-color:", ";"], designTokens.base.color.navy8);
42
31
  const StyledMaterialQuizWrapper = styled.div.withConfig({
43
- componentId: "sc-1eyn8fb-3"
44
- })(["-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;width:100%;height:100%;flex-direction:", ";position:relative;& > *{flex:", ";max-width:", ";}gap:1rem;", "{height:", ";overflow-y:", ";& > div{max-height:unset;}}"], ({
32
+ componentId: "sc-1eyn8fb-2"
33
+ })(["-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;width:100%;height:100%;flex-direction:", ";& > *{flex:", ";}gap:1rem;", "{height:", ";overflow-y:", ";& > div{max-height:unset;}}"], ({
45
34
  vertical
46
35
  }) => vertical ? 'column' : 'row', ({
47
36
  vertical,
48
37
  isQuizGroupType
49
- }) => vertical || isQuizGroupType ? 'auto' : '1', ({
50
- vertical,
51
- isQuizGroupType,
52
- isLongPassage
53
- }) => !isLongPassage && !vertical && !isQuizGroupType ? `${MAX_CONTENT_WIDTH}` : 'unset', StyledMaterialQuizInfo, ({
38
+ }) => vertical || isQuizGroupType ? 'auto' : '0.5', StyledMaterialQuizInfo, ({
54
39
  vertical
55
40
  }) => vertical ? 'auto' : '100%', ({
56
41
  vertical
@@ -60,8 +45,7 @@ const MaterialQuiz = () => {
60
45
  materialQuiz,
61
46
  vertical,
62
47
  course,
63
- isLongPassage,
64
- isInitialLoading
48
+ isLongPassage
65
49
  } = MaterialQuizContext.useMaterialQuizState();
66
50
  const {
67
51
  setVertical
@@ -70,8 +54,6 @@ const MaterialQuiz = () => {
70
54
  width
71
55
  }] = reactUse.useMeasure();
72
56
  const isQuizGroupType = Boolean((materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.optionType) === types.enums.QuizOptionType.Group);
73
- const isFetchingData = !materialQuiz || !course;
74
- const isLoadingLayout = isFetchingData || isInitialLoading;
75
57
  const isVisibleSideBySide = !vertical && isLongPassage && !isQuizGroupType;
76
58
  const isRenderQuestionWithPassage = (vertical || !isLongPassage || isQuizGroupType) && !!materialQuiz;
77
59
  React.useEffect(() => {
@@ -80,8 +62,8 @@ const MaterialQuiz = () => {
80
62
  }
81
63
  }, [width, setVertical]);
82
64
  const renderQuestionOption = () => {
83
- if (isFetchingData) {
84
- return null;
65
+ if (!materialQuiz || !course) {
66
+ return React.createElement(MaterialQuizShimmer.default, null);
85
67
  }
86
68
  switch (materialQuiz.optionType) {
87
69
  case types.enums.QuizOptionType.SelectOne:
@@ -109,9 +91,8 @@ const MaterialQuiz = () => {
109
91
  }, React.createElement(StyledMaterialQuizWrapper, {
110
92
  ref: ref,
111
93
  vertical: vertical,
112
- isQuizGroupType: isQuizGroupType,
113
- isLongPassage: isLongPassage
114
- }, isLoadingLayout && React.createElement(LoadingContainer, null, React.createElement(MaterialQuizShimmer.default, null)), isVisibleSideBySide && React.createElement(StyledMaterialQuizInfo, null, React.createElement(MaterialQuizInfo.default, null)), React.createElement(StyledMaterialQuizContent, {
94
+ isQuizGroupType: isQuizGroupType
95
+ }, isVisibleSideBySide && React.createElement(StyledMaterialQuizInfo, null, React.createElement(MaterialQuizInfo.default, null)), React.createElement(StyledMaterialQuizContent, {
115
96
  id: element.MATERIAL_QUIZ_CONTAINER_ID,
116
97
  vertical: vertical
117
98
  }, renderQuestionOption())));
@@ -126,15 +107,13 @@ const MaterialQuizContainer = ({
126
107
  }) => {
127
108
  return React.createElement(intl.RawEliceIntlProvider, {
128
109
  value: __intl
129
- }, React.createElement(material.ThemeProvider, {
130
- theme: eliceTheme
131
110
  }, React.createElement(MaterialQuizContext.MaterialQuizProvider, {
132
111
  materialQuizId: materialQuizId,
133
112
  userId: userId,
134
113
  onDirty: onDirty,
135
114
  onSubmit: onSubmit,
136
115
  onNext: onNext
137
- }, React.createElement(MaterialQuiz, null))));
116
+ }, React.createElement(MaterialQuiz, null)));
138
117
  };
139
118
  var MaterialQuiz$1 = new intl.IntlComponentBuilder(MaterialQuizContainer).add('en', en.default).add('ko', ko.default).addAsync('th', Promise.resolve().then(function () { return require('./locales/th.json.js'); })).addAsync('ja', Promise.resolve().then(function () { return require('./locales/ja.json.js'); })).build();
140
119
 
@@ -3,15 +3,15 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var reactUse = require('react-use');
7
6
  var blocks = require('@elice/blocks');
7
+ var designTokens = require('@elice/design-tokens');
8
8
  var icons = require('@elice/icons');
9
9
  var markdown = require('@elice/markdown');
10
10
  var material = require('@mui/material');
11
11
  var styled = require('styled-components');
12
12
  var QuestionBox = require('../shared/QuestionBox.js');
13
- var mergeRefs = require('../shared/utils/mergeRefs.js');
14
13
  var MaterialQuizContext = require('./context/MaterialQuizContext.js');
14
+ var MaterialQuizAnswerExplanation = require('./MaterialQuizAnswerExplanation.js');
15
15
 
16
16
  //
17
17
  //
@@ -24,51 +24,23 @@ const StyledMarkdownSSR = styled(markdown.MarkdownSSR).withConfig({
24
24
  //
25
25
  const IMAGE_CONTAINER_CLASSNAME = 'markdown-zoomable-image-container';
26
26
  const ZOOM_ICON_CLASSNAME = 'markdown-zoom-icon';
27
- const MarkdownContainer = material.styled('div')`
28
- .${IMAGE_CONTAINER_CLASSNAME} {
29
- position: relative;
30
-
31
- span.${ZOOM_ICON_CLASSNAME} {
32
- cursor: pointer;
33
-
34
- position: absolute;
35
- top: 0;
36
- right: ${({
37
- vertical
38
- }) => vertical ? '0!important' : '0'};
39
-
40
- width: 2rem;
41
- aspect-ratio: 1;
42
- background-color: ${({
43
- theme
44
- }) => theme.palette.inverse.main};
45
- margin: 0.5rem;
46
- border-radius: 50%;
47
-
48
- display: flex;
49
- align-items: center;
50
- justify-content: center;
51
- }
52
- }
53
- `;
27
+ const MarkdownContainer = styled.div.withConfig({
28
+ componentId: "sc-1s7jbf9-1"
29
+ })([".", "{position:relative;span.", "{cursor:pointer;position:absolute;right:0;top:0;width:2rem;aspect-ratio:1;background-color:", ";margin:0.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;}}"], IMAGE_CONTAINER_CLASSNAME, ZOOM_ICON_CLASSNAME, designTokens.base.color.tertiary9);
54
30
  const MaterialQuizInfo = ({
55
31
  renderWithBox = true
56
32
  }) => {
57
33
  const {
58
- materialQuiz,
59
- vertical
34
+ materialQuiz
60
35
  } = MaterialQuizContext.useMaterialQuizState();
61
36
  const [isRenderFinish, setIsRenderFinish] = React.useState(false);
62
37
  const containerRef = React.useRef(null);
63
- const [markdownMeasueRef, {
64
- width
65
- }] = reactUse.useMeasure();
66
- const ref = mergeRefs.mergeRefs(containerRef, markdownMeasueRef);
67
38
  const [zoomImageUrl, setZoomImageUrl] = React.useState('');
68
39
  React.useEffect(() => {
69
40
  if (!(materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.questionDescription) || !isRenderFinish || !containerRef.current) return;
41
+ const images = containerRef.current.querySelectorAll('img');
70
42
  // append zoom icon for image html render by MarkdownSSR
71
- containerRef.current.querySelectorAll('img').forEach(img => {
43
+ images.forEach(img => {
72
44
  const parent = img.parentElement;
73
45
  const zoomIconStr = `
74
46
  <svg width="25" height="25" viewBox="0 0 25 25" fill="white" xmlns="http://www.w3.org/2000/svg">
@@ -76,44 +48,27 @@ const MaterialQuizInfo = ({
76
48
  </svg>
77
49
  `;
78
50
  if (parent) {
79
- const imageRect = img.getBoundingClientRect();
80
- const parentRect = parent.getBoundingClientRect();
81
- const zoomIcons = parent.querySelectorAll(`.${ZOOM_ICON_CLASSNAME}`);
82
- const totalImages = Array.from(parent.querySelectorAll(`img`));
83
- const idx = totalImages.findIndex(item => item === img);
84
- // restyle the zoom position when chaging the width instead of recreate it
85
- if (zoomIcons.length === totalImages.length && idx !== -1) {
86
- zoomIcons[idx].style.top = `${imageRect.top - parentRect.top}px`;
87
- zoomIcons[idx].style.right = `${parentRect.right - imageRect.right}px`;
88
- return;
89
- }
90
51
  parent.classList.add(IMAGE_CONTAINER_CLASSNAME);
91
52
  parent.style.position = 'relative';
92
53
  const span = document.createElement('span');
93
54
  span.innerHTML = zoomIconStr;
94
55
  span.classList.add(ZOOM_ICON_CLASSNAME);
95
- span.style.top = `${imageRect.top - parentRect.top}px`;
96
- span.style.right = `${parentRect.right - imageRect.right}px`;
97
56
  span.onclick = () => {
98
57
  setZoomImageUrl(img.src);
99
58
  };
100
59
  parent.appendChild(span);
101
60
  }
102
61
  });
103
- }, [materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.questionDescription, isRenderFinish, width]);
62
+ }, [materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.questionDescription, isRenderFinish]);
104
63
  const onCloseImageModal = () => {
105
64
  setZoomImageUrl('');
106
65
  };
107
66
  const _renderQuiz = () => {
108
67
  return React.createElement(React.Fragment, null, materialQuiz ? React.createElement(MarkdownContainer, {
109
- ref: ref,
110
- vertical: vertical
68
+ ref: containerRef
111
69
  }, React.createElement(StyledMarkdownSSR, {
112
70
  onRender: () => {
113
- // set timeout for waiting time to the image can render
114
- setTimeout(() => {
115
- setIsRenderFinish(true);
116
- }, 300);
71
+ setIsRenderFinish(true);
117
72
  },
118
73
  children: materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.questionDescription,
119
74
  dark: true,
@@ -186,7 +141,7 @@ const MaterialQuizInfo = ({
186
141
  top: '-10%'
187
142
  },
188
143
  onClick: onCloseImageModal
189
- }))));
144
+ }))), React.createElement(MaterialQuizAnswerExplanation.default, null));
190
145
  };
191
146
  if (renderWithBox) return React.createElement(QuestionBox.default, null, _renderQuiz());
192
147
  return React.createElement(React.Fragment, null, _renderQuiz());
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var apiClient = require('@elice/api-client');
7
- var designTokens = require('@elice/design-tokens');
8
7
  var intl = require('@elice/intl');
9
8
  var material = require('@mui/material');
10
9
  var element = require('../../constant/element.js');
@@ -19,7 +18,6 @@ var QuestionCheckboxOption = require('../shared/question-checkbox/QuestionCheckb
19
18
  var QuestionBox = require('../shared/QuestionBox.js');
20
19
  var StyledMarkdown = require('../shared/StyledMarkdown.js');
21
20
  var MaterialQuizContext = require('./context/MaterialQuizContext.js');
22
- var MaterialQuizAnswerExplanation = require('./MaterialQuizAnswerExplanation.js');
23
21
  var MaterialQuizInfo = require('./MaterialQuizInfo.js');
24
22
  var QuizResultBadge = require('./QuizResultBadge.js');
25
23
  var QuizSubmitStatusText = require('./QuizSubmitStatusText.js');
@@ -40,7 +38,6 @@ const MaterialQuizSelectMultiple = ({
40
38
  refreshOrgMaterialQuiz,
41
39
  onDirty
42
40
  } = MaterialQuizContext.useMaterialQuizDispatch();
43
- const theme = material.useTheme();
44
41
  // state
45
42
  const intl$1 = intl.useRawEliceIntl();
46
43
  const [selectedAnswer, setSelectedAnswer] = React.useState([]);
@@ -54,7 +51,6 @@ const MaterialQuizSelectMultiple = ({
54
51
  const [isActive, setIsActive] = React.useState(false);
55
52
  const [hasSubmitted, setHasSubmitted] = React.useState(false);
56
53
  const isNextActive = hasSubmitted && typeof onNext === 'function';
57
- const isDisabled = selectedAnswer.length === 0 || index.checkUserLectureTestEnded(lecture) || !!userId;
58
54
  // answer select handler
59
55
  const handleAnswerSelect = index$1 => {
60
56
  if (index.checkUserLectureTestEnded(lecture) || !!userId) {
@@ -167,18 +163,15 @@ const MaterialQuizSelectMultiple = ({
167
163
  bodyContainerRef: containerRef,
168
164
  footerActions: [{
169
165
  border: true,
170
- disabled: isDisabled,
166
+ disabled: selectedAnswer.length === 0 || index.checkUserLectureTestEnded(lecture) || !!userId,
171
167
  loading: submitStatus === 'pending',
172
168
  tabIndex: 0,
173
169
  transparent: false,
170
+ role: isNextActive ? 'secondary' : 'lightpurple',
174
171
  onClick: handleSubmit,
175
172
  children: intl$1.formatMessage({
176
173
  id: isNextActive ? 'materialQuiz.resubmit' : 'materialQuiz.submit'
177
- }),
178
- customStyles: {
179
- backgroundColor: isNextActive ? theme.palette.secondary.main : isDisabled ? designTokens.base.color.gray6 : theme.palette.primary.main,
180
- color: isNextActive ? theme.palette.secondary.contrastText : isDisabled ? designTokens.base.color.gray3 : theme.palette.primary.contrastText
181
- }
174
+ })
182
175
  }]
183
176
  }, React.createElement(material.Stack, {
184
177
  height: "100%",
@@ -221,7 +214,7 @@ const MaterialQuizSelectMultiple = ({
221
214
  paddingy: 0,
222
215
  dark: true
223
216
  }) : option === null || option === void 0 ? void 0 : option.content);
224
- }) : null), React.createElement(MaterialQuizAnswerExplanation.default, null))));
217
+ }) : null))));
225
218
  };
226
219
 
227
220
  exports.default = MaterialQuizSelectMultiple;
@@ -19,7 +19,6 @@ var QuizDraggbleDroppedOption = require('../shared/QuizDraggbleDroppedOption.js'
19
19
  var QuizDraggbleDummyOption = require('../shared/QuizDraggbleDummyOption.js');
20
20
  var QuizDraggbleOption = require('../shared/QuizDraggbleOption.js');
21
21
  var MaterialQuizContext = require('./context/MaterialQuizContext.js');
22
- var MaterialQuizAnswerExplanation = require('./MaterialQuizAnswerExplanation.js');
23
22
  var MaterialQuizInfo = require('./MaterialQuizInfo.js');
24
23
  var QuizResultBadge = require('./QuizResultBadge.js');
25
24
  var QuizSubmitStatusText = require('./QuizSubmitStatusText.js');
@@ -77,7 +76,6 @@ const MaterialQuizSelectMultipleOrder = ({
77
76
  refreshOrgMaterialQuiz,
78
77
  onDirty
79
78
  } = MaterialQuizContext.useMaterialQuizDispatch();
80
- const theme = material.useTheme();
81
79
  // state
82
80
  const intl$1 = intl.useRawEliceIntl();
83
81
  const [materialQuizResponse, setMaterialQuizResponse] = React.useState();
@@ -92,7 +90,6 @@ const MaterialQuizSelectMultipleOrder = ({
92
90
  const [correctAnswerList, setCorrectAnswerList] = React.useState([]);
93
91
  const [hasSubmitted, setHasSubmitted] = React.useState(false);
94
92
  const isNextActive = hasSubmitted && typeof onNext === 'function';
95
- const isDisabled = (materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.correctOptionCount) !== answerList.filter(answer => answer.order !== null).length || !!userId;
96
93
  // ref
97
94
  const optionBoxRef = React.useRef(null);
98
95
  // to make jquery touchable
@@ -422,18 +419,15 @@ const MaterialQuizSelectMultipleOrder = ({
422
419
  bodyContainerRef: containerRef,
423
420
  footerActions: [{
424
421
  border: true,
425
- disabled: isDisabled,
422
+ disabled: (materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.correctOptionCount) !== answerList.filter(answer => answer.order !== null).length || !!userId,
426
423
  loading: submitStatus === 'pending',
427
424
  tabIndex: 0,
428
425
  transparent: false,
426
+ role: isNextActive ? 'secondary' : 'lightpurple',
429
427
  onClick: handleSubmit,
430
428
  children: intl$1.formatMessage({
431
429
  id: isNextActive ? 'materialQuiz.resubmit' : 'materialQuiz.submit'
432
- }),
433
- customStyles: {
434
- backgroundColor: isNextActive ? theme.palette.secondary.main : isDisabled ? designTokens.base.color.gray6 : theme.palette.primary.main,
435
- color: isNextActive ? theme.palette.secondary.contrastText : isDisabled ? designTokens.base.color.gray3 : theme.palette.primary.contrastText
436
- }
430
+ })
437
431
  }]
438
432
  }, React.createElement(material.Stack, {
439
433
  height: "100%",
@@ -478,7 +472,7 @@ const MaterialQuizSelectMultipleOrder = ({
478
472
  indexOrder: index + 1,
479
473
  isMarkdown: !!(course === null || course === void 0 ? void 0 : course.preference.renderMarkdownInQuizOptions)
480
474
  });
481
- }))) : null, React.createElement(MaterialQuizAnswerExplanation.default, null))));
475
+ }))) : null)));
482
476
  };
483
477
 
484
478
  exports.default = MaterialQuizSelectMultipleOrder;
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var apiClient = require('@elice/api-client');
7
- var designTokens = require('@elice/design-tokens');
8
7
  var intl = require('@elice/intl');
9
8
  var material = require('@mui/material');
10
9
  var element = require('../../constant/element.js');
@@ -19,7 +18,6 @@ require('../shared/question-checkbox/QuestionCheckboxOption.js');
19
18
  var QuestionBox = require('../shared/QuestionBox.js');
20
19
  var StyledMarkdown = require('../shared/StyledMarkdown.js');
21
20
  var MaterialQuizContext = require('./context/MaterialQuizContext.js');
22
- var MaterialQuizAnswerExplanation = require('./MaterialQuizAnswerExplanation.js');
23
21
  var MaterialQuizInfo = require('./MaterialQuizInfo.js');
24
22
  var QuizResultBadge = require('./QuizResultBadge.js');
25
23
  var QuizSubmitStatusText = require('./QuizSubmitStatusText.js');
@@ -40,7 +38,6 @@ const MaterialQuizSelectOne = ({
40
38
  refreshOrgMaterialQuiz,
41
39
  onDirty
42
40
  } = MaterialQuizContext.useMaterialQuizDispatch();
43
- const theme = material.useTheme();
44
41
  // state
45
42
  const intl$1 = intl.useRawEliceIntl();
46
43
  const [selectedAnswer, setSelectedAnswer] = React.useState();
@@ -54,7 +51,6 @@ const MaterialQuizSelectOne = ({
54
51
  const [isActive, setIsActive] = React.useState(false);
55
52
  const [hasSubmitted, setHasSubmitted] = React.useState(false);
56
53
  const isNextActive = hasSubmitted && typeof onNext === 'function';
57
- const isDisabled = selectedAnswer === undefined || index.checkUserLectureTestEnded(lecture) || !!userId;
58
54
  // answer select handler
59
55
  const handleAnswerSelect = index$1 => {
60
56
  if (index.checkUserLectureTestEnded(lecture) || !!userId) {
@@ -158,18 +154,15 @@ const MaterialQuizSelectOne = ({
158
154
  bodyContainerRef: containerRef,
159
155
  footerActions: [{
160
156
  border: true,
161
- disabled: isDisabled,
157
+ disabled: selectedAnswer === undefined || index.checkUserLectureTestEnded(lecture) || !!userId,
162
158
  loading: submitStatus === 'pending',
163
159
  tabIndex: 0,
164
160
  transparent: false,
161
+ role: isNextActive ? 'secondary' : 'lightpurple',
165
162
  onClick: handleSubmit,
166
163
  children: intl$1.formatMessage({
167
164
  id: isNextActive ? 'materialQuiz.resubmit' : 'materialQuiz.submit'
168
- }),
169
- customStyles: {
170
- backgroundColor: isNextActive ? theme.palette.secondary.main : isDisabled ? designTokens.base.color.gray6 : theme.palette.primary.main,
171
- color: isNextActive ? theme.palette.secondary.contrastText : isDisabled ? designTokens.base.color.gray3 : theme.palette.primary.contrastText
172
- }
165
+ })
173
166
  }]
174
167
  }, React.createElement(material.Stack, {
175
168
  height: "100%",
@@ -212,7 +205,7 @@ const MaterialQuizSelectOne = ({
212
205
  paddingy: 0,
213
206
  dark: true
214
207
  }) : option === null || option === void 0 ? void 0 : option.content);
215
- }) : null), React.createElement(MaterialQuizAnswerExplanation.default, null)) : null));
208
+ }) : null)) : null));
216
209
  };
217
210
 
218
211
  exports.default = MaterialQuizSelectOne;
@@ -41,7 +41,6 @@ const MaterialQuizText = ({
41
41
  refreshOrgMaterialQuiz,
42
42
  onDirty
43
43
  } = MaterialQuizContext.useMaterialQuizDispatch();
44
- const theme = material.useTheme();
45
44
  // state
46
45
  const intl$1 = intl.useRawEliceIntl();
47
46
  const [materialQuizResponse, setMaterialQuizResponse] = React.useState();
@@ -53,7 +52,6 @@ const MaterialQuizText = ({
53
52
  const [answer, setAnswer] = React.useState('');
54
53
  const [hasSubmitted, setHasSubmitted] = React.useState(false);
55
54
  const isNextActive = hasSubmitted && typeof onNext === 'function';
56
- const isDisabled = answer.length === 0 || index.checkUserLectureTestEnded(lecture) || !!userId;
57
55
  // quiz response fetcher
58
56
  React.useEffect(() => {
59
57
  if (!userId && (materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.lastQuizResponseId)) {
@@ -161,15 +159,12 @@ const MaterialQuizText = ({
161
159
  children: intl$1.formatMessage({
162
160
  id: isNextActive ? 'materialQuiz.resubmit' : 'materialQuiz.submit'
163
161
  }),
164
- disabled: isDisabled,
162
+ disabled: answer.length === 0 || index.checkUserLectureTestEnded(lecture) || !!userId,
165
163
  loading: submitStatus === 'pending',
166
164
  tabIndex: 0,
167
165
  transparent: false,
168
- onClick: handleSubmit,
169
- customStyles: {
170
- backgroundColor: isNextActive ? theme.palette.secondary.main : isDisabled ? designTokens.base.color.gray6 : theme.palette.primary.main,
171
- color: isNextActive ? theme.palette.secondary.contrastText : isDisabled ? designTokens.base.color.gray3 : theme.palette.primary.contrastText
172
- }
166
+ role: isNextActive ? 'secondary' : 'lightpurple',
167
+ onClick: handleSubmit
173
168
  }]
174
169
  }, React.createElement(material.Stack, {
175
170
  height: "100%",
@@ -9,7 +9,6 @@ export interface State {
9
9
  userId?: number;
10
10
  initStatus: APIStatus;
11
11
  isLongPassage: boolean;
12
- isInitialLoading: boolean;
13
12
  }
14
13
  export type MaterialQuizProps = {
15
14
  materialQuizId: number;
@@ -29,7 +28,6 @@ interface DispatchContextType {
29
28
  setVertical: React.Dispatch<React.SetStateAction<boolean>>;
30
29
  onNext?: () => void;
31
30
  setIsLongPassage: React.Dispatch<React.SetStateAction<boolean>>;
32
- setIsInitialLoading: React.Dispatch<React.SetStateAction<boolean>>;
33
31
  }
34
32
  declare function MaterialQuizProvider({ materialQuizId, userId, onSubmit, onDirty, onNext, children, }: MaterialQuizProviderProps): React.JSX.Element;
35
33
  declare function useMaterialQuizState(): State;
@@ -22,12 +22,7 @@ function MaterialQuizProvider({
22
22
  const [initStatus, setInitStatus] = React.useState('idle');
23
23
  const [vertical, setVertical] = React.useState(false);
24
24
  const [isLongPassage, setIsLongPassage] = React.useState(false);
25
- const [isInitialLoading, setIsInitialLoading] = React.useState(true);
26
25
  const canInit = materialSharedUtils.useMaterialConfigApiClientUpdate(apiClient.config.init);
27
- const resetLayout = () => {
28
- setIsInitialLoading(true);
29
- setIsLongPassage(false);
30
- };
31
26
  const {
32
27
  materialQuiz,
33
28
  materialLecturePage,
@@ -80,11 +75,6 @@ function MaterialQuizProvider({
80
75
  }
81
76
  return () => controller.abort();
82
77
  }, [materialLecturePage]);
83
- React.useEffect(() => {
84
- if (materialQuizId) {
85
- resetLayout();
86
- }
87
- }, [materialQuizId]);
88
78
  React.useEffect(() => {
89
79
  if (canInit && materialLecturePage) {
90
80
  void init();
@@ -98,8 +88,7 @@ function MaterialQuizProvider({
98
88
  userId,
99
89
  vertical,
100
90
  initStatus,
101
- isLongPassage,
102
- isInitialLoading
91
+ isLongPassage
103
92
  }
104
93
  }, React.createElement(DispatchContext.Provider, {
105
94
  value: {
@@ -108,8 +97,7 @@ function MaterialQuizProvider({
108
97
  onNext,
109
98
  refreshOrgMaterialQuiz,
110
99
  setVertical,
111
- setIsLongPassage,
112
- setIsInitialLoading
100
+ setIsLongPassage
113
101
  }
114
102
  }, children));
115
103
  }
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var messageEn = {"materialQuiz.anchorLabel.question":"Passage","materialQuiz.anchorLabel.answer":"Answer","materialQuiz.error":"Failed to fetch quiz","materialQuiz.submit":"Submit","materialQuiz.resubmit":"Resubmit","materialQuiz.submittedAnswer":"Submitted Answer","materialQuiz.answer":"Answer","materialQuiz.next":"Next question >","materialQuiz.selectOne.answer.title":"Choose from the views below.","materialQuiz.selectMultiple.answer.title":"Choose from the views below. (Redundant selections available)","materialQuiz.selectMultipleOrder.answer.title":"Drag and drop your answers.","materialQuiz.text.answer.title":"Please fill out the answer.","materialQuiz.empty.title":"Quiz is now preparing.","materialQuiz.empty.description":"Please check again after quiz posting!","materialQuiz.survey.empty.title":"Survey is now preparing.","materialQuiz.survey.empty.description":"Please check again after survey posting!","materialQuiz.submitStatus.success":"Submitted","materialQuiz.submitStatus.failure":"Failed to submit","materialQuiz.resultStatus.correct":"Correct","materialQuiz.resultStatus.wrong":"Wrong","materialQuiz.resultStatus.submitted":"Submitted","materialQuiz.explanation.close":"close quiz explanations","materialQuiz.explanation.show":"show quiz explanations","materialQuiz.explanation.empty":"no explanations","materialQuiz.text.placeholder":"please fill the answer","materialQuiz.text.correct":"that's correct!","materialQuiz.text.wrong":"that's wrong. try it again!","materialQuiz.order.answerEmpty":"You could move the options back here","materialQuiz.bottomSheet.title":"Options","materialQuiz.bottomSheet.optionEmpty":"All views have been placed in the group.","materialQuiz.dropzone.desktop.answerEmpty":"Drag the view into the area.","materialQuiz.dropzone.mobile.answerEmpty":"Click here to add a view.","materialQuiz.dropzone.optionEmpty":"Option","materialQuiz.dropzone.optionReset":"Answer Reset"};
5
+ var messageEn = {"materialQuiz.anchorLabel.question":"Fingerprint","materialQuiz.anchorLabel.answer":"Look","materialQuiz.error":"Failed to fetch quiz","materialQuiz.submit":"Submit","materialQuiz.resubmit":"Resubmit","materialQuiz.submittedAnswer":"Submitted Answer","materialQuiz.answer":"Answer","materialQuiz.next":"Next question >","materialQuiz.selectOne.answer.title":"Choose from the views below.","materialQuiz.selectMultiple.answer.title":"Choose from the views below. (Redundant selections available)","materialQuiz.selectMultipleOrder.answer.title":"Drag and drop your answers.","materialQuiz.text.answer.title":"Please fill out the answer.","materialQuiz.empty.title":"Quiz is now preparing.","materialQuiz.empty.description":"Please check again after quiz posting!","materialQuiz.survey.empty.title":"Survey is now preparing.","materialQuiz.survey.empty.description":"Please check again after survey posting!","materialQuiz.submitStatus.success":"Submitted","materialQuiz.submitStatus.failure":"Failed to submit","materialQuiz.resultStatus.correct":"Correct","materialQuiz.resultStatus.wrong":"Wrong","materialQuiz.resultStatus.submitted":"Submitted","materialQuiz.explanation.close":"close quiz explanations","materialQuiz.explanation.show":"show quiz explanations","materialQuiz.explanation.empty":"no explanations","materialQuiz.text.placeholder":"please fill the answer","materialQuiz.text.correct":"that's correct!","materialQuiz.text.wrong":"that's wrong. try it again!","materialQuiz.order.answerEmpty":"You could move the options back here","materialQuiz.bottomSheet.title":"Options","materialQuiz.bottomSheet.optionEmpty":"All views have been placed in the group.","materialQuiz.dropzone.desktop.answerEmpty":"Drag the view into the area.","materialQuiz.dropzone.mobile.answerEmpty":"Click here to add a view.","materialQuiz.dropzone.optionEmpty":"Option","materialQuiz.dropzone.optionReset":"Answer Reset"};
6
6
 
7
7
  exports.default = messageEn;
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var ja = {"materialQuiz.anchorLabel.question":"文章","materialQuiz.anchorLabel.answer":"回答","materialQuiz.error":"クイズの取得に失敗しました。","materialQuiz.submit":"提出","materialQuiz.resubmit":"再送信","materialQuiz.submittedAnswer":"提出された回答","materialQuiz.answer":"回答","materialQuiz.next":"次の質問 >","materialQuiz.selectOne.answer.title":"以下から選択してください。","materialQuiz.selectMultiple.answer.title":"以下から選択してください。 (冗長な選択肢も利用可能)","materialQuiz.selectMultipleOrder.answer.title":"ドラッグして回答をドロップしてください。","materialQuiz.text.answer.title":"回答を記入してください。","materialQuiz.empty.title":"クイズは今準備中です。","materialQuiz.empty.description":"クイズの投稿後にもう一度確認してください!","materialQuiz.survey.empty.title":"調査は現在準備中です。","materialQuiz.survey.empty.description":"調査投稿後にもう一度ご確認ください!","materialQuiz.submitStatus.success":"提出済","materialQuiz.submitStatus.failure":"提出に失敗しました。","materialQuiz.resultStatus.correct":"正しい","materialQuiz.resultStatus.wrong":"間違った","materialQuiz.resultStatus.submitted":"提出済","materialQuiz.explanation.close":"クイズの説明を閉じる","materialQuiz.explanation.show":"クイズの説明を表示します","materialQuiz.explanation.empty":"いいです。","materialQuiz.text.placeholder":"回答を入力してください","materialQuiz.text.correct":"その通りです!","materialQuiz.text.wrong":"それは間違っています。もう一度やってみてください!","materialQuiz.order.answerEmpty":"オプションをここに戻すことができます。","materialQuiz.bottomSheet.title":"オプション","materialQuiz.bottomSheet.optionEmpty":"すべてのビューがグループに配置されました。","materialQuiz.dropzone.desktop.answerEmpty":"ビューをエリアにドラッグしてください。","materialQuiz.dropzone.mobile.answerEmpty":"ここをクリックしてビューを追加してください。","materialQuiz.dropzone.optionEmpty":"オプション","materialQuiz.dropzone.optionReset":"回答をリセットします"};
5
+ var ja = {"materialQuiz.anchorLabel.question":"指紋","materialQuiz.anchorLabel.answer":"見る","materialQuiz.error":"クイズの取得に失敗しました。","materialQuiz.submit":"提出","materialQuiz.resubmit":"再送信","materialQuiz.submittedAnswer":"提出された回答","materialQuiz.answer":"回答","materialQuiz.next":"次の質問 >","materialQuiz.selectOne.answer.title":"以下から選択してください。","materialQuiz.selectMultiple.answer.title":"以下から選択してください。 (冗長な選択肢も利用可能)","materialQuiz.selectMultipleOrder.answer.title":"ドラッグして回答をドロップしてください。","materialQuiz.text.answer.title":"回答を記入してください。","materialQuiz.empty.title":"クイズは今準備中です。","materialQuiz.empty.description":"クイズの投稿後にもう一度確認してください!","materialQuiz.survey.empty.title":"調査は現在準備中です。","materialQuiz.survey.empty.description":"調査投稿後にもう一度ご確認ください!","materialQuiz.submitStatus.success":"提出済","materialQuiz.submitStatus.failure":"提出に失敗しました。","materialQuiz.resultStatus.correct":"正しい","materialQuiz.resultStatus.wrong":"間違った","materialQuiz.resultStatus.submitted":"提出済","materialQuiz.explanation.close":"クイズの説明を閉じる","materialQuiz.explanation.show":"クイズの説明を表示します","materialQuiz.explanation.empty":"いいです。","materialQuiz.text.placeholder":"回答を入力してください","materialQuiz.text.correct":"その通りです!","materialQuiz.text.wrong":"それは間違っています。もう一度やってみてください!","materialQuiz.order.answerEmpty":"オプションをここに戻すことができます。","materialQuiz.bottomSheet.title":"オプション","materialQuiz.bottomSheet.optionEmpty":"すべてのビューがグループに配置されました。","materialQuiz.dropzone.desktop.answerEmpty":"ビューをエリアにドラッグしてください。","materialQuiz.dropzone.mobile.answerEmpty":"ここをクリックしてビューを追加してください。","materialQuiz.dropzone.optionEmpty":"オプション","materialQuiz.dropzone.optionReset":"回答をリセットします"};
6
6
 
7
7
  exports.default = ja;
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var messageKo = {"materialQuiz.anchorLabel.question":"지문","materialQuiz.anchorLabel.answer":"답안","materialQuiz.error":"퀴즈를 불러오는데 실패했습니다.\n잠시 후 다시 시도해주세요.","materialQuiz.submit":"제출","materialQuiz.resubmit":"다시 제출","materialQuiz.submittedAnswer":"제출한 답","materialQuiz.answer":"정답","materialQuiz.next":"다음 문제로 이동 >","materialQuiz.selectOne.answer.title":"아래 보기에서 골라주세요.","materialQuiz.selectMultiple.answer.title":"아래 보기에서 골라주세요. (중복 선택 가능)","materialQuiz.selectMultipleOrder.answer.title":"답안을 드래그 앤 드롭하세요.","materialQuiz.text.answer.title":"답안을 작성해 주세요.","materialQuiz.empty.title":"퀴즈가 준비 중 입니다.","materialQuiz.empty.description":"퀴즈 게시 후 다시 확인해주세요!","materialQuiz.survey.empty.title":"설문조사 준비 중 입니다.","materialQuiz.survey.empty.description":"설문지 게시 후 다시 확인해주세요!","materialQuiz.submitStatus.success":"제출되었습니다.","materialQuiz.submitStatus.failure":"제출에 실패하였습니다.","materialQuiz.resultStatus.correct":"정답","materialQuiz.resultStatus.wrong":"오답","materialQuiz.resultStatus.submitted":"제출완료","materialQuiz.explanation.close":"퀴즈해설 닫기","materialQuiz.explanation.show":"퀴즈 해설 보기","materialQuiz.explanation.empty":"작성된 해설이 없습니다.","materialQuiz.text.placeholder":"답안을 작성해 주세요.","materialQuiz.text.correct":"정답입니다.","materialQuiz.text.wrong":"오답입니다. 다시 답안을 제출해보세요.","materialQuiz.order.answerEmpty":"항목을 다시 이곳으로 옮길 수 있습니다.","materialQuiz.bottomSheet.title":"보기","materialQuiz.bottomSheet.optionEmpty":"모든 보기를 그룹에 배치하였습니다.","materialQuiz.dropzone.desktop.answerEmpty":"보기를 영역에 끌어 넣어주세요.","materialQuiz.dropzone.mobile.answerEmpty":"이곳을 클릭하여 보기를 넣어주세요.","materialQuiz.dropzone.optionEmpty":"보기","materialQuiz.dropzone.optionReset":"답안 초기화"};
5
+ var messageKo = {"materialQuiz.anchorLabel.question":"지문","materialQuiz.anchorLabel.answer":"보기","materialQuiz.error":"퀴즈를 불러오는데 실패했습니다.\n잠시 후 다시 시도해주세요.","materialQuiz.submit":"제출","materialQuiz.resubmit":"다시 제출","materialQuiz.submittedAnswer":"제출한 답","materialQuiz.answer":"정답","materialQuiz.next":"다음 문제로 이동 >","materialQuiz.selectOne.answer.title":"아래 보기에서 골라주세요.","materialQuiz.selectMultiple.answer.title":"아래 보기에서 골라주세요. (중복 선택 가능)","materialQuiz.selectMultipleOrder.answer.title":"답안을 드래그 앤 드롭하세요.","materialQuiz.text.answer.title":"답안을 작성해 주세요.","materialQuiz.empty.title":"퀴즈가 준비 중 입니다.","materialQuiz.empty.description":"퀴즈 게시 후 다시 확인해주세요!","materialQuiz.survey.empty.title":"설문조사 준비 중 입니다.","materialQuiz.survey.empty.description":"설문지 게시 후 다시 확인해주세요!","materialQuiz.submitStatus.success":"제출되었습니다.","materialQuiz.submitStatus.failure":"제출에 실패하였습니다.","materialQuiz.resultStatus.correct":"정답","materialQuiz.resultStatus.wrong":"오답","materialQuiz.resultStatus.submitted":"제출완료","materialQuiz.explanation.close":"퀴즈해설 닫기","materialQuiz.explanation.show":"퀴즈 해설 보기","materialQuiz.explanation.empty":"작성된 해설이 없습니다.","materialQuiz.text.placeholder":"답안을 작성해 주세요.","materialQuiz.text.correct":"정답입니다.","materialQuiz.text.wrong":"오답입니다. 다시 답안을 제출해보세요.","materialQuiz.order.answerEmpty":"항목을 다시 이곳으로 옮길 수 있습니다.","materialQuiz.bottomSheet.title":"보기","materialQuiz.bottomSheet.optionEmpty":"모든 보기를 그룹에 배치하였습니다.","materialQuiz.dropzone.desktop.answerEmpty":"보기를 영역에 끌어 넣어주세요.","materialQuiz.dropzone.mobile.answerEmpty":"이곳을 클릭하여 보기를 넣어주세요.","materialQuiz.dropzone.optionEmpty":"보기","materialQuiz.dropzone.optionReset":"답안 초기화"};
6
6
 
7
7
  exports.default = messageKo;
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var th = {"materialQuiz.anchorLabel.question":"ทางเดิน","materialQuiz.anchorLabel.answer":"ดคำตอบ","materialQuiz.error":"ไม่สามารถดึงควิซได้","materialQuiz.submit":"ส่งใบสมัคร","materialQuiz.resubmit":"ส่งอีกครั้ง","materialQuiz.submittedAnswer":"ฉันสามารถตอบคำถามเช่นนี้ได้","materialQuiz.answer":"ตอบ","materialQuiz.next":"คำถามถัดไป >","materialQuiz.selectOne.answer.title":"เลือกจากมุมมองด้านล่างนี้","materialQuiz.selectMultiple.answer.title":"เลือกจากรายการด้านล่าง (มีการเลือกที่ซ้ำซ้อน)","materialQuiz.selectMultipleOrder.answer.title":"ลากและวางคำตอบของคุณ","materialQuiz.text.answer.title":"กรุณากรอกคำตอบ","materialQuiz.empty.title":"ควิซกำลังเตรียมอยู่ตอนนี้","materialQuiz.empty.description":"โปรดตรวจสอบอีกครั้งหลังจากโพสต์ควิซ!","materialQuiz.survey.empty.title":"การสำรวจกำลังเตรียมการอยู่ค่ะ","materialQuiz.survey.empty.description":"โปรดตรวจสอบอีกครั้งหลังจากโพสต์แบบสำรวจ!","materialQuiz.submitStatus.success":"เสนอ","materialQuiz.submitStatus.failure":"การส่งล้มเหลว","materialQuiz.resultStatus.correct":"ถูกต้อง","materialQuiz.resultStatus.wrong":"ผิด","materialQuiz.resultStatus.submitted":"เสนอ","materialQuiz.explanation.close":"ปิดคำอธิบายควิซ","materialQuiz.explanation.show":"แสดงคำอธิบายของควิซ","materialQuiz.explanation.empty":"ไม่ให้อธิบาย","materialQuiz.text.placeholder":"กรุณากรอกคำตอบ","materialQuiz.text.correct":"ถูกต้อง!","materialQuiz.text.wrong":"นั่นผิด ลองอีกครั้ง!","materialQuiz.order.answerEmpty":"คุณสามารถย้ายตัวเลือกกลับมาที่นี่ได้","materialQuiz.bottomSheet.title":"ตัวเลือก","materialQuiz.bottomSheet.optionEmpty":"ทุกมุมมองได้ถูกวางไว้ในกลุ่มแล้ว","materialQuiz.dropzone.desktop.answerEmpty":"ลากมุมมองเข้าสู่พื้นที่","materialQuiz.dropzone.mobile.answerEmpty":"คลิกที่นี่เพื่อเพิ่มมุมมอง","materialQuiz.dropzone.optionEmpty":"ตัวเลือก","materialQuiz.dropzone.optionReset":"รีเซ็ตคำตอบ"};
5
+ var th = {"materialQuiz.anchorLabel.question":"ลายนิ้วมือ","materialQuiz.anchorLabel.answer":"ดู","materialQuiz.error":"ไม่สามารถดึงควิซได้","materialQuiz.submit":"ส่งใบสมัคร","materialQuiz.resubmit":"ส่งอีกครั้ง","materialQuiz.submittedAnswer":"ฉันสามารถตอบคำถามเช่นนี้ได้","materialQuiz.answer":"ตอบ","materialQuiz.next":"คำถามถัดไป >","materialQuiz.selectOne.answer.title":"เลือกจากมุมมองด้านล่างนี้","materialQuiz.selectMultiple.answer.title":"เลือกจากรายการด้านล่าง (มีการเลือกที่ซ้ำซ้อน)","materialQuiz.selectMultipleOrder.answer.title":"ลากและวางคำตอบของคุณ","materialQuiz.text.answer.title":"กรุณากรอกคำตอบ","materialQuiz.empty.title":"ควิซกำลังเตรียมอยู่ตอนนี้","materialQuiz.empty.description":"โปรดตรวจสอบอีกครั้งหลังจากโพสต์ควิซ!","materialQuiz.survey.empty.title":"การสำรวจกำลังเตรียมการอยู่ค่ะ","materialQuiz.survey.empty.description":"โปรดตรวจสอบอีกครั้งหลังจากโพสต์แบบสำรวจ!","materialQuiz.submitStatus.success":"เสนอ","materialQuiz.submitStatus.failure":"การส่งล้มเหลว","materialQuiz.resultStatus.correct":"ถูกต้อง","materialQuiz.resultStatus.wrong":"ผิด","materialQuiz.resultStatus.submitted":"เสนอ","materialQuiz.explanation.close":"ปิดคำอธิบายควิซ","materialQuiz.explanation.show":"แสดงคำอธิบายของควิซ","materialQuiz.explanation.empty":"ไม่ให้อธิบาย","materialQuiz.text.placeholder":"กรุณากรอกคำตอบ","materialQuiz.text.correct":"ถูกต้อง!","materialQuiz.text.wrong":"นั่นผิด ลองอีกครั้ง!","materialQuiz.order.answerEmpty":"คุณสามารถย้ายตัวเลือกกลับมาที่นี่ได้","materialQuiz.bottomSheet.title":"ตัวเลือก","materialQuiz.bottomSheet.optionEmpty":"ทุกมุมมองได้ถูกวางไว้ในกลุ่มแล้ว","materialQuiz.dropzone.desktop.answerEmpty":"ลากมุมมองเข้าสู่พื้นที่","materialQuiz.dropzone.mobile.answerEmpty":"คลิกที่นี่เพื่อเพิ่มมุมมอง","materialQuiz.dropzone.optionEmpty":"ตัวเลือก","materialQuiz.dropzone.optionReset":"รีเซ็ตคำตอบ"};
6
6
 
7
7
  exports.default = th;