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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/cjs/_virtual/_rollupPluginBabelHelpers.js +423 -0
  2. package/cjs/components/eb-sortable/EbDraggable.js +42 -33
  3. package/cjs/components/eb-sortable/EbDroppable.js +27 -20
  4. package/cjs/components/markdown-editor/index.d.ts +1 -2
  5. package/cjs/components/markdown-editor/index.js +19 -10
  6. package/cjs/components/material-quiz/MaterialQuiz.js +114 -83
  7. package/cjs/components/material-quiz/MaterialQuizAnswerExplanation.js +36 -29
  8. package/cjs/components/material-quiz/MaterialQuizInfo.js +151 -149
  9. package/cjs/components/material-quiz/MaterialQuizSelectMultiple.js +175 -127
  10. package/cjs/components/material-quiz/MaterialQuizSelectMultipleOrder.js +360 -286
  11. package/cjs/components/material-quiz/MaterialQuizSelectOne.js +172 -126
  12. package/cjs/components/material-quiz/MaterialQuizShimmer.js +46 -39
  13. package/cjs/components/material-quiz/MaterialQuizText.js +163 -115
  14. package/cjs/components/material-quiz/QuizResultBadge.js +32 -22
  15. package/cjs/components/material-quiz/QuizSubmitStatusText.js +21 -16
  16. package/cjs/components/material-quiz/constants/color.js +5 -5
  17. package/cjs/components/material-quiz/context/MaterialQuizContext.d.ts +1 -1
  18. package/cjs/components/material-quiz/context/MaterialQuizContext.js +156 -93
  19. package/cjs/components/material-quiz/index.js +9 -0
  20. package/cjs/components/material-quiz/locales/index.js +13 -0
  21. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroup.js +259 -161
  22. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroupDesktop.js +134 -100
  23. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroupMobile.js +130 -101
  24. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroupOptionItem.js +64 -52
  25. package/cjs/components/material-quiz/material-quiz-group/context/context.js +5 -1
  26. package/cjs/components/material-quiz-edit/MaterialQuizEdit.js +47 -36
  27. package/cjs/components/material-quiz-edit/MaterialQuizEditContent.js +280 -232
  28. package/cjs/components/material-quiz-edit/context.js +8 -2
  29. package/cjs/components/material-quiz-edit/index.js +7 -0
  30. package/cjs/components/material-quiz-edit/locales/index.js +13 -0
  31. package/cjs/components/material-quiz-edit/options/OptionEditor.js +70 -46
  32. package/cjs/components/material-quiz-edit/options/OptionSelectMultiple.js +174 -148
  33. package/cjs/components/material-quiz-edit/options/OptionSelectMultipleOrder.js +175 -149
  34. package/cjs/components/material-quiz-edit/options/OptionSelectOne.js +164 -144
  35. package/cjs/components/material-quiz-edit/options/OptionText.js +90 -82
  36. package/cjs/components/material-quiz-edit/options/options-group/OptionGroup.js +9 -8
  37. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupAnswerInfo.js +156 -112
  38. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupAnswerListItem.js +288 -196
  39. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupGroupInfo.js +88 -75
  40. package/cjs/components/material-quiz-edit/options/options-group/OptionGroupGroupListItem.js +108 -92
  41. package/cjs/components/material-quiz-edit/utils/checkTwoDimensionArray.js +5 -1
  42. package/cjs/components/material-quiz-edit/utils/editValue.js +21 -12
  43. package/cjs/components/shared/QuestionBox.js +198 -165
  44. package/cjs/components/shared/QuizDraggbleDroppedOption.js +11 -12
  45. package/cjs/components/shared/QuizDraggbleDummyOption.js +23 -16
  46. package/cjs/components/shared/QuizDraggbleOption.js +65 -59
  47. package/cjs/components/shared/StyledMarkdown.js +5 -1
  48. package/cjs/components/shared/index.js +19 -0
  49. package/cjs/components/shared/question-checkbox/QuestionCheckbox.js +13 -7
  50. package/cjs/components/shared/question-checkbox/QuestionCheckboxContext.d.ts +1 -1
  51. package/cjs/components/shared/question-checkbox/QuestionCheckboxContext.js +24 -17
  52. package/cjs/components/shared/question-checkbox/QuestionCheckboxOption.js +59 -68
  53. package/cjs/components/shared/question-radio/QuestionRadio.js +13 -7
  54. package/cjs/components/shared/question-radio/QuestionRadioContext.d.ts +1 -1
  55. package/cjs/components/shared/question-radio/QuestionRadioContext.js +24 -17
  56. package/cjs/components/shared/question-radio/QuestionRadioOption.js +52 -59
  57. package/cjs/components/shared/utils/getQuestionStatusStyle.js +7 -9
  58. package/cjs/components/shared/utils/mergeRefs.js +15 -6
  59. package/cjs/constant/element.js +3 -3
  60. package/cjs/constant/index.js +9 -0
  61. package/cjs/helpers/index.js +8 -10
  62. package/cjs/hooks/index.js +7 -0
  63. package/cjs/hooks/useCaculatePassage.js +21 -20
  64. package/es/_virtual/_rollupPluginBabelHelpers.js +408 -0
  65. package/es/components/eb-sortable/EbDraggable.js +37 -33
  66. package/es/components/eb-sortable/EbDroppable.js +22 -20
  67. package/es/components/markdown-editor/index.d.ts +1 -2
  68. package/es/components/markdown-editor/index.js +15 -10
  69. package/es/components/material-quiz/MaterialQuiz.js +109 -83
  70. package/es/components/material-quiz/MaterialQuizAnswerExplanation.js +32 -29
  71. package/es/components/material-quiz/MaterialQuizInfo.js +148 -150
  72. package/es/components/material-quiz/MaterialQuizSelectMultiple.js +171 -127
  73. package/es/components/material-quiz/MaterialQuizSelectMultipleOrder.js +356 -287
  74. package/es/components/material-quiz/MaterialQuizSelectOne.js +168 -126
  75. package/es/components/material-quiz/MaterialQuizShimmer.js +42 -39
  76. package/es/components/material-quiz/MaterialQuizText.js +158 -115
  77. package/es/components/material-quiz/QuizResultBadge.js +27 -22
  78. package/es/components/material-quiz/QuizSubmitStatusText.js +17 -16
  79. package/es/components/material-quiz/constants/color.js +5 -5
  80. package/es/components/material-quiz/context/MaterialQuizContext.d.ts +1 -1
  81. package/es/components/material-quiz/context/MaterialQuizContext.js +153 -94
  82. package/es/components/material-quiz/index.js +2 -0
  83. package/es/components/material-quiz/locales/index.js +4 -0
  84. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroup.js +253 -161
  85. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroupDesktop.js +129 -100
  86. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroupMobile.js +125 -101
  87. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroupOptionItem.js +60 -52
  88. package/es/components/material-quiz/material-quiz-group/context/context.js +1 -1
  89. package/es/components/material-quiz-edit/MaterialQuizEdit.js +43 -36
  90. package/es/components/material-quiz-edit/MaterialQuizEditContent.js +272 -229
  91. package/es/components/material-quiz-edit/context.js +4 -2
  92. package/es/components/material-quiz-edit/index.js +1 -0
  93. package/es/components/material-quiz-edit/locales/index.js +4 -0
  94. package/es/components/material-quiz-edit/options/OptionEditor.js +64 -46
  95. package/es/components/material-quiz-edit/options/OptionSelectMultiple.js +170 -148
  96. package/es/components/material-quiz-edit/options/OptionSelectMultipleOrder.js +171 -149
  97. package/es/components/material-quiz-edit/options/OptionSelectOne.js +159 -144
  98. package/es/components/material-quiz-edit/options/OptionText.js +86 -82
  99. package/es/components/material-quiz-edit/options/options-group/OptionGroup.js +9 -8
  100. package/es/components/material-quiz-edit/options/options-group/OptionGroupAnswerInfo.js +151 -112
  101. package/es/components/material-quiz-edit/options/options-group/OptionGroupAnswerListItem.js +283 -197
  102. package/es/components/material-quiz-edit/options/options-group/OptionGroupGroupInfo.js +83 -75
  103. package/es/components/material-quiz-edit/options/options-group/OptionGroupGroupListItem.js +103 -92
  104. package/es/components/material-quiz-edit/utils/checkTwoDimensionArray.js +5 -1
  105. package/es/components/material-quiz-edit/utils/editValue.js +17 -12
  106. package/es/components/shared/QuestionBox.js +192 -165
  107. package/es/components/shared/QuizDraggbleDroppedOption.js +11 -12
  108. package/es/components/shared/QuizDraggbleDummyOption.js +19 -16
  109. package/es/components/shared/QuizDraggbleOption.js +61 -59
  110. package/es/components/shared/StyledMarkdown.js +1 -1
  111. package/es/components/shared/index.js +7 -0
  112. package/es/components/shared/question-checkbox/QuestionCheckbox.js +9 -7
  113. package/es/components/shared/question-checkbox/QuestionCheckboxContext.d.ts +1 -1
  114. package/es/components/shared/question-checkbox/QuestionCheckboxContext.js +20 -17
  115. package/es/components/shared/question-checkbox/QuestionCheckboxOption.js +54 -68
  116. package/es/components/shared/question-radio/QuestionRadio.js +9 -7
  117. package/es/components/shared/question-radio/QuestionRadioContext.d.ts +1 -1
  118. package/es/components/shared/question-radio/QuestionRadioContext.js +20 -17
  119. package/es/components/shared/question-radio/QuestionRadioOption.js +47 -59
  120. package/es/components/shared/utils/getQuestionStatusStyle.js +7 -9
  121. package/es/components/shared/utils/mergeRefs.js +15 -6
  122. package/es/constant/element.js +3 -3
  123. package/es/constant/index.js +1 -0
  124. package/es/helpers/index.js +8 -10
  125. package/es/hooks/index.js +1 -0
  126. package/es/hooks/useCaculatePassage.js +21 -20
  127. package/package.json +12 -15
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var jsxRuntime = require('react/jsx-runtime');
5
6
  var React = require('react');
