@elice/material-quiz 1.240401.0 → 1.240508.0-globalization.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 (73) hide show
  1. package/cjs/components/material-quiz/MaterialQuiz.d.ts +3 -2
  2. package/cjs/components/material-quiz/MaterialQuiz.js +12 -9
  3. package/cjs/components/material-quiz/MaterialQuizAnswerExplanation.js +6 -4
  4. package/cjs/components/material-quiz/MaterialQuizSelectMultiple.js +6 -4
  5. package/cjs/components/material-quiz/MaterialQuizSelectMultipleOrder.js +9 -7
  6. package/cjs/components/material-quiz/MaterialQuizSelectOne.js +6 -4
  7. package/cjs/components/material-quiz/MaterialQuizText.js +9 -7
  8. package/cjs/components/material-quiz/QuizResultBadge.js +7 -5
  9. package/cjs/components/material-quiz/QuizSubmitStatusText.js +6 -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 +8 -3
  15. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroupDesktop.js +7 -5
  16. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroupMobile.js +8 -6
  17. package/cjs/components/material-quiz-edit/MaterialQuizEdit.d.ts +4 -4
  18. package/cjs/components/material-quiz-edit/MaterialQuizEdit.js +13 -10
  19. package/cjs/components/material-quiz-edit/MaterialQuizEditContent.js +57 -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 +10 -8
  25. package/cjs/components/material-quiz-edit/options/OptionSelectMultipleOrder.js +11 -9
  26. package/cjs/components/material-quiz-edit/options/OptionSelectOne.js +11 -9
  27. package/cjs/components/material-quiz-edit/options/OptionText.js +10 -8
  28. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupAnswerInfo.js +12 -10
  29. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupAnswerListItem.js +10 -8
  30. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupGroupInfo.js +7 -5
  31. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupGroupListItem.js +8 -6
  32. package/cjs/components/shared/QuestionBox.js +5 -3
  33. package/es/components/material-quiz/MaterialQuiz.d.ts +3 -2
  34. package/es/components/material-quiz/MaterialQuiz.js +12 -10
  35. package/es/components/material-quiz/MaterialQuizAnswerExplanation.js +4 -2
  36. package/es/components/material-quiz/MaterialQuizSelectMultiple.js +4 -2
  37. package/es/components/material-quiz/MaterialQuizSelectMultipleOrder.js +4 -2
  38. package/es/components/material-quiz/MaterialQuizSelectOne.js +4 -2
  39. package/es/components/material-quiz/MaterialQuizText.js +4 -2
  40. package/es/components/material-quiz/QuizResultBadge.js +4 -2
  41. package/es/components/material-quiz/QuizSubmitStatusText.js +4 -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 +7 -2
  47. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroupDesktop.js +4 -2
  48. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroupMobile.js +4 -2
  49. package/es/components/material-quiz-edit/MaterialQuizEdit.d.ts +4 -4
  50. package/es/components/material-quiz-edit/MaterialQuizEdit.js +13 -11
  51. package/es/components/material-quiz-edit/MaterialQuizEditContent.js +31 -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 +6 -4
  57. package/es/components/material-quiz-edit/options/OptionSelectMultipleOrder.js +6 -4
  58. package/es/components/material-quiz-edit/options/OptionSelectOne.js +6 -4
  59. package/es/components/material-quiz-edit/options/OptionText.js +6 -4
  60. package/es/components/material-quiz-edit/options/options-group/OptionGroupAnswerInfo.js +4 -2
  61. package/es/components/material-quiz-edit/options/options-group/OptionGroupAnswerListItem.js +4 -2
  62. package/es/components/material-quiz-edit/options/options-group/OptionGroupGroupInfo.js +4 -2
  63. package/es/components/material-quiz-edit/options/options-group/OptionGroupGroupListItem.js +4 -2
  64. package/es/components/shared/QuestionBox.js +4 -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,15 +86,15 @@ 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
