@elice/material-quiz 1.240401.0 → 1.240508.0-globalization.1

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 (73) hide show
  1. package/cjs/components/material-quiz/MaterialQuiz.d.ts +3 -2
  2. package/cjs/components/material-quiz/MaterialQuiz.js +9 -10
  3. package/cjs/components/material-quiz/MaterialQuizAnswerExplanation.js +4 -4
  4. package/cjs/components/material-quiz/MaterialQuizSelectMultiple.js +4 -4
  5. package/cjs/components/material-quiz/MaterialQuizSelectMultipleOrder.js +7 -7
  6. package/cjs/components/material-quiz/MaterialQuizSelectOne.js +4 -4
  7. package/cjs/components/material-quiz/MaterialQuizText.js +7 -7
  8. package/cjs/components/material-quiz/QuizResultBadge.js +5 -5
  9. package/cjs/components/material-quiz/QuizSubmitStatusText.js +4 -4
  10. package/cjs/components/material-quiz/locales/en.json.js +7 -0
  11. package/cjs/components/material-quiz/locales/index.d.ts +3 -0
  12. package/cjs/components/material-quiz/locales/ko.json.js +7 -0
  13. package/cjs/components/material-quiz/locales/th.json.js +7 -0
  14. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroup.js +6 -3
  15. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroupDesktop.js +5 -5
  16. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroupMobile.js +6 -6
  17. package/cjs/components/material-quiz-edit/MaterialQuizEdit.d.ts +4 -4
  18. package/cjs/components/material-quiz-edit/MaterialQuizEdit.js +9 -10
  19. package/cjs/components/material-quiz-edit/MaterialQuizEditContent.js +55 -55
  20. package/cjs/components/material-quiz-edit/locales/en.json.js +7 -0
  21. package/cjs/components/material-quiz-edit/locales/index.d.ts +3 -0
  22. package/cjs/components/material-quiz-edit/locales/ko.json.js +7 -0
  23. package/cjs/components/material-quiz-edit/locales/th.json.js +7 -0
  24. package/cjs/components/material-quiz-edit/options/OptionSelectMultiple.js +8 -8
  25. package/cjs/components/material-quiz-edit/options/OptionSelectMultipleOrder.js +9 -9
  26. package/cjs/components/material-quiz-edit/options/OptionSelectOne.js +9 -9
  27. package/cjs/components/material-quiz-edit/options/OptionText.js +8 -8
  28. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupAnswerInfo.js +10 -10
  29. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupAnswerListItem.js +8 -8
  30. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupGroupInfo.js +5 -5
  31. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupGroupListItem.js +6 -6
  32. package/cjs/components/shared/QuestionBox.js +3 -3
  33. package/es/components/material-quiz/MaterialQuiz.d.ts +3 -2
  34. package/es/components/material-quiz/MaterialQuiz.js +9 -11
  35. package/es/components/material-quiz/MaterialQuizAnswerExplanation.js +2 -2
  36. package/es/components/material-quiz/MaterialQuizSelectMultiple.js +2 -2
  37. package/es/components/material-quiz/MaterialQuizSelectMultipleOrder.js +2 -2
  38. package/es/components/material-quiz/MaterialQuizSelectOne.js +2 -2
  39. package/es/components/material-quiz/MaterialQuizText.js +2 -2
  40. package/es/components/material-quiz/QuizResultBadge.js +2 -2
  41. package/es/components/material-quiz/QuizSubmitStatusText.js +2 -2
  42. package/es/components/material-quiz/locales/en.json.js +3 -0
  43. package/es/components/material-quiz/locales/index.d.ts +3 -0
  44. package/es/components/material-quiz/locales/ko.json.js +3 -0
  45. package/es/components/material-quiz/locales/th.json.js +3 -0
  46. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroup.js +5 -2
  47. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroupDesktop.js +2 -2
  48. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroupMobile.js +2 -2
  49. package/es/components/material-quiz-edit/MaterialQuizEdit.d.ts +4 -4
  50. package/es/components/material-quiz-edit/MaterialQuizEdit.js +9 -11
  51. package/es/components/material-quiz-edit/MaterialQuizEditContent.js +29 -29
  52. package/es/components/material-quiz-edit/locales/en.json.js +3 -0
  53. package/es/components/material-quiz-edit/locales/index.d.ts +3 -0
  54. package/es/components/material-quiz-edit/locales/ko.json.js +3 -0
  55. package/es/components/material-quiz-edit/locales/th.json.js +3 -0
  56. package/es/components/material-quiz-edit/options/OptionSelectMultiple.js +4 -4
  57. package/es/components/material-quiz-edit/options/OptionSelectMultipleOrder.js +4 -4
  58. package/es/components/material-quiz-edit/options/OptionSelectOne.js +4 -4
  59. package/es/components/material-quiz-edit/options/OptionText.js +4 -4
  60. package/es/components/material-quiz-edit/options/options-group/OptionGroupAnswerInfo.js +2 -2
  61. package/es/components/material-quiz-edit/options/options-group/OptionGroupAnswerListItem.js +2 -2
  62. package/es/components/material-quiz-edit/options/options-group/OptionGroupGroupInfo.js +2 -2
  63. package/es/components/material-quiz-edit/options/options-group/OptionGroupGroupListItem.js +2 -2
  64. package/es/components/shared/QuestionBox.js +2 -2
  65. package/package.json +6 -6
  66. package/cjs/components/material-quiz/MaterialQuiz.i18n.d.ts +0 -34
  67. package/cjs/components/material-quiz/MaterialQuiz.i18n.js +0 -71
  68. package/cjs/components/material-quiz-edit/locales.d.ts +0 -60
  69. package/cjs/components/material-quiz-edit/locales.js +0 -123
  70. package/es/components/material-quiz/MaterialQuiz.i18n.d.ts +0 -34
  71. package/es/components/material-quiz/MaterialQuiz.i18n.js +0 -68
  72. package/es/components/material-quiz-edit/locales.d.ts +0 -60
  73. package/es/components/material-quiz-edit/locales.js +0 -120
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import type { WithIntlComponentBuilderProps } from '@elice/intl';
2
3
  import type { MaterialQuizProps } from './context/MaterialQuizContext';
