@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,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var React = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
6
  var reactHookForm = require('react-hook-form');
7
7
  var reactSortableHoc = require('react-sortable-hoc');
8
8
  var blocks = require('@elice/blocks');
@@ -14,53 +14,55 @@ var context = require('../../context.js');
14
14
  var randomId = require('../../utils/randomId.js');
15
15
  var OptionGroupGroupListItem = require('./OptionGroupGroupListItem.js');
16
16
 
17
- const MAX_GROUP_INFO_COUNT = 6;
18
- const StyledSortableList = styled.div.withConfig({
17
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
18
+
19
+ var cloneDeep__default = /*#__PURE__*/_interopDefaultCompat(cloneDeep);
20
+ var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
21
+
22
+ var MAX_GROUP_INFO_COUNT = 6;
23
+ var StyledSortableList = styled__default.default.div.withConfig({
19
24
  componentId: "sc-9aq3yn-0"
20
25
  })(["margin:1rem 0;padding:0;"]);
21
26
  //
22
27
  //
23
28
  //
24
- const OptionGroupGroupInfo = () => {
25
- const intl$1 = intl.useRawEliceIntl();
26
- const {
27
- control,
28
- setValue
29
- } = reactHookForm.useFormContext();
30
- const {
31
- disabled
32
- } = context.useMaterialQuizEditContext();
33
- const {
34
- fields: groupInfoFields,
35
- append: appendGroupInfoFieldItem,
36
- remove: removeGroupInfoFieldItem
37
- } = reactHookForm.useFieldArray({
38
- name: 'groups',
39
- keyName: 'id',
40
- shouldUnregister: true
41
- });
42
- const watchedGroups = reactHookForm.useWatch({
43
- control,
29
+ var OptionGroupGroupInfo = function OptionGroupGroupInfo() {
30
+ var intl$1 = intl.useRawEliceIntl();
31
+ var _useFormContext = reactHookForm.useFormContext(),
32
+ control = _useFormContext.control,
33
+ setValue = _useFormContext.setValue;
34
+ var _useMaterialQuizEditC = context.useMaterialQuizEditContext(),
35
+ disabled = _useMaterialQuizEditC.disabled;
36
+ var _useFieldArray = reactHookForm.useFieldArray({
37
+ name: 'groups',
38
+ keyName: 'id',
39
+ shouldUnregister: true
40
+ }),
41
+ groupInfoFields = _useFieldArray.fields,
42
+ appendGroupInfoFieldItem = _useFieldArray.append,
43
+ removeGroupInfoFieldItem = _useFieldArray.remove;
44
+ var watchedGroups = reactHookForm.useWatch({
45
+ control: control,
44
46
  name: 'groups'
45
47
  });
46
- const watchedAnswerInfo = reactHookForm.useWatch({
47
- control,
48
+ var watchedAnswerInfo = reactHookForm.useWatch({
49
+ control: control,
48
50
  name: 'answerInfoDefault'
49
51
  });
50
- const isMaximumGroups = groupInfoFields.length >= MAX_GROUP_INFO_COUNT;
52
+ var isMaximumGroups = groupInfoFields.length >= MAX_GROUP_INFO_COUNT;
51
53
  /**
52
54
  *
53
55
  */
54
- const addGroupAnswerInfo = () => {
55
- const cloneAnswerList = cloneDeep(watchedAnswerInfo);
56
+ var addGroupAnswerInfo = function addGroupAnswerInfo() {
57
+ var cloneAnswerList = cloneDeep__default.default(watchedAnswerInfo);
56
58
  cloneAnswerList[groupInfoFields.length] = [];
57
59
  setValue('answerInfoDefault', cloneAnswerList);
58
60
  };
59
61
  /**
60
62
  *
61
63
  */
62
- const removeGroupAnswerInfo = index => {
63
- const cloneAnswerList = cloneDeep(watchedAnswerInfo);
64
+ var removeGroupAnswerInfo = function removeGroupAnswerInfo(index) {
65
+ var cloneAnswerList = cloneDeep__default.default(watchedAnswerInfo);
64
66
  cloneAnswerList.splice(index, 1);
65
67
  setValue('answerInfoDefault', cloneAnswerList.filter(Boolean));
66
68
  removeGroupInfoFieldItem(Number(index));
@@ -68,12 +70,11 @@ const OptionGroupGroupInfo = () => {
68
70
  /**
69
71
  *
70
72
  */
71
- const onSortEnd = ({
72
- oldIndex,
73
- newIndex
74
- }) => {
75
- const cloneAnswerList = cloneDeep(watchedAnswerInfo);
76
- const temp = cloneAnswerList[oldIndex];
73
+ var onSortEnd = function onSortEnd(_ref) {
74
+ var oldIndex = _ref.oldIndex,
75
+ newIndex = _ref.newIndex;
76
+ var cloneAnswerList = cloneDeep__default.default(watchedAnswerInfo);
77
+ var temp = cloneAnswerList[oldIndex];
77
78
  cloneAnswerList[oldIndex] = cloneAnswerList[newIndex];
78
79
  cloneAnswerList[newIndex] = temp;
79
80
  setValue('groups', reactSortableHoc.arrayMove(watchedGroups, oldIndex, newIndex), {
@@ -84,57 +85,69 @@ const OptionGroupGroupInfo = () => {
84
85
  /**
85
86
  *
86
87
  */
87
- const renderGroupOptionList = () => {
88
- return React.createElement(blocks.SortableListGroup, {
88
+ var renderGroupOptionList = function renderGroupOptionList() {
89
+ return jsxRuntime.jsx(blocks.SortableListGroup, {
89
90
  onSortEnd: onSortEnd,
90
- useDragHandle: true
91
- }, React.createElement(StyledSortableList, null, groupInfoFields.map((group, index) => React.createElement(OptionGroupGroupListItem.default, {
92
- key: group.id,
93
- disabled: disabled,
94
- groupId: index,
95
- groupsCount: groupInfoFields.length,
96
- onRemoveOption: () => removeGroupAnswerInfo(index)
97
- }))));
91
+ useDragHandle: true,
92
+ children: jsxRuntime.jsx(StyledSortableList, {
93
+ children: groupInfoFields.map(function (group, index) {
94
+ return jsxRuntime.jsx(OptionGroupGroupListItem.default, {
95
+ disabled: disabled,
96
+ groupId: index,
97
+ groupsCount: groupInfoFields.length,
98
+ onRemoveOption: function onRemoveOption() {
99
+ return removeGroupAnswerInfo(index);
100
+ }
101
+ }, group.id);
102
+ })
103
+ })
104
+ });
98
105
  };
99
106
  /**
100
107
  *
101
108
  */
102
- const renderGroupOptionAddButton = () => {
103
- return React.createElement(blocks.Tooltip, {
109
+ var renderGroupOptionAddButton = function renderGroupOptionAddButton() {
110
+ return jsxRuntime.jsx(blocks.Tooltip, {
104
111
  title: isMaximumGroups ? intl$1.formatMessage({
105
112
  id: 'group.option.tooltip.maxDisabled'
106
113
  }) : undefined,
107
- placement: "top"
108
- }, React.createElement("span", null, React.createElement(blocks.Button, {
109
- borderDashed: true,
110
- block: true,
111
- transparent: true,
112
- icon: React.createElement(blocks.Icon, {
113
- icon: icons.eilMathsignAddBasic
114
- }),
115
- disabled: isMaximumGroups || disabled,
116
- onClick: () => {
117
- appendGroupInfoFieldItem({
118
- id: randomId.createRandomId(),
119
- group: ''
120
- });
121
- addGroupAnswerInfo();
122
- }
123
- }, intl$1.formatMessage({
124
- id: 'group.option.addButton'
125
- }))));
114
+ placement: "top",
115
+ children: jsxRuntime.jsx("span", {
116
+ children: jsxRuntime.jsx(blocks.Button, {
117
+ borderDashed: true,
118
+ block: true,
119
+ transparent: true,
120
+ icon: jsxRuntime.jsx(blocks.Icon, {
121
+ icon: icons.eilMathsignAddBasic
122
+ }),
123
+ disabled: isMaximumGroups || disabled,
124
+ onClick: function onClick() {
125
+ appendGroupInfoFieldItem({
126
+ id: randomId.createRandomId(),
127
+ group: ''
128
+ });
129
+ addGroupAnswerInfo();
130
+ },
131
+ children: intl$1.formatMessage({
132
+ id: 'group.option.addButton'
133
+ })
134
+ })
135
+ })
136
+ });
126
137
  };
127
138
  //
128
139
  //
129
140
  //
130
- return React.createElement(blocks.Flex, {
131
- column: true
132
- }, React.createElement(blocks.Text, {
133
- size: "small",
134
- bold: true
135
- }, intl$1.formatMessage({
136
- id: 'group.option.title'
137
- })), renderGroupOptionList(), renderGroupOptionAddButton());
141
+ return jsxRuntime.jsxs(blocks.Flex, {
142
+ column: true,
143
+ children: [jsxRuntime.jsx(blocks.Text, {
144
+ size: "small",
145
+ bold: true,
146
+ children: intl$1.formatMessage({
147
+ id: 'group.option.title'
148
+ })
149
+ }), renderGroupOptionList(), renderGroupOptionAddButton()]
150
+ });
138
151
  };
139
152
 
140
153
  exports.default = OptionGroupGroupInfo;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var React = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
6
  var reactHookForm = require('react-hook-form');
7
7
  var blocks = require('@elice/blocks');
8
8
  var designTokens = require('@elice/design-tokens');
@@ -11,126 +11,142 @@ var intl = require('@elice/intl');
11
11
  var trim = require('lodash-es/trim');
12
12
  var styled = require('styled-components');
13
13
 
14
- const SHEET_Z_INDEX = 982;
15
- const MIN_GROUP_INFO_COUNT = 2;
16
- const StyledSortableListItem = styled(blocks.SortableListItem).withConfig({
14
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
15
+
16
+ var trim__default = /*#__PURE__*/_interopDefaultCompat(trim);
17
+ var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
18
+
19
+ var SHEET_Z_INDEX = 982;
20
+ var MIN_GROUP_INFO_COUNT = 2;
21
+ var StyledSortableListItem = styled__default.default(blocks.SortableListItem).withConfig({
17
22
  componentId: "sc-hj5nic-0"
18
23
  })(["display:flex;z-index:", ";width:100%;padding:0;background:transparent;box-shadow:none;&:not(:last-child){margin-bottom:0.5rem;}"], SHEET_Z_INDEX + 1);
19
- const StyledSortableListItemOptionWrapper = styled.div.withConfig({
24
+ var StyledSortableListItemOptionWrapper = styled__default.default.div.withConfig({
20
25
  componentId: "sc-hj5nic-1"
21
- })(["display:flex;align-items:center;overflow:hidden;width:100%;height:100%;border-radius:4px;border:1px solid ", ";background:", ";"], ({
22
- isGroupChildAnswer
23
- }) => isGroupChildAnswer ? designTokens.base.color.red8 : designTokens.base.color.gray3, designTokens.base.color.white);
24
- const StyledInputGroup = styled(blocks.Input).withConfig({
26
+ })(["display:flex;align-items:center;overflow:hidden;width:100%;height:100%;border-radius:4px;border:1px solid ", ";background:", ";"], function (_ref) {
27
+ var isGroupChildAnswer = _ref.isGroupChildAnswer;
28
+ return isGroupChildAnswer ? designTokens.base.color.red8 : designTokens.base.color.gray3;
29
+ }, designTokens.base.color.white);
30
+ var StyledInputGroup = styled__default.default(blocks.Input).withConfig({
25
31
  componentId: "sc-hj5nic-2"
26
32
  })(["& > div{border:0;}"]);
27
- const OptionGroupGroupListItem = ({
28
- disabled,
29
- groupId,
30
- groupsCount,
31
- onRemoveOption
32
- }) => {
33
+ var OptionGroupGroupListItem = function OptionGroupGroupListItem(_ref2) {
34
+ var disabled = _ref2.disabled,
35
+ groupId = _ref2.groupId,
36
+ groupsCount = _ref2.groupsCount,
37
+ onRemoveOption = _ref2.onRemoveOption;
33
38
  var _a, _b, _c, _d, _e;
34
- const intl$1 = intl.useRawEliceIntl();
35
- const {
36
- control,
37
- formState
38
- } = reactHookForm.useFormContext();
39
- const watchedAnswerInfo = reactHookForm.useWatch({
40
- control,
39
+ var intl$1 = intl.useRawEliceIntl();
40
+ var _useFormContext = reactHookForm.useFormContext(),
41
+ control = _useFormContext.control,
42
+ formState = _useFormContext.formState;
43
+ var watchedAnswerInfo = reactHookForm.useWatch({
44
+ control: control,
41
45
  name: 'answerInfoDefault'
42
46
  });
43
- const isGroupChildAnswer = Boolean((_a = watchedAnswerInfo[groupId]) === null || _a === void 0 ? void 0 : _a.length);
44
- const isMinimumGroups = groupsCount <= MIN_GROUP_INFO_COUNT;
45
- const errorMessage = (_e = (_d = (_c = (_b = formState.errors) === null || _b === void 0 ? void 0 : _b.groups) === null || _c === void 0 ? void 0 : _c[groupId]) === null || _d === void 0 ? void 0 : _d.group) === null || _e === void 0 ? void 0 : _e.message;
47
+ var isGroupChildAnswer = Boolean((_a = watchedAnswerInfo[groupId]) === null || _a === void 0 ? void 0 : _a.length);
48
+ var isMinimumGroups = groupsCount <= MIN_GROUP_INFO_COUNT;
49
+ var errorMessage = (_e = (_d = (_c = (_b = formState.errors) === null || _b === void 0 ? void 0 : _b.groups) === null || _c === void 0 ? void 0 : _c[groupId]) === null || _d === void 0 ? void 0 : _d.group) === null || _e === void 0 ? void 0 : _e.message;
46
50
  /**
47
51
  *
48
52
  */
49
- const renderOptionGroupInput = () => {
50
- return React.createElement(StyledSortableListItemOptionWrapper, {
51
- isGroupChildAnswer: !isGroupChildAnswer
52
- }, React.createElement(reactHookForm.Controller, {
53
- control: control,
54
- name: `groups.${groupId}.group`,
55
- rules: {
56
- required: {
57
- value: true,
58
- message: intl$1.formatMessage({
59
- id: 'group.option.errorMessage.required'
60
- })
61
- },
62
- validate: e => {
63
- if (!trim(e).length) {
64
- return intl$1.formatMessage({
53
+ var renderOptionGroupInput = function renderOptionGroupInput() {
54
+ return jsxRuntime.jsx(StyledSortableListItemOptionWrapper, {
55
+ isGroupChildAnswer: !isGroupChildAnswer,
56
+ children: jsxRuntime.jsx(reactHookForm.Controller, {
57
+ control: control,
58
+ name: "groups.".concat(groupId, ".group"),
59
+ rules: {
60
+ required: {
61
+ value: true,
62
+ message: intl$1.formatMessage({
65
63
  id: 'group.option.errorMessage.required'
66
- });
67
- }
68
- if (!isGroupChildAnswer) {
69
- return intl$1.formatMessage({
70
- id: 'group.option.errorMessage.notChild'
71
- });
64
+ })
65
+ },
66
+ validate: function validate(e) {
67
+ if (!trim__default.default(e).length) {
68
+ return intl$1.formatMessage({
69
+ id: 'group.option.errorMessage.required'
70
+ });
71
+ }
72
+ if (!isGroupChildAnswer) {
73
+ return intl$1.formatMessage({
74
+ id: 'group.option.errorMessage.notChild'
75
+ });
76
+ }
72
77
  }
78
+ },
79
+ render: function render(_ref3) {
80
+ var field = _ref3.field,
81
+ fieldState = _ref3.fieldState;
82
+ return jsxRuntime.jsx(StyledInputGroup, Object.assign({
83
+ invalid: fieldState.invalid || !isGroupChildAnswer,
84
+ width: "full",
85
+ disabled: disabled
86
+ }, field, {
87
+ ref: null
88
+ }));
73
89
  }
74
- },
75
- render: ({
76
- field,
77
- fieldState
78
- }) => React.createElement(StyledInputGroup, Object.assign({
79
- invalid: fieldState.invalid || !isGroupChildAnswer,
80
- width: "full",
81
- disabled: disabled
82
- }, field, {
83
- ref: null
84
- }))
85
- }));
90
+ })
91
+ });
86
92
  };
87
93
  /**
88
94
  *
89
95
  */
90
- const renderOptionRemoveButton = () => {
91
- return React.createElement(React.Fragment, null, React.createElement(blocks.Hspace, {
92
- width: 0.5
93
- }), React.createElement(blocks.Tooltip, {
94
- title: isMinimumGroups ? intl$1.formatMessage({
95
- id: 'group.option.tooltip.minDisabled'
96
- }) : undefined,
97
- placement: "top"
98
- }, React.createElement("span", null, React.createElement(blocks.IconButton, {
99
- transparent: true,
100
- icon: icons.eilMathsignMultiplyBasic,
101
- role: "gray6",
102
- size: "micro",
103
- border: false,
104
- disabled: isMinimumGroups || disabled,
105
- onClick: onRemoveOption
106
- }))));
96
+ var renderOptionRemoveButton = function renderOptionRemoveButton() {
97
+ return jsxRuntime.jsxs(jsxRuntime.Fragment, {
98
+ children: [jsxRuntime.jsx(blocks.Hspace, {
99
+ width: 0.5
100
+ }), jsxRuntime.jsx(blocks.Tooltip, {
101
+ title: isMinimumGroups ? intl$1.formatMessage({
102
+ id: 'group.option.tooltip.minDisabled'
103
+ }) : undefined,
104
+ placement: "top",
105
+ children: jsxRuntime.jsx("span", {
106
+ children: jsxRuntime.jsx(blocks.IconButton, {
107
+ transparent: true,
108
+ icon: icons.eilMathsignMultiplyBasic,
109
+ role: "gray6",
110
+ size: "micro",
111
+ border: false,
112
+ disabled: isMinimumGroups || disabled,
113
+ onClick: onRemoveOption
114
+ })
115
+ })
116
+ })]
117
+ });
107
118
  };
108
119
  /**
109
120
  *
110
121
  */
111
- const renderErrorMessage = () => {
122
+ var renderErrorMessage = function renderErrorMessage() {
112
123
  if (!errorMessage) {
113
124
  return null;
114
125
  }
115
- return React.createElement(blocks.Flex, {
116
- paddingleft: "0.25rem"
117
- }, React.createElement(blocks.Text, {
118
- size: "small",
119
- role: "danger"
120
- }, errorMessage));
126
+ return jsxRuntime.jsx(blocks.Flex, {
127
+ paddingleft: "0.25rem",
128
+ children: jsxRuntime.jsx(blocks.Text, {
129
+ size: "small",
130
+ role: "danger",
131
+ children: errorMessage
132
+ })
133
+ });
121
134
  };
122
135
  //
123
136
  //
124
137
  //
125
- return React.createElement(StyledSortableListItem, {
126
- index: groupId
127
- }, React.createElement(blocks.Flex, {
128
- justify: "center",
129
- width: "100%",
130
- column: true
131
- }, React.createElement(blocks.Flex, {
132
- align: "center"
133
- }, renderOptionGroupInput(), renderOptionRemoveButton()), renderErrorMessage()));
138
+ return jsxRuntime.jsx(StyledSortableListItem, {
139
+ index: groupId,
140
+ children: jsxRuntime.jsxs(blocks.Flex, {
141
+ justify: "center",
142
+ width: "100%",
143
+ column: true,
144
+ children: [jsxRuntime.jsxs(blocks.Flex, {
145
+ align: "center",
146
+ children: [renderOptionGroupInput(), renderOptionRemoveButton()]
147
+ }), renderErrorMessage()]
148
+ })
149
+ });
134
150
  };
135
151
 
136
152
  exports.default = OptionGroupGroupListItem;
@@ -2,7 +2,11 @@
2
2
 
3
3
  function checkTwoDimensionArray(answerInfo) {
4
4
  try {
5
- return answerInfo.every(i => i.every(j => typeof j === 'number'));
5
+ return answerInfo.every(function (i) {
6
+ return i.every(function (j) {
7
+ return typeof j === 'number';
8
+ });
9
+ });
6
10
  } catch (_a) {
7
11
  return false;
8
12
  }
@@ -3,6 +3,10 @@
3
3
  var trim = require('lodash-es/trim');
4
4
  var randomId = require('./randomId.js');
5
5
 
6
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
7
+
8
+ var trim__default = /*#__PURE__*/_interopDefaultCompat(trim);
9
+
6
10
  /**
7
11
  *
8
12
  */
@@ -10,7 +14,7 @@ function manipulateValue(v) {
10
14
  return Object.assign(Object.assign({}, v), {
11
15
  // convert string array to object array
12
16
  // - ref: https://github.com/react-hook-form/react-hook-form/issues/7622#issuecomment-1018893318
13
- optionsDefault: Array.isArray(v.optionsDefault) ? v.optionsDefault.map(option => {
17
+ optionsDefault: Array.isArray(v.optionsDefault) ? v.optionsDefault.map(function (option) {
14
18
  var _a, _b;
15
19
  return {
16
20
  id: randomId.createRandomId(),
@@ -18,10 +22,12 @@ function manipulateValue(v) {
18
22
  content: (_b = option === null || option === void 0 ? void 0 : option.content) !== null && _b !== void 0 ? _b : ''
19
23
  };
20
24
  }) : [],
21
- groups: Array.isArray(v.groups) ? v.groups.map(group => ({
22
- id: randomId.createRandomId(),
23
- group
24
- })) : []
25
+ groups: Array.isArray(v.groups) ? v.groups.map(function (group) {
26
+ return {
27
+ id: randomId.createRandomId(),
28
+ group: group
29
+ };
30
+ }) : []
25
31
  });
26
32
  }
27
33
  /**
@@ -29,14 +35,17 @@ function manipulateValue(v) {
29
35
  */
30
36
  function restoreValue(v) {
31
37
  return Object.assign(Object.assign({}, v), {
32
- optionsDefault: v.optionsDefault.length ? v.optionsDefault.map(option => ({
33
- title: trim(option.title),
34
- content: option.content
35
- })) : null,
38
+ optionsDefault: v.optionsDefault.length ? v.optionsDefault.map(function (option) {
39
+ return {
40
+ title: trim__default.default(option.title),
41
+ content: option.content
42
+ };
43
+ }) : null,
36
44
  answerInfoDefault: Array.isArray(v.answerInfoDefault) || typeof v.answerInfoDefault === 'string' ? v.answerInfoDefault : undefined,
37
- groups: v.groups.length ? v.groups.map(({
38
- group
39
- }) => trim(group)) : null
45
+ groups: v.groups.length ? v.groups.map(function (_ref) {
46
+ var group = _ref.group;
47
+ return trim__default.default(group);
48
+ }) : null
40
49
  });
41
50
  }
42
51