94
+ return React.createElement(intl.RawEliceIntlProvider, {
95
+ value: {
96
+ intl: __intl
97
+ }
96
98
  }, React.createElement(MaterialQuizContext.MaterialQuizProvider, {
97
99
  materialQuizId: materialQuizId,
98
100
  userId: userId,
@@ -101,5 +103,6 @@ const MaterialQuizContainer = ({
101
103
  onNext: onNext
102
104
  }, React.createElement(MaterialQuiz, null)));
103
105
  };
106
+ var MaterialQuiz$1 = new intl.IntlComponentBuilder(MaterialQuizContainer).add('en', en.default).add('ko', ko.default).add('th', th.default).build();
104
107
 
105
- exports.default = MaterialQuizContainer;
108
+ 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,9 @@ const MaterialQuizAnswerExplanation = () => {
22
22
  lecture,
23
23
  materialQuiz
24
24
  } = MaterialQuizContext.useMaterialQuizState();
25
- const intl = reactIntl.useIntl();
25
+ const {
26
+ intl: intl$1
27
+ } = intl.useRawEliceIntl();
26
28
  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
29
  return null;
28
30
  }
@@ -34,7 +36,7 @@ const MaterialQuizAnswerExplanation = () => {
34
36
  header: React.createElement(blocks.Text, {
35
37
  bold: true,
36
38
  role: "navy0"
37
- }, intl.formatMessage({
39
+ }, intl$1.formatMessage({
38
40
  id: 'materialQuiz.explanation.show'
39
41
  }))
40
42
  }, materialQuiz.explanationInfo.isEnabled ? React.createElement(StyledMarkdownSSR, {
@@ -44,7 +46,7 @@ const MaterialQuizAnswerExplanation = () => {
44
46
  role: "info",
45
47
  lineHeight: 1.4,
46
48
  userSelect: "none"
47
- }, intl.formatMessage({
49
+ }, intl$1.formatMessage({
48
50
  id: 'materialQuiz.explanation.empty'
49
51
  }))));
50
52
  };
@@ -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,9 @@ const MaterialQuizSelectMultiple = () => {
33
33
  onDirty
34
34
  } = MaterialQuizContext.useMaterialQuizDispatch();
35
35
  // state
36
- const intl = reactIntl.useIntl();
36
+ const {
37
+ intl: intl$1
38
+ } = intl.useRawEliceIntl();
37
39
  const [selectedAnswer, setSelectedAnswer] = React.useState([]);
38
40
  const [materialQuizResponse, setMaterialQuizResponse] = React.useState();
39
41
  const [submitStatus, setSubmitStatus] = React.useState('idle');
@@ -139,7 +141,7 @@ const MaterialQuizSelectMultiple = () => {
139
141
  }
140
142
  };