3
- declare const MaterialQuizContainer: React.FC<MaterialQuizProps>;
4
- export default MaterialQuizContainer;
4
+ declare const _default: React.ForwardRefExoticComponent<import("@elice/intl").IntlComponentExtraProps & Omit<WithIntlComponentBuilderProps<MaterialQuizProps>, keyof import("@elice/intl").IntlComponentExtraProps | "__intl"> & React.RefAttributes<any>>;
5
+ export default _default;
@@ -3,15 +3,17 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var reactIntl = require('react-intl');
7
6
  var reactUse = require('react-use');
8
7
  var designTokens = require('@elice/design-tokens');
8
+ var intl = require('@elice/intl');
9
9
  var types = require('@elice/types');
10
10
  var styled = require('styled-components');
11
11
  var MaterialQuizContext = require('./context/MaterialQuizContext.js');
12
+ var en = require('./locales/en.json.js');
13
+ var ko = require('./locales/ko.json.js');
14
+ var th = require('./locales/th.json.js');
12
15
  var MaterialQuizShimmer = require('./MaterialQuizShimmer.js');
13
16
  var MaterialQuizInfo = require('./MaterialQuizInfo.js');
14
- var MaterialQuiz_i18n = require('./MaterialQuiz.i18n.js');
15
17
 
16
18
  const AsyncMaterialQuizSelectMultiple = React.lazy(() => Promise.resolve().then(function () { return require('./MaterialQuizSelectMultiple.js'); }));
17
19
  const AsyncMaterialQuizSelectMultipleOrder = React.lazy(() => Promise.resolve().then(function () { return require('./MaterialQuizSelectMultipleOrder.js'); }));