6
7
  var blocks = require('@elice/blocks');
7
8
  var designTokens = require('@elice/design-tokens');
@@ -13,141 +14,174 @@ var MaterialQuizContext = require('../context/MaterialQuizContext.js');
13
14
  var context = require('./context/context.js');
14
15
  var MaterialQuizGroupOptionItem = require('./MaterialQuizGroupOptionItem.js');
15
16
 
16
- const QUIZ_OPTIONS_CONTENT_WIDTH = 534;
17
- const StyledQuizAnswerWrapper = styled.div.withConfig({
17
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
18
+
19
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
20
+ var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
21
+
22
+ var QUIZ_OPTIONS_CONTENT_WIDTH = 534;
23
+ var StyledQuizAnswerWrapper = styled__default.default.div.withConfig({
18
24
  componentId: "sc-18trt81-0"
19
25
  })(["display:flex;flex-direction:column;flex:0 0 calc((100% - ", "px) / 2);"], QUIZ_OPTIONS_CONTENT_WIDTH);
20
- const StyledQuizAnswerDropzoneWrapper = styled.div.withConfig({
26
+ var StyledQuizAnswerDropzoneWrapper = styled__default.default.div.withConfig({
21
27
  componentId: "sc-18trt81-1"
22
28
  })(["padding:1rem;border-radius:0.5rem;background:", ";&:not(:last-child){margin-bottom:1rem;}"], designTokens.base.color.white);
23
- const StyledQuizAnswerDropzone = styled(EbDroppable.default).withConfig({
29
+ var StyledQuizAnswerDropzone = styled__default.default(EbDroppable.default).withConfig({
24
30
  componentId: "sc-18trt81-2"
25
- })(["display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:", ";align-items:", ";min-width:12.5rem;min-height:16.25rem;padding:0.5rem;border-radius:0.5rem;background:", ";text-align:center;outline:1px dashed ", ";&.ui-droppable-hover{outline:1px dashed ", ";}"], ({
26
- isGroupAnswer
27
- }) => isGroupAnswer ? 'flex-start' : 'center', ({
28
- isGroupAnswer
29
- }) => isGroupAnswer ? 'flex-start' : 'center', designTokens.base.color.gray1, designTokens.base.color.gray3, designTokens.base.color.navy4);
30
- const StyledQuizOptions = styled.div.withConfig({
31
+ })(["display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:", ";align-items:", ";min-width:12.5rem;min-height:16.25rem;padding:0.5rem;border-radius:0.5rem;background:", ";text-align:center;outline:1px dashed ", ";&.ui-droppable-hover{outline:1px dashed ", ";}"], function (_ref) {
32
+ var isGroupAnswer = _ref.isGroupAnswer;
33
+ return isGroupAnswer ? 'flex-start' : 'center';
34
+ }, function (_ref2) {
35
+ var isGroupAnswer = _ref2.isGroupAnswer;
36
+ return isGroupAnswer ? 'flex-start' : 'center';
37
+ }, designTokens.base.color.gray1, designTokens.base.color.gray3, designTokens.base.color.navy4);
38
+ var StyledQuizOptions = styled__default.default.div.withConfig({
31
39
  componentId: "sc-18trt81-3"
32
40
  })(["display:flex;flex-direction:column;width:26.125rem;height:fit-content;padding:1rem;background-color:", ";border-radius:0.5rem;outline:1px dashed ", ";"], designTokens.base.color.navy6, designTokens.base.color.navy4);
33
- const StyledQuizOptionsDropzone = styled(EbDroppable.default).withConfig({
41
+ var StyledQuizOptionsDropzone = styled__default.default(EbDroppable.default).withConfig({
34
42
  componentId: "sc-18trt81-4"
35
43
  })(["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
- const MaterialQuizGroupDesktop = () => {
37
- const intl$1 = intl.useRawEliceIntl();
38
- const {
39
- userId
40
- } = MaterialQuizContext.useMaterialQuizState();
41
- const {
42
- groupList,
43
- currentAnswerList,
44
- currentOptionList,
45
- updateCurrentAnswer,
46
- updateCurrentOption,
47
- handleAnswerReset
48
- } = React.useContext(context.default);
44
+ var MaterialQuizGroupDesktop = function MaterialQuizGroupDesktop() {
45
+ var intl$1 = intl.useRawEliceIntl();
46
+ var _useMaterialQuizState = MaterialQuizContext.useMaterialQuizState(),
47
+ userId = _useMaterialQuizState.userId;
48
+ var _React$useContext = React__default.default.useContext(context.default),
49
+ groupList = _React$useContext.groupList,
50
+ currentAnswerList = _React$useContext.currentAnswerList,
51
+ currentOptionList = _React$useContext.currentOptionList,
52
+ updateCurrentAnswer = _React$useContext.updateCurrentAnswer,
53
+ updateCurrentOption = _React$useContext.updateCurrentOption,
54
+ handleAnswerReset = _React$useContext.handleAnswerReset;
49
55
  /**
50
56
  *
51
57
  */
52
- const renderQuizContentSortation = () => {
53
- return React.createElement(blocks.Flex, {
58
+ var renderQuizContentSortation = function renderQuizContentSortation() {
59
+ return jsxRuntime.jsx(blocks.Flex, {
54
60
  align: "center",
55
- margin: "0 1.25rem"
56
- }, React.createElement(blocks.Icon, {
57
- size: "large",
58
- icon: icons.eilSortItem,
59
- rotate: 90,
60
- color: "white"
61
- }));
61
+ margin: "0 1.25rem",
62
+ children: jsxRuntime.jsx(blocks.Icon, {
63
+ size: "large",
64
+ icon: icons.eilSortItem,
65
+ rotate: 90,
66
+ color: "white"
67
+ })
68
+ });
62
69
  };
63
70
  /**
64
71
  *
65
72
  */
66
- const renderQuizGroupAnswer = (title, dropzoneIndex) => {
73
+ var renderQuizGroupAnswer = function renderQuizGroupAnswer(title, dropzoneIndex) {
67
74
  var _a, _b;
68
- const isGroupAnswer = Boolean((_a = currentAnswerList[dropzoneIndex]) === null || _a === void 0 ? void 0 : _a.length);
69
- return React.createElement(StyledQuizAnswerDropzoneWrapper, null, React.createElement(blocks.Text, {
70
- size: "large",
71
- bold: true
72
- }, title), React.createElement(blocks.Vspace, {
73
- height: 1
74
- }), React.createElement(StyledQuizAnswerDropzone, {
75
- accept: ".quiz-answer",
76
- disabled: !!userId,
77
- isGroupAnswer: isGroupAnswer,
78
- onDrop: (event, ui) => {
79
- const targetId = Number(ui.draggable[0].id);
80
- updateCurrentAnswer(targetId, dropzoneIndex);
81
- }
82
- }, isGroupAnswer ? (_b = currentAnswerList[dropzoneIndex]) === null || _b === void 0 ? void 0 : _b.map((answer, index) => React.createElement(MaterialQuizGroupOptionItem.default, {
83
- key: index,
84
- option: answer
85
- })) : React.createElement(blocks.Text, {
86
- role: "gray5",
87
- bold: true
88
- }, intl$1.formatMessage({
89
- id: 'materialQuiz.dropzone.desktop.answerEmpty'
90
- }))));
75
+ var isGroupAnswer = Boolean((_a = currentAnswerList[dropzoneIndex]) === null || _a === void 0 ? void 0 : _a.length);
76
+ return jsxRuntime.jsxs(StyledQuizAnswerDropzoneWrapper, {
77
+ children: [jsxRuntime.jsx(blocks.Text, {
78
+ size: "large",
79
+ bold: true,
80
+ children: title
81
+ }), jsxRuntime.jsx(blocks.Vspace, {
82
+ height: 1
83
+ }), jsxRuntime.jsx(StyledQuizAnswerDropzone, {
84
+ accept: ".quiz-answer",
85
+ disabled: !!userId,
86
+ isGroupAnswer: isGroupAnswer,
87
+ onDrop: function onDrop(event, ui) {
88
+ var targetId = Number(ui.draggable[0].id);
89
+ updateCurrentAnswer(targetId, dropzoneIndex);
90
+ },
91
+ children: isGroupAnswer ? (_b = currentAnswerList[dropzoneIndex]) === null || _b === void 0 ? void 0 : _b.map(function (answer, index) {
92
+ return jsxRuntime.jsx(MaterialQuizGroupOptionItem.default, {
93
+ option: answer
94
+ }, index);
95
+ }) : jsxRuntime.jsx(blocks.Text, {
96
+ role: "gray5",
97
+ bold: true,
98
+ children: intl$1.formatMessage({
99
+ id: 'materialQuiz.dropzone.desktop.answerEmpty'
100
+ })
101
+ })
102
+ })]
103
+ });
91
104
  };
92
105
  /**
93
106
  *
94
107
  */
95
- const renderQuizContentLeft = () => {
96
- return React.createElement(StyledQuizAnswerWrapper, null, groupList.filter((_, index) => !(index % 2)).map((group, index) => React.createElement(React.Fragment, {
97
- key: index
98
- }, renderQuizGroupAnswer(group, index * 2))));
108
+ var renderQuizContentLeft = function renderQuizContentLeft() {
109
+ return jsxRuntime.jsx(StyledQuizAnswerWrapper, {
110
+ children: groupList.filter(function (_, index) {
111
+ return !(index % 2);
112
+ }).map(function (group, index) {
113
+ return jsxRuntime.jsx(React__default.default.Fragment, {
114
+ children: renderQuizGroupAnswer(group, index * 2)
115
+ }, index);
116
+ })
117
+ });
99
118
  };
100
119
  /**
101
120
  *
102
121
  */
103
- const renderQuizContentRight = () => {
104
- return React.createElement(StyledQuizAnswerWrapper, null, groupList.filter((_, index) => index % 2).map((group, index) => React.createElement(React.Fragment, {
105
- key: index
106
- }, renderQuizGroupAnswer(group, index * 2 + 1))));
122
+ var renderQuizContentRight = function renderQuizContentRight() {
123
+ return jsxRuntime.jsx(StyledQuizAnswerWrapper, {
124
+ children: groupList.filter(function (_, index) {
125
+ return index % 2;
126
+ }).map(function (group, index) {
127
+ return jsxRuntime.jsx(React__default.default.Fragment, {
128
+ children: renderQuizGroupAnswer(group, index * 2 + 1)
129
+ }, index);
130
+ })
131
+ });
107
132
  };
108
133
  /**
109
134
  *
110
135
  */
111
- const renderQuizContentOption = () => {
112
- return React.createElement(blocks.Flex, {
113
- height: "fit-content"
114
- }, renderQuizContentSortation(), React.createElement(StyledQuizOptions, null, React.createElement(blocks.Button, {
115
- role: "white",
116
- size: "small",
117
- disabled: !!userId,
118
- onClick: handleAnswerReset
119
- }, intl$1.formatMessage({
120
- id: 'materialQuiz.dropzone.optionReset'
121
- })), React.createElement(blocks.Vspace, {
122
- height: 1
123
- }), React.createElement(StyledQuizOptionsDropzone, {
124
- accept: ".quiz-answer",
125
- onDrop: (event, ui) => {
126
- const targetId = Number(ui.draggable[0].id);
127
- updateCurrentOption(targetId);
128
- }
129
- }, currentOptionList.length ? currentOptionList.map((option, index) => React.createElement(MaterialQuizGroupOptionItem.default, {
130
- key: index,
131
- option: option
132
- })) : React.createElement(blocks.Flex, {
133
- justify: "center",
134
- align: "center",
135
- width: "100%"
136
- }, React.createElement(blocks.Text, {
137
- role: "navy",
138
- textAlign: "center",
139
- bold: true
140
- }, intl$1.formatMessage({
141
- id: 'materialQuiz.dropzone.optionEmpty'
142
- }))))), renderQuizContentSortation());
136
+ var renderQuizContentOption = function renderQuizContentOption() {
137
+ return jsxRuntime.jsxs(blocks.Flex, {
138
+ height: "fit-content",
139
+ children: [renderQuizContentSortation(), jsxRuntime.jsxs(StyledQuizOptions, {
140
+ children: [jsxRuntime.jsx(blocks.Button, {
141
+ role: "white",
142
+ size: "small",
143
+ disabled: !!userId,
144
+ onClick: handleAnswerReset,
145
+ children: intl$1.formatMessage({
146
+ id: 'materialQuiz.dropzone.optionReset'
147
+ })
148
+ }), jsxRuntime.jsx(blocks.Vspace, {
149
+ height: 1
150
+ }), jsxRuntime.jsx(StyledQuizOptionsDropzone, {
151
+ accept: ".quiz-answer",
152
+ onDrop: function onDrop(event, ui) {
153
+ var targetId = Number(ui.draggable[0].id);
154
+ updateCurrentOption(targetId);
155
+ },
156
+ children: currentOptionList.length ? currentOptionList.map(function (option, index) {
157
+ return jsxRuntime.jsx(MaterialQuizGroupOptionItem.default, {
158
+ option: option
159
+ }, index);
160
+ }) : jsxRuntime.jsx(blocks.Flex, {
161
+ justify: "center",
162
+ align: "center",
163
+ width: "100%",
164
+ children: jsxRuntime.jsx(blocks.Text, {
165
+ role: "navy",
166
+ textAlign: "center",
167
+ bold: true,
168
+ children: intl$1.formatMessage({
169
+ id: 'materialQuiz.dropzone.optionEmpty'
170
+ })
171
+ })
172
+ })
173
+ })]
174
+ }), renderQuizContentSortation()]
175
+ });
143
176
  };
144
177
  //
145
178
  //
146
179
  //
147
- return React.createElement(blocks.Flex, {
180
+ return jsxRuntime.jsxs(blocks.Flex, {
148
181
  width: "100%",
149
- height: "100%"
150
- }, renderQuizContentLeft(), renderQuizContentOption(), renderQuizContentRight());
182
+ height: "100%",
183
+ children: [renderQuizContentLeft(), renderQuizContentOption(), renderQuizContentRight()]
184
+ });
151
185
  };
152
186
 
153
187
  exports.default = MaterialQuizGroupDesktop;
@@ -2,6 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
+ var jsxRuntime = require('react/jsx-runtime');
5
7
  var React = require('react');
6
8
  var blocks = require('@elice/blocks');
7
9
  var designTokens = require('@elice/design-tokens');
@@ -11,136 +13,163 @@ var MaterialQuizContext = require('../context/MaterialQuizContext.js');
11
13
  var context = require('./context/context.js');
12
14
  var MaterialQuizGroupOptionItem = require('./MaterialQuizGroupOptionItem.js');
13
15
 
14
- const StyledQuizGroupWrapper = styled.div.withConfig({
16
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
17
+
18
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
19
+ var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
20
+
21
+ var StyledQuizGroupWrapper = styled__default.default.div.withConfig({
15
22
  componentId: "sc-bftjpj-0"
16
23
  })(["display:flex;flex-direction:column;overflow:hidden;width:100%;padding:1rem;background:", ";border-radius:0.5rem;&:hover{cursor:pointer;}&:not(:last-child){margin-bottom:1rem;}"], designTokens.base.color.white);
17
- const StyledQuizOptionList = styled.div.withConfig({
24
+ var StyledQuizOptionList = styled__default.default.div.withConfig({
18
25
  componentId: "sc-bftjpj-1"
19
- })(["display:flex;align-items:", ";gap:0.5rem;overflow-x:auto;min-height:223px;padding:1rem;border-radius:0.5rem;background:", ";outline-color:", ";"], ({
20
- isCurrentOptionList
21
- }) => isCurrentOptionList ? 'flex-start' : 'center', designTokens.base.color.gray1, designTokens.base.color.gray3);
22
- const StyledQuizOptionItem = styled.div.withConfig({
26
+ })(["display:flex;align-items:", ";gap:0.5rem;overflow-x:auto;min-height:223px;padding:1rem;border-radius:0.5rem;background:", ";outline-color:", ";"], function (_ref) {
27
+ var isCurrentOptionList = _ref.isCurrentOptionList;
28
+ return isCurrentOptionList ? 'flex-start' : 'center';
29
+ }, designTokens.base.color.gray1, designTokens.base.color.gray3);
30
+ var StyledQuizOptionItem = styled__default.default.div.withConfig({
23
31
  componentId: "sc-bftjpj-2"
24
32
  })(["&:hover{cursor:pointer;}"]);
25
- const StyledBottomSheetWrapper = styled(StyledQuizOptionList).withConfig({
33
+ var StyledBottomSheetWrapper = styled__default.default(StyledQuizOptionList).withConfig({
26
34
  componentId: "sc-bftjpj-3"
27
- })(["align-items:", ";padding:0.5rem;"], ({
28
- vertical,
29
- isCurrentOptionList
30
- }) => vertical && isCurrentOptionList ? 'flex-start' : 'center');
31
- const MaterialQuizGroupMobile = () => {
32
- const intl$1 = intl.useRawEliceIntl();
35
+ })(["align-items:", ";padding:0.5rem;"], function (_ref2) {
36
+ var vertical = _ref2.vertical,
37
+ isCurrentOptionList = _ref2.isCurrentOptionList;
38
+ return vertical && isCurrentOptionList ? 'flex-start' : 'center';
39
+ });
40
+ var MaterialQuizGroupMobile = function MaterialQuizGroupMobile() {
41
+ var intl$1 = intl.useRawEliceIntl();
33
42
  // context
34
- const {
35
- materialQuiz,
36
- userId,
37
- vertical
38
- } = MaterialQuizContext.useMaterialQuizState();
39
- const {
40
- currentOptionList,
41
- currentAnswerList,
42
- updateCurrentAnswer,
43
- updateCurrentOption,
44
- handleAnswerReset
45
- } = React.useContext(context.default);
46
- const [dropzoneIndex, setDropzoneIndex] = React.useState(null);
43
+ var _useMaterialQuizState = MaterialQuizContext.useMaterialQuizState(),
44
+ materialQuiz = _useMaterialQuizState.materialQuiz,
45
+ userId = _useMaterialQuizState.userId,
46
+ vertical = _useMaterialQuizState.vertical;
47
+ var _React$useContext = React__default.default.useContext(context.default),
48
+ currentOptionList = _React$useContext.currentOptionList,
49
+ currentAnswerList = _React$useContext.currentAnswerList,
50
+ updateCurrentAnswer = _React$useContext.updateCurrentAnswer,
51
+ updateCurrentOption = _React$useContext.updateCurrentOption,
52
+ handleAnswerReset = _React$useContext.handleAnswerReset;
53
+ var _React$useState = React__default.default.useState(null),
54
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
55
+ dropzoneIndex = _React$useState2[0],
56
+ setDropzoneIndex = _React$useState2[1];
47
57
  /**
48
58
  *
49
59
  */
50
- const renderResetButton = () => {
51
- return React.createElement(React.Fragment, null, React.createElement(blocks.Button, {
52
- role: "white",
53
- size: "small",
54
- disabled: !!userId,
55
- onClick: handleAnswerReset,
56
- block: true
57
- }, intl$1.formatMessage({
58
- id: 'materialQuiz.dropzone.optionReset'
59
- })), React.createElement(blocks.Vspace, {
60
- height: 1
61
- }));
60
+ var renderResetButton = function renderResetButton() {
61
+ return jsxRuntime.jsxs(jsxRuntime.Fragment, {
62
+ children: [jsxRuntime.jsx(blocks.Button, {
63
+ role: "white",
64
+ size: "small",
65
+ disabled: !!userId,
66
+ onClick: handleAnswerReset,
67
+ block: true,
68
+ children: intl$1.formatMessage({
69
+ id: 'materialQuiz.dropzone.optionReset'
70
+ })
71
+ }), jsxRuntime.jsx(blocks.Vspace, {
72
+ height: 1
73
+ })]
74
+ });
62
75
  };
63
76
  /**
64
77
  *
65
78
  */
66
- const renderGroupList = () => {
79
+ var renderGroupList = function renderGroupList() {
67
80
  var _a;
68
- return React.createElement(React.Fragment, null, (_a = materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.groups) === null || _a === void 0 ? void 0 : _a.map((group, index) => {
69
- var _a;
70
- const isCurrentOptionList = Boolean((_a = currentAnswerList === null || currentAnswerList === void 0 ? void 0 : currentAnswerList[index]) === null || _a === void 0 ? void 0 : _a.length);
71
- return React.createElement(StyledQuizGroupWrapper, {
72
- key: index,
73
- onClick: () => setDropzoneIndex(index)
74
- }, React.createElement(blocks.Text, {
75
- size: "small",
76
- bold: true
77
- }, group), React.createElement(blocks.Vspace, {
78
- height: 0.5
79
- }), React.createElement(StyledQuizOptionList, {
80
- isCurrentOptionList: isCurrentOptionList
81
- }, isCurrentOptionList ? currentAnswerList[index].map(answer => React.createElement(MaterialQuizGroupOptionItem.default, {
82
- key: answer.order,
83
- option: answer,
84
- onClose: () => {
85
- const targetId = answer.order;
86
- updateCurrentOption(targetId);
87
- }
88
- })) : React.createElement(blocks.Text, {
89
- role: "gray6",
90
- size: "small",
91
- textAlign: "center",
92
- bold: true,
93
- block: true
94
- }, intl$1.formatMessage({
95
- id: 'materialQuiz.dropzone.mobile.answerEmpty'
96
- }))));
97
- }));
81
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
82
+ children: (_a = materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.groups) === null || _a === void 0 ? void 0 : _a.map(function (group, index) {
83
+ var _a;
84
+ var isCurrentOptionList = Boolean((_a = currentAnswerList === null || currentAnswerList === void 0 ? void 0 : currentAnswerList[index]) === null || _a === void 0 ? void 0 : _a.length);
85
+ return jsxRuntime.jsxs(StyledQuizGroupWrapper, {
86
+ onClick: function onClick() {
87
+ return setDropzoneIndex(index);
88
+ },
89
+ children: [jsxRuntime.jsx(blocks.Text, {
90
+ size: "small",
91
+ bold: true,
92
+ children: group
93
+ }), jsxRuntime.jsx(blocks.Vspace, {
94
+ height: 0.5
95
+ }), jsxRuntime.jsx(StyledQuizOptionList, {
96
+ isCurrentOptionList: isCurrentOptionList,
97
+ children: isCurrentOptionList ? currentAnswerList[index].map(function (answer) {
98
+ return jsxRuntime.jsx(MaterialQuizGroupOptionItem.default, {
99
+ option: answer,
100
+ onClose: function onClose() {
101
+ var targetId = answer.order;
102
+ updateCurrentOption(targetId);
103
+ }
104
+ }, answer.order);
105
+ }) : jsxRuntime.jsx(blocks.Text, {
106
+ role: "gray6",
107
+ size: "small",
108
+ textAlign: "center",
109
+ bold: true,
110
+ block: true,
111
+ children: intl$1.formatMessage({
112
+ id: 'materialQuiz.dropzone.mobile.answerEmpty'
113
+ })
114
+ })
115
+ })]
116
+ }, index);
117
+ })
118
+ });
98
119
  };
99
120
  /**
100
121
  *
101
122
  */
102
- const renderOptionListBottomSheet = () => {
103
- const isCurrentOptionList = Boolean(currentOptionList.length);
104
- return React.createElement(blocks.BottomSheet, {
123
+ var renderOptionListBottomSheet = function renderOptionListBottomSheet() {
124
+ var isCurrentOptionList = Boolean(currentOptionList.length);
125
+ return jsxRuntime.jsx(blocks.BottomSheet, {
105
126
  show: dropzoneIndex !== null,
106
127
  title: intl$1.formatMessage({
107
128
  id: 'materialQuiz.bottomSheet.title'
108
129
  }),
109
130
  contentsText: "",
110
131
  disableSwipeGesture: true,
111
- onClose: () => setDropzoneIndex(null)
112
- }, React.createElement(StyledBottomSheetWrapper, {
113
- vertical: vertical,
114
- isCurrentOptionList: isCurrentOptionList
115
- }, isCurrentOptionList ? currentOptionList === null || currentOptionList === void 0 ? void 0 : currentOptionList.map((option, index) => React.createElement(StyledQuizOptionItem, {
116
- key: index,
117
- onClick: () => {
118
- const targetId = option.order;
119
- if (dropzoneIndex === null) {
120
- return;
121
- }
122
- if (!!userId) {
123
- return;
124
- }
125
- updateCurrentAnswer(targetId, dropzoneIndex);
126
- }
127
- }, React.createElement(MaterialQuizGroupOptionItem.default, {
128
- key: index,
129
- option: option
130
- }))) : React.createElement(blocks.Text, {
131
- role: "gray6",
132
- size: "small",
133
- textAlign: "center",
134
- bold: true,
135
- block: true
136
- }, intl$1.formatMessage({
137
- id: 'materialQuiz.bottomSheet.optionEmpty'
138
- }))));
132
+ onClose: function onClose() {
133
+ return setDropzoneIndex(null);
134
+ },
135
+ children: jsxRuntime.jsx(StyledBottomSheetWrapper, {
136
+ vertical: vertical,
137
+ isCurrentOptionList: isCurrentOptionList,
138
+ children: isCurrentOptionList ? currentOptionList === null || currentOptionList === void 0 ? void 0 : currentOptionList.map(function (option, index) {
139
+ return jsxRuntime.jsx(StyledQuizOptionItem, {
140
+ onClick: function onClick() {
141
+ var targetId = option.order;
142
+ if (dropzoneIndex === null) {
143
+ return;
144
+ }
145
+ if (!!userId) {
146
+ return;
147
+ }
148
+ updateCurrentAnswer(targetId, dropzoneIndex);
149
+ },
150
+ children: jsxRuntime.jsx(MaterialQuizGroupOptionItem.default, {
151
+ option: option
152
+ }, index)
153
+ }, index);
154
+ }) : jsxRuntime.jsx(blocks.Text, {
155
+ role: "gray6",
156
+ size: "small",
157
+ textAlign: "center",
158
+ bold: true,
159
+ block: true,
160
+ children: intl$1.formatMessage({
161
+ id: 'materialQuiz.bottomSheet.optionEmpty'
162
+ })
163
+ })
164
+ })
165
+ });
139
166
  };
140
167
  //
141
168
  //
142
169
  //
143
- return React.createElement(React.Fragment, null, renderResetButton(), renderGroupList(), renderOptionListBottomSheet());
170
+ return jsxRuntime.jsxs(jsxRuntime.Fragment, {
171
+ children: [renderResetButton(), renderGroupList(), renderOptionListBottomSheet()]
172
+ });
144
173
  };
145
174
 
146
175
  exports.default = MaterialQuizGroupMobile;