141
143
  return React.createElement(QuestionBox.default, {
142
- title: intl.formatMessage({
144
+ title: intl$1.formatMessage({
143
145
  id: 'materialQuiz.selectMultiple.answer.title'
144
146
  }),
145
147
  titlePrefix: "A.",
@@ -159,7 +161,7 @@ const MaterialQuizSelectMultiple = () => {
159
161
  transparent: false,
160
162
  role: 'primary',
161
163
  onClick: handleSubmit,
162
- children: intl.formatMessage({
164
+ children: intl$1.formatMessage({
163
165
  id: 'materialQuiz.submit'
164
166
  })
165
167
  }]
@@ -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,9 @@ const MaterialQuizSelectMultipleOrder = () => {
71
71
  onDirty
72
72
  } = MaterialQuizContext.useMaterialQuizDispatch();
73
73
  // state
74
- const intl = reactIntl.useIntl();
74
+ const {
75
+ intl: intl$1
76
+ } = intl.useRawEliceIntl();
75
77
  const [materialQuizResponse, setMaterialQuizResponse] = React.useState();
76
78
  const [submitStatus, setSubmitStatus] = React.useState('idle');
77
79
  const [isActive, setIsActive] = React.useState(false);
@@ -311,7 +313,7 @@ const MaterialQuizSelectMultipleOrder = () => {
311
313
  }, React.createElement(blocks.Text, {
312
314
  size: "tiny",
313
315
  role: "white"
314
- }, intl.formatMessage({
316
+ }, intl$1.formatMessage({
315
317
  id: 'materialQuiz.order.answerEmpty'
316
318
  }))) : null);
317
319
  };
@@ -333,7 +335,7 @@ const MaterialQuizSelectMultipleOrder = () => {
333
335
  };
334
336
  if (option.value === null) {
335
337
  return React.createElement(QuizDraggbleDummyOption.default, {
336
- children: intl.formatMessage({
338
+ children: intl$1.formatMessage({
337
339
  id: 'materialQuiz.selectMultipleOrder.answer.title'
338
340
  }),
339
341
  key: index$1,
@@ -394,7 +396,7 @@ const MaterialQuizSelectMultipleOrder = () => {
394
396
  }));
395
397
  };
396
398
  return React.createElement(QuestionBox.default, {
397
- title: intl.formatMessage({
399
+ title: intl$1.formatMessage({
398
400
  id: 'materialQuiz.selectMultipleOrder.answer.title'
399
401
  }),
400
402
  titlePrefix: "A.",
@@ -414,7 +416,7 @@ const MaterialQuizSelectMultipleOrder = () => {
414
416
  transparent: false,
415
417
  role: 'primary',
416
418
  onClick: handleSubmit,
417
- children: intl.formatMessage({
419
+ children: intl$1.formatMessage({
418
420
  id: 'materialQuiz.submit'
419
421
  })
420
422
  }]
@@ -438,7 +440,7 @@ const MaterialQuizSelectMultipleOrder = () => {
438
440
  }, React.createElement(StyledQuizOptionsDropZone, null, React.createElement(blocks.Text, {
439
441
  role: "white",
440
442
  size: "small"
441
- }, intl.formatMessage({
443
+ }, intl$1.formatMessage({
442
444
  id: 'materialQuiz.answer'
443
445
  })), correctAnswerList.map((correctAnswer, index) => {
444
446
  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,9 @@ const MaterialQuizSelectOne = () => {
33
33
  onDirty
34
34
  } = MaterialQuizContext.useMaterialQuizDispatch();
35
35
  // state
36
- const intl = reactIntl.useIntl();
36
+ const {
37
+ intl: intl$1
38
+ } = intl.useRawEliceIntl();
37
39
  const [selectedAnswer, setSelectedAnswer] = React.useState();
38
40
  const [materialQuizResponse, setMaterialQuizResponse] = React.useState();
39
41
  const [submitStatus, setSubmitStatus] = React.useState('idle');
@@ -130,7 +132,7 @@ const MaterialQuizSelectOne = () => {
130
132
  }
131
133
  };
132
134
  return React.createElement(QuestionBox.default, {
133
- title: intl.formatMessage({
135
+ title: intl$1.formatMessage({
134
136
  id: 'materialQuiz.selectOne.answer.title'
135
137
  }),
136
138
  titlePrefix: "A.",
@@ -150,7 +152,7 @@ const MaterialQuizSelectOne = () => {
150
152
  transparent: false,
151
153
  role: 'primary',
152
154
  onClick: handleSubmit,
153
- children: intl.formatMessage({
155
+ children: intl$1.formatMessage({
154
156
  id: 'materialQuiz.submit'
155
157
  })
156
158
  }]
@@ -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,9 @@ const MaterialQuizText = () => {
36
36
  onDirty
37
37
  } = MaterialQuizContext.useMaterialQuizDispatch();
38
38
  // state
39
- const intl = reactIntl.useIntl();
39
+ const {
40
+ intl: intl$1
41
+ } = intl.useRawEliceIntl();
40
42
  const [materialQuizResponse, setMaterialQuizResponse] = React.useState();
41
43
  const [submitStatus, setSubmitStatus] = React.useState('idle');
42
44
  const [answer, setAnswer] = React.useState('');
@@ -121,7 +123,7 @@ const MaterialQuizText = () => {
121
123
  type: 'text',
122
124
  autoFocus: answer.length === 0,
123
125
  disabled: submitStatus === 'pending' || index.checkUserLectureTestEnded(lecture) || !!userId,
124
- placeholder: (materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.answerHint) || intl.formatMessage({
126
+ placeholder: (materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.answerHint) || intl$1.formatMessage({
125
127
  id: 'materialQuiz.text.placeholder'
126
128
  }),
127
129
  value: answer,
@@ -132,7 +134,7 @@ const MaterialQuizText = () => {
132
134
  }
133
135
  };
134
136
  return React.createElement(QuestionBox.default, {
135
- title: intl.formatMessage({
137
+ title: intl$1.formatMessage({
136
138
  id: 'materialQuiz.text.answer.title'
137
139
  }),
138
140
  titlePrefix: "A.",
@@ -146,7 +148,7 @@ const MaterialQuizText = () => {
146
148
  isNextActive: hasSubmitted && typeof onNext === 'function',
147
149
  footerActions: [{
148
150
  border: true,
149
- children: intl.formatMessage({
151
+ children: intl$1.formatMessage({
150
152
  id: 'materialQuiz.submit'
151
153
  }),
152
154
  disabled: answer.length === 0 || index.checkUserLectureTestEnded(lecture) || !!userId,
@@ -160,7 +162,7 @@ const MaterialQuizText = () => {
160
162
  column: true
161
163
  }, userId ? React.createElement(StyledLabel, {
162
164
  htmlFor: "quiz-text-answer"
163
- }, intl.formatMessage({
165
+ }, intl$1.formatMessage({
164
166
  id: 'materialQuiz.submittedAnswer'
165
167
  })) : null, React.createElement(StyledTextarea, Object.assign({
166
168
  id: "quiz-text-answer"
@@ -169,7 +171,7 @@ const MaterialQuizText = () => {
169
171
  margintop: "1rem"
170
172
  }, React.createElement(StyledLabel, {
171
173
  htmlFor: "quiz-text-submitted-answer"
172
- }, intl.formatMessage({
174
+ }, intl$1.formatMessage({
173
175
  id: 'materialQuiz.answer'
174
176
  })), React.createElement(StyledTextarea, {
175
177
  id: "quiz-text-submitted-answer",
@@ -3,35 +3,37 @@
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 {
14
+ intl: intl$1
15
+ } = intl.useRawEliceIntl();
14
16
  const status = React.useMemo(() => index.getQuizResultStatus(materialQuizResponse), [materialQuizResponse]);
15
17
  switch (status) {
16
18
  case index.QuizResultStatus.Correct:
17
19
  return React.createElement(blocks.BadgeNext, {
18
20
  type: "quiet",
19
21
  role: "green"
20
- }, intl.formatMessage({
22
+ }, intl$1.formatMessage({
21
23
  id: 'materialQuiz.resultStatus.correct'
22
24
  }));
23
25
  case index.QuizResultStatus.Wrong:
24
26
  return React.createElement(blocks.BadgeNext, {
25
27
  type: "quiet",
26
28
  role: "red"
27
- }, intl.formatMessage({
29
+ }, intl$1.formatMessage({
28
30
  id: 'materialQuiz.resultStatus.wrong'
29
31
  }));
30
32
  case index.QuizResultStatus.Submitted:
31
33
  return React.createElement(blocks.BadgeNext, {
32
34
  type: "quiet",
33
35
  role: "primary"
34
- }, intl.formatMessage({
36
+ }, intl$1.formatMessage({
35
37
  id: 'materialQuiz.resultStatus.submitted'
36
38
  }));
37
39
  default:
@@ -3,26 +3,28 @@
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 {
13
+ intl: intl$1
14
+ } = intl.useRawEliceIntl();
13
15
  switch (status) {
14
16
  case 'resolved':
15
17
  return React.createElement(blocks.StatusText, {
16
18
  role: "success",
17
19
  size: "small"
18
- }, intl.formatMessage({
20
+ }, intl$1.formatMessage({
19
21
  id: 'materialQuiz.submitStatus.success'
20
22
  }));
21
23
  case 'rejected':
22
24
  return React.createElement(blocks.StatusText, {
23
25
  role: "danger",
24
26
  size: "small"
25
- }, intl.formatMessage({
27
+ }, intl$1.formatMessage({
26
28
  id: 'materialQuiz.submitStatus.failure'
27
29
  }));
28
30
  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,13 @@ 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 {
28
+ intl: intl$1
29
+ } = intl.useRawEliceIntl();
25
30
  // context
26
31
  const {
27
32
  materialQuiz,
@@ -284,7 +289,7 @@ const MaterialQuizGroup = () => {
284
289
  transparent: false,
285
290
  role: 'primary',
286
291
  onClick: handleSubmit,
287
- children: intl.formatMessage({
292
+ children: intl$1.formatMessage({
288
293
  id: 'materialQuiz.submit'
289
294
  })
290
295
  }]
@@ -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,9 @@ 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 {
38
+ intl: intl$1
39
+ } = intl.useRawEliceIntl();
38
40
  const {
39
41
  userId
40
42
  } = MaterialQuizContext.useMaterialQuizState();
@@ -85,7 +87,7 @@ const MaterialQuizGroupDesktop = () => {
85
87
  })) : React.createElement(blocks.Text, {
86
88
  role: "gray5",
87
89
  bold: true
88
- }, intl.formatMessage({
90
+ }, intl$1.formatMessage({
89
91
  id: 'materialQuiz.dropzone.desktop.answerEmpty'
90
92
  }))));
91
93
  };
@@ -116,7 +118,7 @@ const MaterialQuizGroupDesktop = () => {
116
118
  size: "small",
117
119
  disabled: !!userId,
118
120
  onClick: handleAnswerReset
119
- }, intl.formatMessage({
121
+ }, intl$1.formatMessage({
120
122
  id: 'materialQuiz.dropzone.optionReset'
121
123
  })), React.createElement(blocks.Vspace, {
122
124
  height: 1
@@ -137,7 +139,7 @@ const MaterialQuizGroupDesktop = () => {
137
139
  role: "navy",
138
140
  textAlign: "center",
139
141
  bold: true
140
- }, intl.formatMessage({
142
+ }, intl$1.formatMessage({
141
143
  id: 'materialQuiz.dropzone.optionEmpty'
142
144
  }))))), renderQuizContentSortation());
143
145
  };
@@ -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,9 @@ 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 {
33
+ intl: intl$1
34
+ } = intl.useRawEliceIntl();
33
35
  // context
34
36
  const {
35
37
  materialQuiz,
@@ -54,7 +56,7 @@ const MaterialQuizGroupMobile = () => {
54
56
  disabled: !!userId,
55
57
  onClick: handleAnswerReset,
56
58
  block: true
57
- }, intl.formatMessage({
59
+ }, intl$1.formatMessage({
58
60
  id: 'materialQuiz.dropzone.optionReset'
59
61
  })), React.createElement(blocks.Vspace, {
60
62
  height: 1
@@ -91,7 +93,7 @@ const MaterialQuizGroupMobile = () => {
91
93
  textAlign: "center",
92
94
  bold: true,
93
95
  block: true
94
- }, intl.formatMessage({
96
+ }, intl$1.formatMessage({
95
97
  id: 'materialQuiz.dropzone.mobile.answerEmpty'
96
98
  }))));
97
99
  }));
@@ -103,7 +105,7 @@ const MaterialQuizGroupMobile = () => {
103
105
  const isCurrentOptionList = Boolean(currentOptionList.length);
104
106
  return React.createElement(blocks.BottomSheet, {
105
107
  show: dropzoneIndex !== null,
106
- title: intl.formatMessage({
108
+ title: intl$1.formatMessage({
107
109
  id: 'materialQuiz.bottomSheet.title'
108
110
  }),
109
111
  contentsText: "",
@@ -133,7 +135,7 @@ const MaterialQuizGroupMobile = () => {
133
135
  textAlign: "center",
134
136
  bold: true,
135
137
  block: true
136
- }, intl.formatMessage({
138
+ }, intl$1.formatMessage({
137
139
  id: 'materialQuiz.bottomSheet.optionEmpty'
138
140
  }))));
139
141
  };
@@ -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,19 @@ const MaterialQuizEdit = React.forwardRef(({
75
77
  //
76
78
  //
77
79
  //
78
- return React.createElement("form", {
80
+ return React.createElement(intl.RawEliceIntlProvider, {
81
+ value: {
82
+ intl: __intl
83
+ }
84
+ }, React.createElement("form", {
79
85
  ref: formElRef
80
86
  }, React.createElement(context.default.Provider, {
81
87
  value: {
82
88
  disabled,
83
89
  onFileUploadRequest
84
90
  }
85
- }, React.createElement(reactIntl.IntlProvider, {
86
- locale: locale,
87
- defaultLocale: "en",
88
- messages: locale in locales ? locales[locale] : locales.en
89
91
  }, React.createElement(reactHookForm.FormProvider, Object.assign({}, useFormMethods), React.createElement(MaterialQuizEditContent.default, null)))));
90
92
  });
93
+ var MaterialQuizEdit$1 = new intl.IntlComponentBuilder(MaterialQuizEdit).add('en', en.default).add('ko', ko.default).add('th', th.default).build();
91
94
 
92
- exports.default = MaterialQuizEdit;
95
+ exports.default = MaterialQuizEdit$1;