@@ -84,16 +86,12 @@ const MaterialQuiz = () => {
84
86
  const MaterialQuizContainer = ({
85
87
  materialQuizId,
86
88
  userId,
87
- locale = 'en',
88
89
  onDirty,
89
90
  onSubmit,
90
- onNext
91
+ onNext,
92
+ __intl
91
93
  }) => {
92
- return React.createElement(reactIntl.IntlProvider, {
93
- locale: locale,
94
- defaultLocale: "en",
95
- messages: locale in MaterialQuiz_i18n ? MaterialQuiz_i18n[locale] : MaterialQuiz_i18n.en
96
- }, React.createElement(MaterialQuizContext.MaterialQuizProvider, {
94
+ return React.createElement(intl.RawEliceIntlProvider, Object.assign({}, __intl), React.createElement(MaterialQuizContext.MaterialQuizProvider, {
97
95
  materialQuizId: materialQuizId,
98
96
  userId: userId,
99
97
  onDirty: onDirty,
@@ -101,5 +99,6 @@ const MaterialQuizContainer = ({
101
99
  onNext: onNext
102
100
  }, React.createElement(MaterialQuiz, null)));
103
101
  };
102
+ var MaterialQuiz$1 = new intl.IntlComponentBuilder(MaterialQuizContainer).add('en', en.default).add('ko', ko.default).add('th', th.default).build();
104
103
 
105
- exports.default = MaterialQuizContainer;
104
+ exports.default = MaterialQuiz$1;
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var reactIntl = require('react-intl');
7
6
  var blocks = require('@elice/blocks');
8
7
  var designTokens = require('@elice/design-tokens');
8
+ var intl = require('@elice/intl');
9
9
  var markdown = require('@elice/markdown');
10
10
  var types = require('@elice/types');
11
11
  var styled = require('styled-components');
@@ -22,7 +22,7 @@ const MaterialQuizAnswerExplanation = () => {
22
22
  lecture,
23
23
  materialQuiz
24
24
  } = MaterialQuizContext.useMaterialQuizState();
25
- const intl = reactIntl.useIntl();
25
+ const intl$1 = intl.useRawEliceIntl();
26
26
  if (!materialQuiz || !materialQuiz.explanationInfo.isEnabled || !materialQuiz.isResponded || (lecture === null || lecture === void 0 ? void 0 : lecture.lectureType) === types.enums.LectureType.Test && (lecture === null || lecture === void 0 ? void 0 : lecture.testUserStatus) !== types.enums.LectureTestUserStatus.Completed) {
27
27
  return null;
28
28
  }
@@ -34,7 +34,7 @@ const MaterialQuizAnswerExplanation = () => {
34
34
  header: React.createElement(blocks.Text, {
35
35
  bold: true,
36
36
  role: "navy0"
37
- }, intl.formatMessage({
37
+ }, intl$1.formatMessage({
38
38
  id: 'materialQuiz.explanation.show'
39
39
  }))
40
40
  }, materialQuiz.explanationInfo.isEnabled ? React.createElement(StyledMarkdownSSR, {
@@ -44,7 +44,7 @@ const MaterialQuizAnswerExplanation = () => {
44
44
  role: "info",
45
45
  lineHeight: 1.4,
46
46
  userSelect: "none"
47
- }, intl.formatMessage({
47
+ }, intl$1.formatMessage({
48
48
  id: 'materialQuiz.explanation.empty'
49
49
  }))));
50
50
  };
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var reactIntl = require('react-intl');
7
6
  var apiClient = require('@elice/api-client');
7
+ var intl = require('@elice/intl');
8
8
  var index = require('../../helpers/index.js');
9
9
  require('../shared/QuizDraggbleOption.js');
10
10
  require('../shared/QuizDraggbleDummyOption.js');
@@ -33,7 +33,7 @@ const MaterialQuizSelectMultiple = () => {
33
33
  onDirty
34
34
  } = MaterialQuizContext.useMaterialQuizDispatch();
35
35
  // state
36
- const intl = reactIntl.useIntl();
36
+ const intl$1 = intl.useRawEliceIntl();
37
37
  const [selectedAnswer, setSelectedAnswer] = React.useState([]);
38
38
  const [materialQuizResponse, setMaterialQuizResponse] = React.useState();
39
39
  const [submitStatus, setSubmitStatus] = React.useState('idle');
@@ -139,7 +139,7 @@ const MaterialQuizSelectMultiple = () => {
139
139
  }
140
140
  };
141
141
  return React.createElement(QuestionBox.default, {
142
- title: intl.formatMessage({
142
+ title: intl$1.formatMessage({
143
143
  id: 'materialQuiz.selectMultiple.answer.title'
144
144
  }),
145
145
  titlePrefix: "A.",
@@ -159,7 +159,7 @@ const MaterialQuizSelectMultiple = () => {
159
159
  transparent: false,
160
160
  role: 'primary',
161
161
  onClick: handleSubmit,
162
- children: intl.formatMessage({
162
+ children: intl$1.formatMessage({
163
163
  id: 'materialQuiz.submit'
164
164
  })
165
165
  }]
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var reactIntl = require('react-intl');
7
6
  var apiClient = require('@elice/api-client');
8
7
  var blocks = require('@elice/blocks');
9
8
  var designTokens = require('@elice/design-tokens');
10
9
  var icons = require('@elice/icons');
10
+ var intl = require('@elice/intl');
11
11
  var styled = require('styled-components');
12
12
  var index = require('../../helpers/index.js');
13
13
  var EbDroppable = require('../eb-sortable/EbDroppable.js');
@@ -71,7 +71,7 @@ const MaterialQuizSelectMultipleOrder = () => {
71
71
  onDirty
72
72
  } = MaterialQuizContext.useMaterialQuizDispatch();
73
73
  // state
74
- const intl = reactIntl.useIntl();
74
+ const intl$1 = intl.useRawEliceIntl();
75
75
  const [materialQuizResponse, setMaterialQuizResponse] = React.useState();
76
76
  const [submitStatus, setSubmitStatus] = React.useState('idle');
77
77
  const [isActive, setIsActive] = React.useState(false);
@@ -311,7 +311,7 @@ const MaterialQuizSelectMultipleOrder = () => {
311
311
  }, React.createElement(blocks.Text, {
312
312
  size: "tiny",
313
313
  role: "white"
314
- }, intl.formatMessage({
314
+ }, intl$1.formatMessage({
315
315
  id: 'materialQuiz.order.answerEmpty'
316
316
  }))) : null);
317
317
  };
@@ -333,7 +333,7 @@ const MaterialQuizSelectMultipleOrder = () => {
333
333
  };
334
334
  if (option.value === null) {
335
335
  return React.createElement(QuizDraggbleDummyOption.default, {
336
- children: intl.formatMessage({
336
+ children: intl$1.formatMessage({
337
337
  id: 'materialQuiz.selectMultipleOrder.answer.title'
338
338
  }),
339
339
  key: index$1,
@@ -394,7 +394,7 @@ const MaterialQuizSelectMultipleOrder = () => {
394
394
  }));
395
395
  };
396
396
  return React.createElement(QuestionBox.default, {
397
- title: intl.formatMessage({
397
+ title: intl$1.formatMessage({
398
398
  id: 'materialQuiz.selectMultipleOrder.answer.title'
399
399
  }),
400
400
  titlePrefix: "A.",
@@ -414,7 +414,7 @@ const MaterialQuizSelectMultipleOrder = () => {
414
414
  transparent: false,
415
415
  role: 'primary',
416
416
  onClick: handleSubmit,
417
- children: intl.formatMessage({
417
+ children: intl$1.formatMessage({
418
418
  id: 'materialQuiz.submit'
419
419
  })
420
420
  }]
@@ -438,7 +438,7 @@ const MaterialQuizSelectMultipleOrder = () => {
438
438
  }, React.createElement(StyledQuizOptionsDropZone, null, React.createElement(blocks.Text, {
439
439
  role: "white",
440
440
  size: "small"
441
- }, intl.formatMessage({
441
+ }, intl$1.formatMessage({
442
442
  id: 'materialQuiz.answer'
443
443
  })), correctAnswerList.map((correctAnswer, index) => {
444
444
  var _a;
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var reactIntl = require('react-intl');
7
6
  var apiClient = require('@elice/api-client');
7
+ var intl = require('@elice/intl');
8
8
  var index = require('../../helpers/index.js');
9
9
  require('../shared/QuizDraggbleOption.js');
10
10
  require('../shared/QuizDraggbleDummyOption.js');
@@ -33,7 +33,7 @@ const MaterialQuizSelectOne = () => {
33
33
  onDirty
34
34
  } = MaterialQuizContext.useMaterialQuizDispatch();
35
35
  // state
36
- const intl = reactIntl.useIntl();
36
+ const intl$1 = intl.useRawEliceIntl();
37
37
  const [selectedAnswer, setSelectedAnswer] = React.useState();
38
38
  const [materialQuizResponse, setMaterialQuizResponse] = React.useState();
39
39
  const [submitStatus, setSubmitStatus] = React.useState('idle');
@@ -130,7 +130,7 @@ const MaterialQuizSelectOne = () => {
130
130
  }
131
131
  };
132
132
  return React.createElement(QuestionBox.default, {
133
- title: intl.formatMessage({
133
+ title: intl$1.formatMessage({
134
134
  id: 'materialQuiz.selectOne.answer.title'
135
135
  }),
136
136
  titlePrefix: "A.",
@@ -150,7 +150,7 @@ const MaterialQuizSelectOne = () => {
150
150
  transparent: false,
151
151
  role: 'primary',
152
152
  onClick: handleSubmit,
153
- children: intl.formatMessage({
153
+ children: intl$1.formatMessage({
154
154
  id: 'materialQuiz.submit'
155
155
  })
156
156
  }]
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var reactIntl = require('react-intl');
7
6
  var apiClient = require('@elice/api-client');
8
7
  var blocks = require('@elice/blocks');
9
8
  var designTokens = require('@elice/design-tokens');
9
+ var intl = require('@elice/intl');
10
10
  var styled = require('styled-components');
11
11
  var index = require('../../helpers/index.js');
12
12
  var QuestionBox = require('../shared/QuestionBox.js');
@@ -36,7 +36,7 @@ const MaterialQuizText = () => {
36
36
  onDirty
37
37
  } = MaterialQuizContext.useMaterialQuizDispatch();
38
38
  // state
39
- const intl = reactIntl.useIntl();
39
+ const intl$1 = intl.useRawEliceIntl();
40
40
  const [materialQuizResponse, setMaterialQuizResponse] = React.useState();
41
41
  const [submitStatus, setSubmitStatus] = React.useState('idle');
42
42
  const [answer, setAnswer] = React.useState('');
@@ -121,7 +121,7 @@ const MaterialQuizText = () => {
121
121
  type: 'text',
122
122
  autoFocus: answer.length === 0,
123
123
  disabled: submitStatus === 'pending' || index.checkUserLectureTestEnded(lecture) || !!userId,
124
- placeholder: (materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.answerHint) || intl.formatMessage({
124
+ placeholder: (materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.answerHint) || intl$1.formatMessage({
125
125
  id: 'materialQuiz.text.placeholder'
126
126
  }),
127
127
  value: answer,
@@ -132,7 +132,7 @@ const MaterialQuizText = () => {
132
132
  }
133
133
  };
134
134
  return React.createElement(QuestionBox.default, {
135
- title: intl.formatMessage({
135
+ title: intl$1.formatMessage({
136
136
  id: 'materialQuiz.text.answer.title'
137
137
  }),
138
138
  titlePrefix: "A.",
@@ -146,7 +146,7 @@ const MaterialQuizText = () => {
146
146
  isNextActive: hasSubmitted && typeof onNext === 'function',
147
147
  footerActions: [{
148
148
  border: true,
149
- children: intl.formatMessage({
149
+ children: intl$1.formatMessage({
150
150
  id: 'materialQuiz.submit'
151
151
  }),
152
152
  disabled: answer.length === 0 || index.checkUserLectureTestEnded(lecture) || !!userId,
@@ -160,7 +160,7 @@ const MaterialQuizText = () => {
160
160
  column: true
161
161
  }, userId ? React.createElement(StyledLabel, {
162
162
  htmlFor: "quiz-text-answer"
163
- }, intl.formatMessage({
163
+ }, intl$1.formatMessage({
164
164
  id: 'materialQuiz.submittedAnswer'
165
165
  })) : null, React.createElement(StyledTextarea, Object.assign({
166
166
  id: "quiz-text-answer"
@@ -169,7 +169,7 @@ const MaterialQuizText = () => {
169
169
  margintop: "1rem"
170
170
  }, React.createElement(StyledLabel, {
171
171
  htmlFor: "quiz-text-submitted-answer"
172
- }, intl.formatMessage({
172
+ }, intl$1.formatMessage({
173
173
  id: 'materialQuiz.answer'
174
174
  })), React.createElement(StyledTextarea, {
175
175
  id: "quiz-text-submitted-answer",
@@ -3,35 +3,35 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var reactIntl = require('react-intl');
7
6
  var blocks = require('@elice/blocks');
7
+ var intl = require('@elice/intl');
8
8
  var index = require('../../helpers/index.js');
9
9
 
10
10
  const QuizResultBadge = ({
11
11
  materialQuizResponse
12
12
  }) => {
13
- const intl = reactIntl.useIntl();
13
+ const intl$1 = intl.useRawEliceIntl();
14
14
  const status = React.useMemo(() => index.getQuizResultStatus(materialQuizResponse), [materialQuizResponse]);
15
15
  switch (status) {
16
16
  case index.QuizResultStatus.Correct:
17
17
  return React.createElement(blocks.BadgeNext, {
18
18
  type: "quiet",
19
19
  role: "green"
20
- }, intl.formatMessage({
20
+ }, intl$1.formatMessage({
21
21
  id: 'materialQuiz.resultStatus.correct'
22
22
  }));
23
23
  case index.QuizResultStatus.Wrong:
24
24
  return React.createElement(blocks.BadgeNext, {
25
25
  type: "quiet",
26
26
  role: "red"
27
- }, intl.formatMessage({
27
+ }, intl$1.formatMessage({
28
28
  id: 'materialQuiz.resultStatus.wrong'
29
29
  }));
30
30
  case index.QuizResultStatus.Submitted:
31
31
  return React.createElement(blocks.BadgeNext, {
32
32
  type: "quiet",
33
33
  role: "primary"
34
- }, intl.formatMessage({
34
+ }, intl$1.formatMessage({
35
35
  id: 'materialQuiz.resultStatus.submitted'
36
36
  }));
37
37
  default:
@@ -3,26 +3,26 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var reactIntl = require('react-intl');
7
6
  var blocks = require('@elice/blocks');
7
+ var intl = require('@elice/intl');
8
8
 
9
9
  const QuizSubmitStatusText = ({
10
10
  status
11
11
  }) => {
12
- const intl = reactIntl.useIntl();
12
+ const intl$1 = intl.useRawEliceIntl();
13
13
  switch (status) {
14
14
  case 'resolved':
15
15
  return React.createElement(blocks.StatusText, {
16
16
  role: "success",
17
17
  size: "small"
18
- }, intl.formatMessage({
18
+ }, intl$1.formatMessage({
19
19
  id: 'materialQuiz.submitStatus.success'
20
20
  }));
21
21
  case 'rejected':
22
22
  return React.createElement(blocks.StatusText, {
23
23
  role: "danger",
24
24
  size: "small"
25
- }, intl.formatMessage({
25
+ }, intl$1.formatMessage({
26
26
  id: 'materialQuiz.submitStatus.failure'
27
27
  }));
28
28
  default:
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var messageEn = {"materialQuiz.error":"Failed to fetch quiz","materialQuiz.submit":"Submit","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
+
7
+ exports.default = messageEn;
@@ -0,0 +1,3 @@
1
+ export { default as messageEn } from './en.json';
2
+ export { default as messageKo } from './ko.json';
3
+ export { default as messageTh } from './th.json';
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var messageKo = {"materialQuiz.error":"퀴즈를 불러오는데 실패했습니다.\n잠시 후 다시 시도해주세요.","materialQuiz.submit":"제출","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
+
7
+ exports.default = messageKo;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var messageTh = {"materialQuiz.error":"การโหลดควิซล้วนหลุดล้วน\nโปรดลองอีกครั้งในภายหลัง","materialQuiz.submit":"ส่ง","materialQuiz.submittedAnswer":"การส่งคำตอบ","materialQuiz.answer":"คำตอบ","materialQuiz.next":"เข้าสู่ปัญหาถัดไป >","materialQuiz.selectOne.answer.title":"โปรดเลือกในตัวเลือกด้านล่าง.","materialQuiz.selectMultiple.answer.title":"โปรดเลือกจากรายการด้านล่าง (สามารถเลือกได้มากกว่า 1 รายการ)","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
+
7
+ exports.default = messageTh;
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var reactIntl = require('react-intl');
7
6
  var apiClient = require('@elice/api-client');
8
7
  var blocks = require('@elice/blocks');
9
8
  var designTokens = require('@elice/design-tokens');
9
+ var intl = require('@elice/intl');
10
10
  var markdown = require('@elice/markdown');
11
11
  var cloneDeep = require('lodash-es/cloneDeep');
12
12
  var flattenDeep = require('lodash-es/flattenDeep');
@@ -20,8 +20,11 @@ var context = require('./context/context.js');
20
20
  var MaterialQuizGroupDesktop = require('./MaterialQuizGroupDesktop.js');
21
21
  var MaterialQuizGroupMobile = require('./MaterialQuizGroupMobile.js');
22
22
 
23
+ //
24
+ //
25
+ //
23
26
  const MaterialQuizGroup = () => {
24
- const intl = reactIntl.useIntl();
27
+ const intl$1 = intl.useRawEliceIntl();
25
28
  // context
26
29
  const {
27
30
  materialQuiz,
@@ -284,7 +287,7 @@ const MaterialQuizGroup = () => {
284
287
  transparent: false,
285
288
  role: 'primary',
286
289
  onClick: handleSubmit,
287
- children: intl.formatMessage({
290
+ children: intl$1.formatMessage({
288
291
  id: 'materialQuiz.submit'
289
292
  })
290
293
  }]
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var reactIntl = require('react-intl');
7
6
  var blocks = require('@elice/blocks');
8
7
  var designTokens = require('@elice/design-tokens');
9
8
  var icons = require('@elice/icons');
9
+ var intl = require('@elice/intl');
10
10
  var styled = require('styled-components');
11
11
  var EbDroppable = require('../../eb-sortable/EbDroppable.js');
12
12
  var MaterialQuizContext = require('../context/MaterialQuizContext.js');
@@ -34,7 +34,7 @@ const StyledQuizOptionsDropzone = styled(EbDroppable.default).withConfig({
34
34
  componentId: "sc-18trt81-4"
35
35
  })(["display:flex;flex-wrap:wrap;gap:1rem;min-height:10.25rem;border-radius:0.5rem;outline:1px dashed ", ";&.ui-droppable-hover{outline:1px dashed ", ";}"], designTokens.base.color.navy4, designTokens.base.color.gray4);
36
36
  const MaterialQuizGroupDesktop = () => {
37
- const intl = reactIntl.useIntl();
37
+ const intl$1 = intl.useRawEliceIntl();
38
38
  const {
39
39
  userId
40
40
  } = MaterialQuizContext.useMaterialQuizState();
@@ -85,7 +85,7 @@ const MaterialQuizGroupDesktop = () => {
85
85
  })) : React.createElement(blocks.Text, {
86
86
  role: "gray5",
87
87
  bold: true
88
- }, intl.formatMessage({
88
+ }, intl$1.formatMessage({
89
89
  id: 'materialQuiz.dropzone.desktop.answerEmpty'
90
90
  }))));
91
91
  };
@@ -116,7 +116,7 @@ const MaterialQuizGroupDesktop = () => {
116
116
  size: "small",
117
117
  disabled: !!userId,
118
118
  onClick: handleAnswerReset
119
- }, intl.formatMessage({
119
+ }, intl$1.formatMessage({
120
120
  id: 'materialQuiz.dropzone.optionReset'
121
121
  })), React.createElement(blocks.Vspace, {
122
122
  height: 1
@@ -137,7 +137,7 @@ const MaterialQuizGroupDesktop = () => {
137
137
  role: "navy",
138
138
  textAlign: "center",
139
139
  bold: true
140
- }, intl.formatMessage({
140
+ }, intl$1.formatMessage({
141
141
  id: 'materialQuiz.dropzone.optionEmpty'
142
142
  }))))), renderQuizContentSortation());
143
143
  };
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var reactIntl = require('react-intl');
7
6
  var blocks = require('@elice/blocks');
8
7
  var designTokens = require('@elice/design-tokens');
8
+ var intl = require('@elice/intl');
9
9
  var styled = require('styled-components');
10
10
  var MaterialQuizContext = require('../context/MaterialQuizContext.js');
11
11
  var context = require('./context/context.js');
@@ -29,7 +29,7 @@ const StyledBottomSheetWrapper = styled(StyledQuizOptionList).withConfig({
29
29
  isCurrentOptionList
30
30
  }) => vertical && isCurrentOptionList ? 'flex-start' : 'center');
31
31
  const MaterialQuizGroupMobile = () => {
32
- const intl = reactIntl.useIntl();
32
+ const intl$1 = intl.useRawEliceIntl();
33
33
  // context
34
34
  const {
35
35
  materialQuiz,
@@ -54,7 +54,7 @@ const MaterialQuizGroupMobile = () => {
54
54
  disabled: !!userId,
55
55
  onClick: handleAnswerReset,
56
56
  block: true
57
- }, intl.formatMessage({
57
+ }, intl$1.formatMessage({
58
58
  id: 'materialQuiz.dropzone.optionReset'
59
59
  })), React.createElement(blocks.Vspace, {
60
60
  height: 1
@@ -91,7 +91,7 @@ const MaterialQuizGroupMobile = () => {
91
91
  textAlign: "center",
92
92
  bold: true,
93
93
  block: true
94
- }, intl.formatMessage({
94
+ }, intl$1.formatMessage({
95
95
  id: 'materialQuiz.dropzone.mobile.answerEmpty'
96
96
  }))));
97
97
  }));
@@ -103,7 +103,7 @@ const MaterialQuizGroupMobile = () => {
103
103
  const isCurrentOptionList = Boolean(currentOptionList.length);
104
104
  return React.createElement(blocks.BottomSheet, {
105
105
  show: dropzoneIndex !== null,
106
- title: intl.formatMessage({
106
+ title: intl$1.formatMessage({
107
107
  id: 'materialQuiz.bottomSheet.title'
108
108
  }),
109
109
  contentsText: "",
@@ -133,7 +133,7 @@ const MaterialQuizGroupMobile = () => {
133
133
  textAlign: "center",
134
134
  bold: true,
135
135
  block: true
136
- }, intl.formatMessage({
136
+ }, intl$1.formatMessage({
137
137
  id: 'materialQuiz.bottomSheet.optionEmpty'
138
138
  }))));
139
139
  };
@@ -12,8 +12,6 @@ export interface MaterialQuizEditProps {
12
12
  * When true, cannot change `optionType`, `options` and `answerInfo`.
13
13
  */
14
14
  disabled?: boolean;
15
- /** Locale of edit form. */
16
- locale: string;
17
15
  /** Handle form change event. */
18
16
  onChange: (value: MaterialQuizEditValue) => void;
19
17
  /** Handle form state changes. (`FormState` from react-hook-form) */
@@ -21,5 +19,7 @@ export interface MaterialQuizEditProps {
21
19
  /** Handle file upload. */
22
20
  onFileUploadRequest: MarkdownEditorFileUploadReqFn;
23
21
  }
24
- declare const MaterialQuizEdit: React.ForwardRefExoticComponent<MaterialQuizEditProps & React.RefAttributes<HTMLFormElement>>;
25
- export default MaterialQuizEdit;
22
+ declare const _default: React.ForwardRefExoticComponent<Omit<import("@elice/intl").IntlComponentExtraProps & Omit<import("@elice/intl").IntlComponentExtraProps & Omit<MaterialQuizEditProps, keyof import("@elice/intl").IntlComponentExtraProps | "__intl"> & {
23
+ __intl: import("@elice/intl").EliceIntlShape;
24
+ } & React.RefAttributes<HTMLFormElement>, keyof import("@elice/intl").IntlComponentExtraProps | "__intl">, "ref"> & React.RefAttributes<HTMLFormElement>>;
25
+ export default _default;
@@ -4,20 +4,22 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var reactHookForm = require('react-hook-form');
7
- var reactIntl = require('react-intl');
7
+ var intl = require('@elice/intl');
8
8
  var materialSharedUtils = require('@elice/material-shared-utils');
9
9
  var editValue = require('./utils/editValue.js');
10
10
  var context = require('./context.js');
11
- var locales = require('./locales.js');
11
+ var en = require('./locales/en.json.js');
12
+ var ko = require('./locales/ko.json.js');
13
+ var th = require('./locales/th.json.js');
12
14
  var MaterialQuizEditContent = require('./MaterialQuizEditContent.js');
13
15
 
14
16
  const MaterialQuizEdit = React.forwardRef(({
15
17
  value,
16
18
  disabled = false,
17
- locale = 'en',
18
19
  onChange,
19
20
  onFormStateChange,
20
- onFileUploadRequest
21
+ onFileUploadRequest,
22
+ __intl
21
23
  }, ref) => {
22
24
  const formElRef = React.useRef(null);
23
25
  const useFormMethods = reactHookForm.useForm({
@@ -75,18 +77,15 @@ const MaterialQuizEdit = React.forwardRef(({
75
77
  //
76
78
  //
77
79
  //
78
- return React.createElement("form", {
80
+ return React.createElement(intl.RawEliceIntlProvider, Object.assign({}, __intl), React.createElement("form", {
79
81
  ref: formElRef
80
82
  }, React.createElement(context.default.Provider, {
81
83
  value: {
82
84
  disabled,
83
85
  onFileUploadRequest
84
86
  }
85
- }, React.createElement(reactIntl.IntlProvider, {
86
- locale: locale,
87
- defaultLocale: "en",
88
- messages: locale in locales ? locales[locale] : locales.en
89
87
  }, React.createElement(reactHookForm.FormProvider, Object.assign({}, useFormMethods), React.createElement(MaterialQuizEditContent.default, null)))));
90
88
  });
89
+ var MaterialQuizEdit$1 = new intl.IntlComponentBuilder(MaterialQuizEdit).add('en', en.default).add('ko', ko.default).add('th', th.default).build();
91
90
 
92
- exports.default = MaterialQuizEdit;
91
+ exports.default = MaterialQuizEdit$1;