@coorpacademy/components 10.22.24 → 10.22.25-alpha.15
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.
- package/es/atom/choice/index.native.js +4 -4
- package/es/atom/choice/index.native.js.map +1 -1
- package/es/atom/select-modal/index.native.js +1 -1
- package/es/atom/select-modal/index.native.js.map +1 -1
- package/es/molecule/answer/index.native.js +85 -0
- package/es/molecule/answer/index.native.js.map +1 -0
- package/es/molecule/answer/prop-types.js +22 -3
- package/es/molecule/answer/prop-types.js.map +1 -1
- package/es/molecule/questions/mobile/draggable/index.native.js +8 -29
- package/es/molecule/questions/mobile/draggable/index.native.js.map +1 -1
- package/es/molecule/questions/mobile/switch/index.native.js +57 -54
- package/es/molecule/questions/mobile/switch/index.native.js.map +1 -1
- package/es/molecule/questions/mobile/template/index.native.js +18 -23
- package/es/molecule/questions/mobile/template/index.native.js.map +1 -1
- package/es/organism/review-congrats/index.js +3 -1
- package/es/organism/review-congrats/index.js.map +1 -1
- package/es/organism/review-congrats/style.css +5 -0
- package/es/organism/review-slide/index.js +1 -8
- package/es/organism/review-slide/index.js.map +1 -1
- package/es/organism/review-slide/index.native.js +213 -0
- package/es/organism/review-slide/index.native.js.map +1 -0
- package/es/organism/review-slide/prop-types.js +4 -3
- package/es/organism/review-slide/prop-types.js.map +1 -1
- package/es/organism/review-stacked-slides/index.native.js +34 -0
- package/es/organism/review-stacked-slides/index.native.js.map +1 -0
- package/es/organism/review-stacked-slides/prop-types.js +3 -2
- package/es/organism/review-stacked-slides/prop-types.js.map +1 -1
- package/es/template/app-player/popin-correction/index.js +6 -3
- package/es/template/app-player/popin-correction/index.js.map +1 -1
- package/es/template/app-player/popin-end/index.js +6 -3
- package/es/template/app-player/popin-end/index.js.map +1 -1
- package/es/template/app-review/player/index.native.js +33 -230
- package/es/template/app-review/player/index.native.js.map +1 -1
- package/es/template/app-review/player/prop-types.js.map +1 -1
- package/es/template/app-review/player/style.css +7 -0
- package/es/template/app-review/template-context.js +3 -1
- package/es/template/app-review/template-context.js.map +1 -1
- package/lib/atom/choice/index.native.js +4 -4
- package/lib/atom/choice/index.native.js.map +1 -1
- package/lib/atom/select-modal/index.native.js +1 -1
- package/lib/atom/select-modal/index.native.js.map +1 -1
- package/lib/molecule/answer/index.native.js +94 -0
- package/lib/molecule/answer/index.native.js.map +1 -0
- package/lib/molecule/answer/prop-types.js +25 -3
- package/lib/molecule/answer/prop-types.js.map +1 -1
- package/lib/molecule/questions/mobile/draggable/index.native.js +8 -31
- package/lib/molecule/questions/mobile/draggable/index.native.js.map +1 -1
- package/lib/molecule/questions/mobile/switch/index.native.js +64 -62
- package/lib/molecule/questions/mobile/switch/index.native.js.map +1 -1
- package/lib/molecule/questions/mobile/template/index.native.js +18 -23
- package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
- package/lib/organism/review-congrats/index.js +3 -1
- package/lib/organism/review-congrats/index.js.map +1 -1
- package/lib/organism/review-congrats/style.css +5 -0
- package/lib/organism/review-slide/index.js +1 -8
- package/lib/organism/review-slide/index.js.map +1 -1
- package/lib/organism/review-slide/index.native.js +232 -0
- package/lib/organism/review-slide/index.native.js.map +1 -0
- package/lib/organism/review-slide/prop-types.js +6 -5
- package/lib/organism/review-slide/prop-types.js.map +1 -1
- package/lib/organism/review-stacked-slides/index.native.js +47 -0
- package/lib/organism/review-stacked-slides/index.native.js.map +1 -0
- package/lib/organism/review-stacked-slides/prop-types.js +3 -2
- package/lib/organism/review-stacked-slides/prop-types.js.map +1 -1
- package/lib/template/app-player/popin-correction/index.js +7 -3
- package/lib/template/app-player/popin-correction/index.js.map +1 -1
- package/lib/template/app-player/popin-end/index.js +7 -3
- package/lib/template/app-player/popin-end/index.js.map +1 -1
- package/lib/template/app-review/player/index.native.js +36 -233
- package/lib/template/app-review/player/index.native.js.map +1 -1
- package/lib/template/app-review/player/prop-types.js.map +1 -1
- package/lib/template/app-review/player/style.css +7 -0
- package/lib/template/app-review/template-context.js +3 -1
- package/lib/template/app-review/template-context.js.map +1 -1
- package/package.json +2 -2
- package/es/molecule/questions/qcm/index.native.js +0 -50
- package/es/molecule/questions/qcm/index.native.js.map +0 -1
- package/lib/molecule/questions/qcm/index.native.js +0 -62
- package/lib/molecule/questions/qcm/index.native.js.map +0 -1
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
|
|
6
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
7
|
+
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
|
|
10
|
+
var _get = _interopRequireDefault(require("lodash/fp/get"));
|
|
11
|
+
|
|
12
|
+
var _getOr = _interopRequireDefault(require("lodash/fp/getOr"));
|
|
13
|
+
|
|
14
|
+
var _index = _interopRequireDefault(require("../../atom/text/index.native"));
|
|
15
|
+
|
|
16
|
+
var _index2 = _interopRequireDefault(require("../../molecule/answer/index.native"));
|
|
17
|
+
|
|
18
|
+
var _templateContext = require("../../template/app-review/template-context");
|
|
19
|
+
|
|
20
|
+
var _index3 = _interopRequireDefault(require("../../hoc/touchable/index.native"));
|
|
21
|
+
|
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
+
|
|
24
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
25
|
+
|
|
26
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
|
|
28
|
+
// import Loader from '../../atom/loader';
|
|
29
|
+
// import ReviewCorrectionPopin from '../../molecule/review-correction-popin';
|
|
30
|
+
const CorrectionPopin = ({
|
|
31
|
+
correctionPopinProps,
|
|
32
|
+
slideIndex,
|
|
33
|
+
showCorrectionPopin,
|
|
34
|
+
animateCorrectionPopin
|
|
35
|
+
}) => {
|
|
36
|
+
if (!showCorrectionPopin) return null;
|
|
37
|
+
const klf = (0, _getOr.default)({}, 'klf', correctionPopinProps);
|
|
38
|
+
const information = (0, _getOr.default)({
|
|
39
|
+
label: '',
|
|
40
|
+
message: ''
|
|
41
|
+
}, 'information', correctionPopinProps);
|
|
42
|
+
const next = (0, _get.default)('next', correctionPopinProps);
|
|
43
|
+
const _correctionPopinProps = {
|
|
44
|
+
next: {
|
|
45
|
+
onClick: () => {
|
|
46
|
+
// eslint-disable-next-line no-console
|
|
47
|
+
console.log('Next Slide');
|
|
48
|
+
},
|
|
49
|
+
label: next && next.label,
|
|
50
|
+
'data-name': `next-question-button-${slideIndex}`,
|
|
51
|
+
'aria-label': next && next['aria-label']
|
|
52
|
+
},
|
|
53
|
+
klf,
|
|
54
|
+
information,
|
|
55
|
+
type: correctionPopinProps.type,
|
|
56
|
+
resultLabel: correctionPopinProps.resultLabel
|
|
57
|
+
};
|
|
58
|
+
return /*#__PURE__*/_react.default.createElement(_index.default, null, "ReviewCorrectionPopin") // <ReviewCorrectionPopin {..._correctionPopinProps} />
|
|
59
|
+
;
|
|
60
|
+
}; // const ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {
|
|
61
|
+
// const {label, onClick, disabled} = validateButton;
|
|
62
|
+
// const validateButtonProps = {
|
|
63
|
+
// type: 'primary',
|
|
64
|
+
// label,
|
|
65
|
+
// 'aria-label': label,
|
|
66
|
+
// 'data-name': `slide-validate-button-${slideIndex}`,
|
|
67
|
+
// onClick,
|
|
68
|
+
// disabled,
|
|
69
|
+
// customStyle: {
|
|
70
|
+
// backgroundColor: primarySkinColor
|
|
71
|
+
// }
|
|
72
|
+
// };
|
|
73
|
+
// return <Button title="validate todo" />;
|
|
74
|
+
// };
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
const createQuestionStyle = (theme, brandTheme) => _reactNative.StyleSheet.create({
|
|
78
|
+
questionHeading: {
|
|
79
|
+
// backgroundColor: '#f00', // flex-debug
|
|
80
|
+
justifyContent: 'space-between'
|
|
81
|
+
},
|
|
82
|
+
questionOrigin: {
|
|
83
|
+
fontSize: 12,
|
|
84
|
+
lineHeight: 16,
|
|
85
|
+
color: theme.colors.text.primary,
|
|
86
|
+
marginBottom: theme.spacing.tiny,
|
|
87
|
+
marginTop: theme.spacing.small,
|
|
88
|
+
textAlign: 'center'
|
|
89
|
+
},
|
|
90
|
+
questionText: {
|
|
91
|
+
fontSize: 16,
|
|
92
|
+
lineHeight: 22,
|
|
93
|
+
fontWeight: '700',
|
|
94
|
+
color: theme.colors.text.primary,
|
|
95
|
+
textAlign: 'center'
|
|
96
|
+
},
|
|
97
|
+
questionHelp: {
|
|
98
|
+
// backgroundColor: '#38295b', // flex-debug
|
|
99
|
+
fontSize: 12,
|
|
100
|
+
lineHeight: 16,
|
|
101
|
+
color: theme.colors.gray.medium,
|
|
102
|
+
marginBottom: 0,
|
|
103
|
+
marginTop: theme.spacing.small,
|
|
104
|
+
textAlign: 'center'
|
|
105
|
+
},
|
|
106
|
+
choicesContainer: {
|
|
107
|
+
flex: 1,
|
|
108
|
+
width: '100%',
|
|
109
|
+
// backgroundColor: '#ff0', // flex-debug
|
|
110
|
+
justifyContent: 'center'
|
|
111
|
+
},
|
|
112
|
+
validateButton: {
|
|
113
|
+
backgroundColor: brandTheme?.colors.primary || theme.colors.text.primary,
|
|
114
|
+
borderRadius: 7,
|
|
115
|
+
width: '100%'
|
|
116
|
+
},
|
|
117
|
+
validateButtonText: {
|
|
118
|
+
fontSize: 14,
|
|
119
|
+
lineHeight: 20,
|
|
120
|
+
fontWeight: '700',
|
|
121
|
+
color: theme.colors.white,
|
|
122
|
+
marginBottom: 16,
|
|
123
|
+
marginTop: 16,
|
|
124
|
+
textAlign: 'center'
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
const Question = props => {
|
|
129
|
+
const {
|
|
130
|
+
answerUI,
|
|
131
|
+
questionText,
|
|
132
|
+
questionOrigin
|
|
133
|
+
} = props;
|
|
134
|
+
const {
|
|
135
|
+
theme,
|
|
136
|
+
brandTheme
|
|
137
|
+
} = (0, _templateContext.useTemplateContext)();
|
|
138
|
+
const [style, setStyle] = (0, _react.useState)(null);
|
|
139
|
+
(0, _react.useEffect)(() => {
|
|
140
|
+
const questionStyle = createQuestionStyle(theme, brandTheme);
|
|
141
|
+
setStyle(questionStyle);
|
|
142
|
+
}, [theme, brandTheme]);
|
|
143
|
+
if (!answerUI || !questionText || !style) return null;
|
|
144
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
145
|
+
style: style.questionHeading
|
|
146
|
+
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
147
|
+
style: style.questionOrigin
|
|
148
|
+
}, questionOrigin), /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
149
|
+
style: style.questionText
|
|
150
|
+
}, questionText), /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
151
|
+
style: style.questionHelp
|
|
152
|
+
}, (0, _get.default)('help', answerUI))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
153
|
+
style: style.choicesContainer
|
|
154
|
+
}, /*#__PURE__*/_react.default.createElement(_index2.default, answerUI)), /*#__PURE__*/_react.default.createElement(_index3.default, {
|
|
155
|
+
style: style.validateButton
|
|
156
|
+
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
157
|
+
style: style.validateButtonText
|
|
158
|
+
}, "@todo validate")));
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
const creatSlideStyle = (num, screenWidth, screenHeight) => {
|
|
162
|
+
const slideWidth = screenWidth - 40 - num * 8;
|
|
163
|
+
const slideHeight = screenHeight * 0.75;
|
|
164
|
+
return _reactNative.StyleSheet.create({
|
|
165
|
+
slide: {
|
|
166
|
+
position: 'absolute',
|
|
167
|
+
top: num * -5,
|
|
168
|
+
left: -slideWidth / 2,
|
|
169
|
+
flex: 1,
|
|
170
|
+
backgroundColor: '#fff',
|
|
171
|
+
// theme.colors.white
|
|
172
|
+
height: slideHeight,
|
|
173
|
+
width: slideWidth,
|
|
174
|
+
justifyContent: 'space-between',
|
|
175
|
+
alignItems: 'center',
|
|
176
|
+
padding: 25,
|
|
177
|
+
shadowColor: '#000',
|
|
178
|
+
shadowOffset: {
|
|
179
|
+
width: 0,
|
|
180
|
+
height: -1
|
|
181
|
+
},
|
|
182
|
+
shadowOpacity: 0.05,
|
|
183
|
+
shadowRadius: 16,
|
|
184
|
+
elevation: 10 - num * 1,
|
|
185
|
+
borderRadius: 16
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
const Slide = props => {
|
|
191
|
+
const {
|
|
192
|
+
slide,
|
|
193
|
+
validateButton,
|
|
194
|
+
correctionPopinProps,
|
|
195
|
+
num,
|
|
196
|
+
slideIndex = '0'
|
|
197
|
+
} = props;
|
|
198
|
+
const {
|
|
199
|
+
width,
|
|
200
|
+
height
|
|
201
|
+
} = (0, _reactNative.useWindowDimensions)();
|
|
202
|
+
const slideStyle = creatSlideStyle(num, width, height);
|
|
203
|
+
const {
|
|
204
|
+
loading,
|
|
205
|
+
parentContentTitle,
|
|
206
|
+
questionText,
|
|
207
|
+
answerUI,
|
|
208
|
+
showCorrectionPopin,
|
|
209
|
+
animateCorrectionPopin
|
|
210
|
+
} = slide;
|
|
211
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
212
|
+
style: slideStyle.slide
|
|
213
|
+
}, loading ?
|
|
214
|
+
/*#__PURE__*/
|
|
215
|
+
// <Loader className={style.loader} theme="default" aria-label={loadingAriaLabel} />
|
|
216
|
+
_react.default.createElement(_index.default, null, "@todo loader ", num) : [/*#__PURE__*/_react.default.createElement(Question, {
|
|
217
|
+
questionOrigin: parentContentTitle,
|
|
218
|
+
questionText: questionText,
|
|
219
|
+
answerUI: answerUI,
|
|
220
|
+
key: "question-container"
|
|
221
|
+
}), /*#__PURE__*/_react.default.createElement(CorrectionPopin, {
|
|
222
|
+
correctionPopinProps: correctionPopinProps,
|
|
223
|
+
slideIndex: slideIndex,
|
|
224
|
+
showCorrectionPopin: showCorrectionPopin,
|
|
225
|
+
animateCorrectionPopin: animateCorrectionPopin,
|
|
226
|
+
key: "correction-popin"
|
|
227
|
+
})]);
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
var _default = Slide;
|
|
231
|
+
exports.default = _default;
|
|
232
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-slide/index.native.tsx"],"names":["CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","_correctionPopinProps","onClick","console","log","type","resultLabel","createQuestionStyle","theme","brandTheme","StyleSheet","create","questionHeading","justifyContent","questionOrigin","fontSize","lineHeight","color","colors","text","primary","marginBottom","spacing","tiny","marginTop","small","textAlign","questionText","fontWeight","questionHelp","gray","medium","choicesContainer","flex","width","validateButton","backgroundColor","borderRadius","validateButtonText","white","Question","props","answerUI","style","setStyle","questionStyle","creatSlideStyle","num","screenWidth","screenHeight","slideWidth","slideHeight","slide","position","top","left","height","alignItems","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","slideStyle","loading","parentContentTitle"],"mappings":"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","sourcesContent":["import React, {useEffect, useMemo, useState} from 'react';\nimport {StyleSheet, useWindowDimensions, View} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Text from '../../atom/text/index.native';\nimport Answer from '../../molecule/answer/index.native';\n// import Loader from '../../atom/loader';\n// import ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {Props, SlideProps} from './prop-types';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick: () => {\n // eslint-disable-next-line no-console\n console.log('Next Slide');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <Text>ReviewCorrectionPopin</Text>\n // <ReviewCorrectionPopin {..._correctionPopinProps} />\n );\n};\n\n// const ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n// const {label, onClick, disabled} = validateButton;\n// const validateButtonProps = {\n// type: 'primary',\n// label,\n// 'aria-label': label,\n// 'data-name': `slide-validate-button-${slideIndex}`,\n// onClick,\n// disabled,\n// customStyle: {\n// backgroundColor: primarySkinColor\n// }\n// };\n\n// return <Button title=\"validate todo\" />;\n// };\n\nconst createQuestionStyle = (theme: Theme, brandTheme: any) =>\n StyleSheet.create({\n questionHeading: {\n // backgroundColor: '#f00', // flex-debug\n justifyContent: 'space-between'\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionHelp: {\n // backgroundColor: '#38295b', // flex-debug\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesContainer: {\n flex: 1,\n width: '100%',\n // backgroundColor: '#ff0', // flex-debug\n justifyContent: 'center'\n },\n validateButton: {\n backgroundColor: brandTheme?.colors.primary || theme.colors.text.primary,\n borderRadius: 7,\n width: '100%'\n },\n validateButtonText: {\n fontSize: 14,\n lineHeight: 20,\n fontWeight: '700',\n color: theme.colors.white,\n marginBottom: 16,\n marginTop: 16,\n textAlign: 'center'\n }\n });\n\ntype QuestionProps = {\n answerUI: SlideProps['answerUI'];\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {answerUI, questionText, questionOrigin} = props;\n const {theme, brandTheme} = useTemplateContext();\n const [style, setStyle] = useState<any | null>(null);\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme, brandTheme);\n setStyle(questionStyle);\n }, [theme, brandTheme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n return (\n <>\n <View style={style.questionHeading}>\n <Text style={style.questionOrigin}>{questionOrigin}</Text>\n <Text style={style.questionText}>{questionText}</Text>\n <Text style={style.questionHelp}>{get('help', answerUI)}</Text>\n </View>\n <View style={style.choicesContainer}>\n <Answer {...answerUI} />\n </View>\n <Touchable style={style.validateButton}>\n <Text style={style.validateButtonText}>@todo validate</Text>\n </Touchable>\n </>\n );\n};\n\nconst creatSlideStyle = (num: number, screenWidth: number, screenHeight: number) => {\n const slideWidth = screenWidth - 40 - num * 8;\n const slideHeight = screenHeight * 0.75;\n\n return StyleSheet.create({\n slide: {\n position: 'absolute',\n top: num * -5,\n left: -slideWidth / 2,\n flex: 1,\n backgroundColor: '#fff', // theme.colors.white\n height: slideHeight,\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: Props) => {\n const {slide, validateButton, correctionPopinProps, num, slideIndex = '0'} = props;\n\n const {width, height} = useWindowDimensions();\n const slideStyle = creatSlideStyle(num, width, height);\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <View style={slideStyle.slide}>\n {loading ? (\n // <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n <Text>@todo loader {num}</Text>\n ) : (\n [\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </View>\n );\n};\n\nexport default Slide;\n"],"file":"index.native.js"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.default = exports.
|
|
4
|
+
exports.default = exports.SlidePropsTypes = void 0;
|
|
5
5
|
|
|
6
6
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
7
7
|
|
|
@@ -11,7 +11,7 @@ var _propTypes3 = _interopRequireDefault(require("../../molecule/answer/prop-typ
|
|
|
11
11
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
|
14
|
-
const
|
|
14
|
+
const SlidePropsTypes = _propTypes.default.shape({
|
|
15
15
|
hidden: _propTypes.default.bool,
|
|
16
16
|
position: _propTypes.default.number,
|
|
17
17
|
loading: _propTypes.default.bool,
|
|
@@ -26,10 +26,10 @@ const SlideProp = _propTypes.default.shape({
|
|
|
26
26
|
answerUI: _propTypes.default.shape(_propTypes3.default)
|
|
27
27
|
});
|
|
28
28
|
|
|
29
|
-
exports.
|
|
30
|
-
|
|
29
|
+
exports.SlidePropsTypes = SlidePropsTypes;
|
|
30
|
+
const propTypes = {
|
|
31
31
|
slideIndex: _propTypes.default.string,
|
|
32
|
-
slide:
|
|
32
|
+
slide: SlidePropsTypes,
|
|
33
33
|
validateButton: _propTypes.default.shape({
|
|
34
34
|
label: _propTypes.default.string.isRequired,
|
|
35
35
|
onClick: _propTypes.default.func.isRequired,
|
|
@@ -48,5 +48,6 @@ var _default = {
|
|
|
48
48
|
type: _propTypes2.default.type
|
|
49
49
|
})
|
|
50
50
|
};
|
|
51
|
+
var _default = propTypes;
|
|
51
52
|
exports.default = _default;
|
|
52
53
|
//# sourceMappingURL=prop-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/organism/review-slide/prop-types.
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-slide/prop-types.ts"],"names":["SlidePropsTypes","PropTypes","shape","hidden","bool","position","number","loading","loadingAriaLabel","string","animationType","isCorrect","animateCorrectionPopin","showCorrectionPopin","parentContentTitle","questionText","answerUI","AnswerPropTypes","propTypes","slideIndex","slide","validateButton","label","isRequired","onClick","func","disabled","correctionPopinProps","klf","ReviewCorrectionPopinPropTypes","information","next","resultLabel","type"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;AAEO,MAAMA,eAAe,GAAGC,mBAAUC,KAAV,CAAgB;AAC7CC,EAAAA,MAAM,EAAEF,mBAAUG,IAD2B;AAE7CC,EAAAA,QAAQ,EAAEJ,mBAAUK,MAFyB;AAG7CC,EAAAA,OAAO,EAAEN,mBAAUG,IAH0B;AAI7CI,EAAAA,gBAAgB,EAAEP,mBAAUQ,MAJiB;AAK7CC,EAAAA,aAAa,EAAET,mBAAUQ,MALoB;AAKZ;AACjCE,EAAAA,SAAS,EAAEV,mBAAUG,IANwB;AAO7CQ,EAAAA,sBAAsB,EAAEX,mBAAUG,IAPW;AAQ7CS,EAAAA,mBAAmB,EAAEZ,mBAAUG,IARc;AAS7CU,EAAAA,kBAAkB,EAAEb,mBAAUQ,MATe;AAU7CM,EAAAA,YAAY,EAAEd,mBAAUQ,MAVqB;AAW7CO,EAAAA,QAAQ,EAAEf,mBAAUC,KAAV,CAAgBe,mBAAhB;AAXmC,CAAhB,CAAxB;;;AAcP,MAAMC,SAAS,GAAG;AAChBC,EAAAA,UAAU,EAAElB,mBAAUQ,MADN;AAEhBW,EAAAA,KAAK,EAAEpB,eAFS;AAGhBqB,EAAAA,cAAc,EAAEpB,mBAAUC,KAAV,CAAgB;AAC9BoB,IAAAA,KAAK,EAAErB,mBAAUQ,MAAV,CAAiBc,UADM;AAE9BC,IAAAA,OAAO,EAAEvB,mBAAUwB,IAAV,CAAeF,UAFM;AAG9BG,IAAAA,QAAQ,EAAEzB,mBAAUG;AAHU,GAAhB,CAHA;AAQhBuB,EAAAA,oBAAoB,EAAE1B,mBAAUC,KAAV,CAAgB;AACpC0B,IAAAA,GAAG,EAAEC,oBAA+BD,GADA;AAEpCE,IAAAA,WAAW,EAAED,oBAA+BC,WAFR;AAGpCC,IAAAA,IAAI,EAAE9B,mBAAUC,KAAV,CAAgB;AACpBoB,MAAAA,KAAK,EAAErB,mBAAUQ,MADG;AAEpB,oBAAcR,mBAAUQ,MAFJ,CAEW;AAC/B;;AAHoB,KAAhB,CAH8B;AAQpCuB,IAAAA,WAAW,EAAEH,oBAA+BG,WARR;AASpCC,IAAAA,IAAI,EAAEJ,oBAA+BI;AATD,GAAhB;AARN,CAAlB;eAqBef,S","sourcesContent":["import PropTypes from 'prop-types';\nimport ReviewCorrectionPopinPropTypes from '../../molecule/review-correction-popin/prop-types';\nimport AnswerPropTypes, {Props as AnswerProps} from '../../molecule/answer/prop-types';\n\nexport const SlidePropsTypes = PropTypes.shape({\n hidden: PropTypes.bool,\n position: PropTypes.number,\n loading: PropTypes.bool,\n loadingAriaLabel: PropTypes.string,\n animationType: PropTypes.string, // 'unstack' | 'restack'\n isCorrect: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n showCorrectionPopin: PropTypes.bool,\n parentContentTitle: PropTypes.string,\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(AnswerPropTypes)\n});\n\nconst propTypes = {\n slideIndex: PropTypes.string,\n slide: SlidePropsTypes,\n validateButton: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n disabled: PropTypes.bool\n }),\n correctionPopinProps: PropTypes.shape({\n klf: ReviewCorrectionPopinPropTypes.klf,\n information: ReviewCorrectionPopinPropTypes.information,\n next: PropTypes.shape({\n label: PropTypes.string,\n 'aria-label': PropTypes.string // Pourquoi le onClick du next n'est pas ici !\n // updateSlidesOnNext: PropTypes.func.isRequired ???\n }),\n resultLabel: ReviewCorrectionPopinPropTypes.resultLabel,\n type: ReviewCorrectionPopinPropTypes.type\n })\n};\n\nexport default propTypes;\n\nexport type Props = PropTypes.InferProps<typeof propTypes> & {\n num: number;\n};\n\nexport type SlideProps = {\n hidden: boolean;\n position: number;\n loading: boolean;\n loadingAriaLabel: string;\n animationType: 'unstack' | 'restack';\n isCorrect: boolean;\n animateCorrectionPopin: boolean;\n showCorrectionPopin: boolean;\n parentContentTitle: string;\n questionText: string;\n answerUI: AnswerProps;\n};\n"],"file":"prop-types.js"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = exports.TOTAL_SLIDES_STACK = void 0;
|
|
5
|
+
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
|
|
10
|
+
var _keys = _interopRequireDefault(require("lodash/fp/keys"));
|
|
11
|
+
|
|
12
|
+
var _index = _interopRequireDefault(require("../review-slide/index.native"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
17
|
+
|
|
18
|
+
const TOTAL_SLIDES_STACK = 5;
|
|
19
|
+
exports.TOTAL_SLIDES_STACK = TOTAL_SLIDES_STACK;
|
|
20
|
+
|
|
21
|
+
const StackedSlides = props => {
|
|
22
|
+
const {
|
|
23
|
+
slides = {},
|
|
24
|
+
endReview,
|
|
25
|
+
validateButton,
|
|
26
|
+
correctionPopinProps
|
|
27
|
+
} = props;
|
|
28
|
+
const indexes = (0, _keys.default)(slides).reverse();
|
|
29
|
+
const stackedSlides = indexes.map(slideIndex => {
|
|
30
|
+
const slide = slides[slideIndex]; // const {animationType, hidden, position} = slide;
|
|
31
|
+
|
|
32
|
+
return /*#__PURE__*/_react.default.createElement(_index.default, _extends({
|
|
33
|
+
num: Number.parseInt(slideIndex),
|
|
34
|
+
slideIndex,
|
|
35
|
+
slide,
|
|
36
|
+
validateButton,
|
|
37
|
+
correctionPopinProps
|
|
38
|
+
}, {
|
|
39
|
+
key: slideIndex
|
|
40
|
+
}));
|
|
41
|
+
});
|
|
42
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, null, stackedSlides);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
var _default = StackedSlides;
|
|
46
|
+
exports.default = _default;
|
|
47
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-stacked-slides/index.native.tsx"],"names":["TOTAL_SLIDES_STACK","StackedSlides","props","slides","endReview","validateButton","correctionPopinProps","indexes","reverse","stackedSlides","map","slideIndex","slide","num","Number","parseInt"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAGO,MAAMA,kBAAkB,GAAG,CAA3B;;;AAEP,MAAMC,aAAa,GAAIC,KAAD,IAAkB;AACtC,QAAM;AAACC,IAAAA,MAAM,GAAG,EAAV;AAAcC,IAAAA,SAAd;AAAyBC,IAAAA,cAAzB;AAAyCC,IAAAA;AAAzC,MAAiEJ,KAAvE;AAEA,QAAMK,OAAO,GAAG,mBAAKJ,MAAL,EAAaK,OAAb,EAAhB;AACA,QAAMC,aAAa,GAAGF,OAAO,CAACG,GAAR,CAAYC,UAAU,IAAI;AAC9C,UAAMC,KAAK,GAAGT,MAAM,CAACQ,UAAD,CAApB,CAD8C,CAE9C;;AAEA,wBACE,6BAAC,cAAD,WACM;AACFE,MAAAA,GAAG,EAAEC,MAAM,CAACC,QAAP,CAAgBJ,UAAhB,CADH;AAEFA,MAAAA,UAFE;AAGFC,MAAAA,KAHE;AAIFP,MAAAA,cAJE;AAKFC,MAAAA;AALE,KADN;AAQE,MAAA,GAAG,EAAEK;AARP,OADF;AAYD,GAhBqB,CAAtB;AAkBA,sBAAO,6BAAC,iBAAD,QAAOF,aAAP,CAAP;AACD,CAvBD;;eAyBeR,a","sourcesContent":["import React from 'react';\nimport {View} from 'react-native';\nimport keys from 'lodash/fp/keys';\nimport Slide from '../review-slide/index.native';\nimport {Props} from './prop-types';\n\nexport const TOTAL_SLIDES_STACK = 5;\n\nconst StackedSlides = (props: Props) => {\n const {slides = {}, endReview, validateButton, correctionPopinProps} = props;\n\n const indexes = keys(slides).reverse();\n const stackedSlides = indexes.map(slideIndex => {\n const slide = slides[slideIndex];\n // const {animationType, hidden, position} = slide;\n\n return (\n <Slide\n {...{\n num: Number.parseInt(slideIndex),\n slideIndex,\n slide,\n validateButton,\n correctionPopinProps\n }}\n key={slideIndex}\n />\n );\n });\n\n return <View>{stackedSlides}</View>;\n};\n\nexport default StackedSlides;\n"],"file":"index.native.js"}
|
|
@@ -13,7 +13,7 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
|
|
|
13
13
|
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
const propTypes = {
|
|
17
17
|
validateButton: _propTypes2.default.validateButton,
|
|
18
18
|
correctionPopinProps: _propTypes2.default.correctionPopinProps,
|
|
19
19
|
slides: _propTypes.default.shape({
|
|
@@ -22,8 +22,9 @@ var _default = {
|
|
|
22
22
|
'2': _propTypes2.SlideProp,
|
|
23
23
|
'3': _propTypes2.SlideProp,
|
|
24
24
|
'4': _propTypes2.SlideProp
|
|
25
|
-
}),
|
|
25
|
+
}).isRequired,
|
|
26
26
|
endReview: _propTypes.default.bool
|
|
27
27
|
};
|
|
28
|
+
var _default = propTypes;
|
|
28
29
|
exports.default = _default;
|
|
29
30
|
//# sourceMappingURL=prop-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/organism/review-stacked-slides/prop-types.
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-stacked-slides/prop-types.ts"],"names":["propTypes","validateButton","ReviewSlideProps","correctionPopinProps","slides","PropTypes","shape","SlideProp","isRequired","endReview","bool"],"mappings":";;;;;AAAA;;AACA;;;;;;;;AAEA,MAAMA,SAAS,GAAG;AAChBC,EAAAA,cAAc,EAAEC,oBAAiBD,cADjB;AAEhBE,EAAAA,oBAAoB,EAAED,oBAAiBC,oBAFvB;AAGhBC,EAAAA,MAAM,EAAEC,mBAAUC,KAAV,CAAgB;AACtB,SAAKC,qBADiB;AAEtB,SAAKA,qBAFiB;AAGtB,SAAKA,qBAHiB;AAItB,SAAKA,qBAJiB;AAKtB,SAAKA;AALiB,GAAhB,EAMLC,UATa;AAUhBC,EAAAA,SAAS,EAAEJ,mBAAUK;AAVL,CAAlB;eAaeV,S","sourcesContent":["import PropTypes from 'prop-types';\nimport ReviewSlideProps, {SlideProp} from '../review-slide/prop-types';\n\nconst propTypes = {\n validateButton: ReviewSlideProps.validateButton,\n correctionPopinProps: ReviewSlideProps.correctionPopinProps,\n slides: PropTypes.shape({\n '0': SlideProp,\n '1': SlideProp,\n '2': SlideProp,\n '3': SlideProp,\n '4': SlideProp\n }).isRequired,\n endReview: PropTypes.bool\n};\n\nexport default propTypes;\n\nexport type Props = PropTypes.InferProps<typeof propTypes>;\n"],"file":"prop-types.js"}
|
|
@@ -35,6 +35,8 @@ var _resourceBrowser = _interopRequireDefault(require("../../../organism/resourc
|
|
|
35
35
|
|
|
36
36
|
var _container = _interopRequireDefault(require("../../../organism/accordion/container"));
|
|
37
37
|
|
|
38
|
+
var _cmPopin = _interopRequireDefault(require("../../../molecule/cm-popin"));
|
|
39
|
+
|
|
38
40
|
var _popinHeader = _interopRequireDefault(require("../popin-header"));
|
|
39
41
|
|
|
40
42
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
@@ -200,7 +202,8 @@ class PopinCorrection extends _react.Component {
|
|
|
200
202
|
tips,
|
|
201
203
|
onClick,
|
|
202
204
|
quit = {},
|
|
203
|
-
assistanceLink = {}
|
|
205
|
+
assistanceLink = {},
|
|
206
|
+
popinError
|
|
204
207
|
} = this.props;
|
|
205
208
|
const {
|
|
206
209
|
open
|
|
@@ -236,7 +239,7 @@ class PopinCorrection extends _react.Component {
|
|
|
236
239
|
ref: this.initWrapper,
|
|
237
240
|
className: className,
|
|
238
241
|
"data-name": "popinCorrection"
|
|
239
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
242
|
+
}, popinError ? /*#__PURE__*/_react.default.createElement(_cmPopin.default, popinError) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
240
243
|
className: _style.default.scrollWrapper
|
|
241
244
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
242
245
|
className: isLoading ? _style.default.loadingWrapper : _style.default.wrapper
|
|
@@ -284,7 +287,8 @@ PopinCorrection.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
284
287
|
title: _propTypes.default.string
|
|
285
288
|
}))
|
|
286
289
|
}),
|
|
287
|
-
onOpen: _propTypes.default.func
|
|
290
|
+
onOpen: _propTypes.default.func,
|
|
291
|
+
popinError: _propTypes.default.shape(_cmPopin.default.propTypes)
|
|
288
292
|
} : {};
|
|
289
293
|
var _default = PopinCorrection;
|
|
290
294
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/app-player/popin-correction/index.js"],"names":["extractTabs","items","map","type","item","iconType","title","isOpen","open","Resources","resources","overlay","style","browserWrapper","value","browser","propTypes","PropTypes","shape","ResourceBrowser","SimpleText","text","simpleTextWrapper","simpleText","innerHTML","__html","string","AssistanceLink","props","context","onClick","skin","white","wrapperAssistance","alertIcon","titleLink","contextTypes","Provider","childContextTypes","func","Question","header","answer","answerPrefix","question","questionHeader","answerWrapper","checkIcon","PopinCorrection","Component","constructor","state","initWrapper","bind","componentDidMount","deferOpen","clearTimeout","deferedOpen","onOpen","setState","wrapper","render","extraLifeGranted","gameOver","klf","tips","quit","assistanceLink","primary","tabs","isLoading","failed","className","finalBackground","initialBackground","cta","linkProps","quitCta","color","hideQuitCta","scrollWrapper","loadingWrapper","loadingContent","content","activeLoader","Header","Accordion","Link"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,MAAMA,WAAW,GAAGC,KAAK,IACvB,oBAAKA,KAAL,EAAYC,GAAZ,CAAgBC,IAAI,IAAI;AACtB,QAAMC,IAAI,GAAGH,KAAK,CAACE,IAAD,CAAlB;AACA,SAAO;AAACE,IAAAA,QAAQ,EAAEF,IAAX;AAAiBG,IAAAA,KAAK,EAAEF,IAAI,CAACE,KAA7B;AAAoCC,IAAAA,MAAM,EAAEH,IAAI,CAACI;AAAjD,GAAP;AACD,CAHD,CADF;;AAMA,MAAMC,SAAS,GAAG,CAAC;AAACC,EAAAA,SAAD;AAAYC,EAAAA;AAAZ,CAAD,kBAChB;AAAK,EAAA,SAAS,EAAEC,eAAMC;AAAtB,gBACE,6BAAC,wBAAD;AAAiB,EAAA,SAAS,EAAEH,SAAS,CAACI,KAAtC;AAA6C,EAAA,OAAO,EAAEH,OAAtD;AAA+D,EAAA,SAAS,EAAEC,eAAMG;AAAhF,EADF,CADF;;AAMAN,SAAS,CAACO,SAAV,2CAAsB;AACpBN,EAAAA,SAAS,EAAEO,mBAAUC,KAAV,CAAgB;AACzBJ,IAAAA,KAAK,EAAEK,yBAAgBH,SAAhB,CAA0BN;AADR,GAAhB,CADS;AAIpBC,EAAAA,OAAO,EAAEQ,yBAAgBH,SAAhB,CAA0BL;AAJf,CAAtB;;AAOA,MAAMS,UAAU,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBACjB;AAAK,eAAU,YAAf;AAA4B,EAAA,SAAS,EAAET,eAAMU;AAA7C,gBACE;AACE,EAAA,SAAS,EAAE,yBAAWV,eAAMW,UAAjB,EAA6BX,eAAMY,SAAnC,CADb,CAEE;AAFF;AAGE,EAAA,uBAAuB,EAAE;AAACC,IAAAA,MAAM,EAAEJ;AAAT;AAH3B,EADF,CADF;;AAUAD,UAAU,CAACJ,SAAX,2CAAuB;AACrBK,EAAAA,IAAI,EAAEJ,mBAAUS;AADK,CAAvB;;AAIA,MAAMC,cAAc,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACzC,MAAI,uBAAQD,KAAR,CAAJ,EAAoB,OAAO,IAAP;AACpB,QAAM;AAACtB,IAAAA,KAAD;AAAQwB,IAAAA;AAAR,MAAmBF,KAAzB;AACA,MAAI,uBAAQtB,KAAR,CAAJ,EAAoB,OAAO,IAAP;AACpB,QAAM;AAACyB,IAAAA;AAAD,MAASF,OAAf;AACA,QAAMG,KAAK,GAAG,mBAAI,cAAJ,EAAoBD,IAApB,CAAd;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEnB,eAAMqB,iBAAtB;AAAyC,IAAA,OAAO,EAAEH;AAAlD,kBACE,6BAAC,wDAAD;AAAW,IAAA,SAAS,EAAElB,eAAMsB,SAA5B;AAAuC,IAAA,KAAK,EAAEF;AAA9C,IADF,eAEE;AAAM,IAAA,SAAS,EAAEpB,eAAMuB;AAAvB,UAAoC7B,KAApC,MAFF,CADF;AAMD,CAbD;;AAeAqB,cAAc,CAACS,YAAf,GAA8B;AAC5BL,EAAAA,IAAI,EAAEM,kBAASC,iBAAT,CAA2BP;AADL,CAA9B;AAIAJ,cAAc,CAACX,SAAf,2CAA2B;AACzBV,EAAAA,KAAK,EAAEW,mBAAUS,MADQ;AAEzBI,EAAAA,OAAO,EAAEb,mBAAUsB;AAFM,CAA3B;;AAKA,MAAMC,QAAQ,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA,MAAT;AAAiBC,EAAAA;AAAjB,CAAD,kBACf;AAAK,EAAA,SAAS,EAAE/B,eAAMgC;AAAtB,gBACE;AACE,EAAA,SAAS,EAAE,yBAAWhC,eAAMiC,cAAjB,EAAiCjC,eAAMY,SAAvC,CADb,CAEE;AAFF;AAGE,EAAA,uBAAuB,EAAE;AAACC,IAAAA,MAAM,EAAEgB;AAAT;AAH3B,EADF,eAME;AAAK,EAAA,SAAS,EAAE7B,eAAMkC;AAAtB,gBACE,6BAAC,2CAAD;AAAW,EAAA,SAAS,EAAElC,eAAMmC,SAA5B;AAAuC,EAAA,KAAK,EAAC;AAA7C,EADF,EAEGJ,YAAY,gBAAG;AAAM,EAAA,SAAS,EAAE/B,eAAM+B;AAAvB,GAAsCA,YAAtC,CAAH,GAAgE,IAF/E,eAGE;AACE,EAAA,SAAS,EAAE,yBAAW/B,eAAM8B,MAAjB,EAAyB9B,eAAMY,SAA/B,CADb,CAEE;AAFF;AAGE,EAAA,uBAAuB,EAAE;AAACC,IAAAA,MAAM,EAAEiB;AAAT;AAH3B,EAHF,CANF,CADF;;AAmBAF,QAAQ,CAACxB,SAAT,2CAAqB;AACnByB,EAAAA,MAAM,EAAExB,mBAAUS,MADC;AAEnBiB,EAAAA,YAAY,EAAE1B,mBAAUS,MAFL;AAGnBgB,EAAAA,MAAM,EAAEzB,mBAAUS;AAHC,CAArB;;AAMA,MAAMsB,eAAN,SAA8BC,gBAA9B,CAAwC;AAyBtCC,EAAAA,WAAW,CAACtB,KAAD,EAAQ;AACjB,UAAMA,KAAN;AACA,SAAKuB,KAAL,GAAa;AAAC3C,MAAAA,IAAI,EAAE;AAAP,KAAb;AACA,SAAK4C,WAAL,GAAmB,KAAKA,WAAL,CAAiBC,IAAjB,CAAsB,IAAtB,CAAnB;AACD;;AAEDC,EAAAA,iBAAiB,GAAG;AAClB,SAAKC,SAAL;AACD;;AAEDA,EAAAA,SAAS,GAAG;AACVC,IAAAA,YAAY,CAAC,KAAKC,WAAN,CAAZ;AAEA,SAAKA,WAAL,GAAmB,qBAAM,MAAM;AAC7B,YAAM;AAACC,QAAAA;AAAD,UAAW,KAAK9B,KAAtB;AACA,WAAK+B,QAAL,CAAc;AAACnD,QAAAA,IAAI,EAAE;AAAP,OAAd;AACAkD,MAAAA,MAAM,IAAIA,MAAM,EAAhB;AACD,KAJkB,CAAnB;AAKD;;AAEDN,EAAAA,WAAW,CAACQ,OAAD,EAAU;AACnB,SAAKA,OAAL,GAAeA,OAAf;AACD;;AAEDC,EAAAA,MAAM,GAAG;AACP,UAAM;AACJpB,MAAAA,MAAM,GAAG,EADL;AAEJqB,MAAAA,gBAFI;AAGJC,MAAAA,QAHI;AAIJnB,MAAAA,QAJI;AAKJjC,MAAAA,OALI;AAMJD,MAAAA,SANI;AAOJsD,MAAAA,GAPI;AAQJC,MAAAA,IARI;AASJnC,MAAAA,OATI;AAUJoC,MAAAA,IAAI,GAAG,EAVH;AAWJC,MAAAA,cAAc,GAAG;AAXb,QAYF,KAAKvC,KAZT;AAcA,UAAM;AAACpB,MAAAA;AAAD,QAAS,KAAK2C,KAApB;AAEA,UAAM;AAACpB,MAAAA;AAAD,QAAS,KAAKF,OAApB;AACA,UAAMuC,OAAO,GAAG,qBAAM,MAAN,EAAc,gBAAd,EAAgCrC,IAAhC,CAAhB;AAEA,UAAMsC,IAAI,GAAGrE,WAAW,CAAC;AAACU,MAAAA,SAAD;AAAYsD,MAAAA,GAAZ;AAAiBC,MAAAA;AAAjB,KAAD,CAAxB;AACA,UAAMK,SAAS,GAAG,qBAAM7B,MAAM,CAAC8B,MAAb,CAAlB;AACA,UAAMC,SAAS,GAAGhE,IAAI,GAAGI,eAAM6D,eAAT,GAA2B7D,eAAM8D,iBAAvD;;AACA,iBAA8BR,IAAI,CAACS,GAAL,IAAY,EAA1C;AAAA,UAAM;AAACrE,MAAAA;AAAD,KAAN;AAAA,UAAiBsE,SAAjB;;AAEA,UAAMC,OAAO,GACXvE,KAAK,IAAIwD,gBAAT,gBACE,6BAAC,aAAD,eACMc,SADN;AAEE,MAAA,KAAK,EAAE;AACLE,QAAAA,KAAK,EAAEV;AADF,OAFT;AAKE,MAAA,SAAS,EAAEN,gBAAgB,GAAGlD,eAAMmE,WAAT,GAAuBnE,eAAMiE,OAL1D;AAME,mBAAU,UANZ;AAOE,oBAAW,iBAPb;AAQE,mBAAU;AARZ,QAUGvE,KAVH,CADF,GAaI,IAdN;AAgBA,wBACE;AAAK,MAAA,GAAG,EAAE,KAAK8C,WAAf;AAA4B,MAAA,SAAS,EAAEoB,SAAvC;AAAkD,mBAAU;AAA5D,oBACE;AAAK,MAAA,SAAS,EAAE5D,eAAMoE;AAAtB,oBACE;AAAK,MAAA,SAAS,EAAEV,SAAS,GAAG1D,eAAMqE,cAAT,GAA0BrE,eAAMgD;AAAzD,oBACE;AAAK,MAAA,SAAS,EAAEU,SAAS,GAAG1D,eAAMsE,cAAT,GAA0BtE,eAAMuE;AAAzD,oBACE,6BAAC,oBAAD,eACM1C,MADN;AAEE,MAAA,QAAQ,EAAEsB,QAFZ;AAGE,MAAA,gBAAgB,EAAED,gBAHpB;AAIE,MAAA,QAAQ;AAJV,OADF,eAOE,6BAAC,QAAD,EAAclB,QAAd,CAPF,eAQE,6BAAC,kBAAD;AAAW,MAAA,QAAQ,EAAEyB,IAArB;AAA2B,MAAA,OAAO,EAAEvC,OAApC;AAA6C,MAAA,UAAU;AAAvD,OACG,uBAAQ,qBAAM,EAAN,EAAU,OAAV,EAAmBpB,SAAnB,CAAR,IAAyC,IAAzC,gBACC,6BAAC,SAAD;AAAW,MAAA,SAAS,EAAEA,SAAtB;AAAiC,MAAA,OAAO,EAAEC;AAA1C,MAFJ,EAIGqD,GAAG,CAAClD,KAAJ,gBAAY,6BAAC,UAAD;AAAY,MAAA,IAAI,EAAEkD,GAAG,CAAClD;AAAtB,MAAZ,GAA8C,IAJjD,EAKGmD,IAAI,CAACnD,KAAL,gBAAa,6BAAC,UAAD;AAAY,MAAA,IAAI,EAAEmD,IAAI,CAACnD;AAAvB,MAAb,GAAgD,IALnD,CARF,CADF,EAiBG+D,OAjBH,eAkBE,6BAAC,cAAD,EAAoBV,cAApB,CAlBF,CADF,EAqBGG,SAAS,gBAAG,6BAAC,eAAD;AAAQ,MAAA,SAAS,EAAE1D,eAAMwE;AAAzB,MAAH,GAA+C,IArB3D,CADF,CADF;AA2BD;;AArHqC;;gBAAlCpC,e,kBAqBkB;AACpBjB,EAAAA,IAAI,EAAEM,kBAASC,iBAAT,CAA2BP;AADb,C;;AArBlBiB,e,CACGhC,S,2CAAY;AACjBN,EAAAA,SAAS,EAAED,SAAS,CAACO,SAAV,CAAoBN,SADd;AAEjBC,EAAAA,OAAO,EAAEQ,yBAAgBH,SAAhB,CAA0BL,OAFlB;AAGjBwD,EAAAA,cAAc,EAAElD,mBAAUC,KAAV,CAAgBS,cAAc,CAACX,SAA/B,CAHC;AAIjByB,EAAAA,MAAM,EAAExB,mBAAUC,KAAV,CAAgB,oBAAK,CAAC,UAAD,CAAL,EAAmBmE,qBAAOrE,SAA1B,CAAhB,CAJS;AAKjB8C,EAAAA,gBAAgB,EAAEuB,qBAAOrE,SAAP,CAAiB8C,gBALlB;AAMjBC,EAAAA,QAAQ,EAAEsB,qBAAOrE,SAAP,CAAiB+C,QANV;AAOjBnB,EAAAA,QAAQ,EAAE3B,mBAAUC,KAAV,CAAgBsB,QAAQ,CAACxB,SAAzB,CAPO;AAQjBgD,EAAAA,GAAG,EAAE/C,mBAAUC,KAAV,CAAgBE,UAAU,CAACJ,SAA3B,CARY;AASjBiD,EAAAA,IAAI,EAAEhD,mBAAUC,KAAV,CAAgBE,UAAU,CAACJ,SAA3B,CATW;AAUjBc,EAAAA,OAAO,EAAEwD,mBAAUtE,SAAV,CAAoBc,OAVZ;AAWjBoC,EAAAA,IAAI,EAAEjD,mBAAUC,KAAV,CAAgB;AACpByD,IAAAA,GAAG,EAAE1D,mBAAUC,KAAV,uBACAqE,cAAKvE,SADL;AAEHV,MAAAA,KAAK,EAAEW,mBAAUS;AAFd;AADe,GAAhB,CAXW;AAiBjBgC,EAAAA,MAAM,EAAEzC,mBAAUsB;AAjBD,C;eAuHNS,e","sourcesContent":["import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {defer, isNil, isEmpty, get, getOr, keys, omit} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaLineInterfaceFeedbackInterfaceAlertCircle as AlertIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../../../atom/loader';\nimport Link from '../../../atom/link';\nimport Provider from '../../../atom/provider';\nimport ResourceBrowser from '../../../organism/resource-browser';\nimport Accordion from '../../../organism/accordion/container';\nimport Header from '../popin-header';\nimport style from './style.css';\n\nconst extractTabs = items =>\n keys(items).map(type => {\n const item = items[type];\n return {iconType: type, title: item.title, isOpen: item.open};\n });\n\nconst Resources = ({resources, overlay}) => (\n <div className={style.browserWrapper}>\n <ResourceBrowser resources={resources.value} overlay={overlay} className={style.browser} />\n </div>\n);\n\nResources.propTypes = {\n resources: PropTypes.shape({\n value: ResourceBrowser.propTypes.resources\n }),\n overlay: ResourceBrowser.propTypes.overlay\n};\n\nconst SimpleText = ({text}) => (\n <div data-name=\"simpleText\" className={style.simpleTextWrapper}>\n <p\n className={classnames(style.simpleText, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: text}}\n />\n </div>\n);\n\nSimpleText.propTypes = {\n text: PropTypes.string\n};\n\nconst AssistanceLink = (props, context) => {\n if (isEmpty(props)) return null;\n const {title, onClick} = props;\n if (isEmpty(title)) return null;\n const {skin} = context;\n const white = get('common.white', skin);\n\n return (\n <div className={style.wrapperAssistance} onClick={onClick}>\n <AlertIcon className={style.alertIcon} color={white} />\n <span className={style.titleLink}> {title} </span>\n </div>\n );\n};\n\nAssistanceLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nAssistanceLink.propTypes = {\n title: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst Question = ({header, answer, answerPrefix}) => (\n <div className={style.question}>\n <p\n className={classnames(style.questionHeader, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: header}}\n />\n <div className={style.answerWrapper}>\n <CheckIcon className={style.checkIcon} color=\"inherit\" />\n {answerPrefix ? <span className={style.answerPrefix}>{answerPrefix}</span> : null}\n <span\n className={classnames(style.answer, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: answer}}\n />\n </div>\n </div>\n);\n\nQuestion.propTypes = {\n header: PropTypes.string,\n answerPrefix: PropTypes.string,\n answer: PropTypes.string\n};\n\nclass PopinCorrection extends Component {\n static propTypes = {\n resources: Resources.propTypes.resources,\n overlay: ResourceBrowser.propTypes.overlay,\n assistanceLink: PropTypes.shape(AssistanceLink.propTypes),\n header: PropTypes.shape(omit(['animated'], Header.propTypes)),\n extraLifeGranted: Header.propTypes.extraLifeGranted,\n gameOver: Header.propTypes.gameOver,\n question: PropTypes.shape(Question.propTypes),\n klf: PropTypes.shape(SimpleText.propTypes),\n tips: PropTypes.shape(SimpleText.propTypes),\n onClick: Accordion.propTypes.onClick,\n quit: PropTypes.shape({\n cta: PropTypes.shape({\n ...Link.propTypes,\n title: PropTypes.string\n })\n }),\n onOpen: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {open: false};\n this.initWrapper = this.initWrapper.bind(this);\n }\n\n componentDidMount() {\n this.deferOpen();\n }\n\n deferOpen() {\n clearTimeout(this.deferedOpen);\n\n this.deferedOpen = defer(() => {\n const {onOpen} = this.props;\n this.setState({open: true});\n onOpen && onOpen();\n });\n }\n\n initWrapper(wrapper) {\n this.wrapper = wrapper;\n }\n\n render() {\n const {\n header = {},\n extraLifeGranted,\n gameOver,\n question,\n overlay,\n resources,\n klf,\n tips,\n onClick,\n quit = {},\n assistanceLink = {}\n } = this.props;\n\n const {open} = this.state;\n\n const {skin} = this.context;\n const primary = getOr('#f0f', 'common.primary', skin);\n\n const tabs = extractTabs({resources, klf, tips});\n const isLoading = isNil(header.failed);\n const className = open ? style.finalBackground : style.initialBackground;\n const {title, ...linkProps} = quit.cta || {};\n\n const quitCta =\n title || extraLifeGranted ? (\n <Link\n {...linkProps}\n style={{\n color: primary\n }}\n className={extraLifeGranted ? style.hideQuitCta : style.quitCta}\n data-name=\"nextLink\"\n data-popin=\"popinCorrection\"\n data-next=\"quit-with-extra-life\"\n >\n {title}\n </Link>\n ) : null;\n\n return (\n <div ref={this.initWrapper} className={className} data-name=\"popinCorrection\">\n <div className={style.scrollWrapper}>\n <div className={isLoading ? style.loadingWrapper : style.wrapper}>\n <div className={isLoading ? style.loadingContent : style.content}>\n <Header\n {...header}\n gameOver={gameOver}\n extraLifeGranted={extraLifeGranted}\n animated\n />\n <Question {...question} />\n <Accordion tabProps={tabs} onClick={onClick} oneTabOnly>\n {isEmpty(getOr([], 'value', resources)) ? null : (\n <Resources resources={resources} overlay={overlay} />\n )}\n {klf.value ? <SimpleText text={klf.value} /> : null}\n {tips.value ? <SimpleText text={tips.value} /> : null}\n </Accordion>\n </div>\n {quitCta}\n <AssistanceLink {...assistanceLink} />\n </div>\n {isLoading ? <Loader className={style.activeLoader} /> : null}\n </div>\n </div>\n );\n }\n}\n\nexport default PopinCorrection;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-player/popin-correction/index.js"],"names":["extractTabs","items","map","type","item","iconType","title","isOpen","open","Resources","resources","overlay","style","browserWrapper","value","browser","propTypes","PropTypes","shape","ResourceBrowser","SimpleText","text","simpleTextWrapper","simpleText","innerHTML","__html","string","AssistanceLink","props","context","onClick","skin","white","wrapperAssistance","alertIcon","titleLink","contextTypes","Provider","childContextTypes","func","Question","header","answer","answerPrefix","question","questionHeader","answerWrapper","checkIcon","PopinCorrection","Component","constructor","state","initWrapper","bind","componentDidMount","deferOpen","clearTimeout","deferedOpen","onOpen","setState","wrapper","render","extraLifeGranted","gameOver","klf","tips","quit","assistanceLink","popinError","primary","tabs","isLoading","failed","className","finalBackground","initialBackground","cta","linkProps","quitCta","color","hideQuitCta","scrollWrapper","loadingWrapper","loadingContent","content","activeLoader","Header","Accordion","Link","CMPopin"],"mappings":"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","sourcesContent":["import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {defer, isNil, isEmpty, get, getOr, keys, omit} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaLineInterfaceFeedbackInterfaceAlertCircle as AlertIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../../../atom/loader';\nimport Link from '../../../atom/link';\nimport Provider from '../../../atom/provider';\nimport ResourceBrowser from '../../../organism/resource-browser';\nimport Accordion from '../../../organism/accordion/container';\nimport CMPopin from '../../../molecule/cm-popin';\nimport Header from '../popin-header';\nimport style from './style.css';\n\nconst extractTabs = items =>\n keys(items).map(type => {\n const item = items[type];\n return {iconType: type, title: item.title, isOpen: item.open};\n });\n\nconst Resources = ({resources, overlay}) => (\n <div className={style.browserWrapper}>\n <ResourceBrowser resources={resources.value} overlay={overlay} className={style.browser} />\n </div>\n);\n\nResources.propTypes = {\n resources: PropTypes.shape({\n value: ResourceBrowser.propTypes.resources\n }),\n overlay: ResourceBrowser.propTypes.overlay\n};\n\nconst SimpleText = ({text}) => (\n <div data-name=\"simpleText\" className={style.simpleTextWrapper}>\n <p\n className={classnames(style.simpleText, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: text}}\n />\n </div>\n);\n\nSimpleText.propTypes = {\n text: PropTypes.string\n};\n\nconst AssistanceLink = (props, context) => {\n if (isEmpty(props)) return null;\n const {title, onClick} = props;\n if (isEmpty(title)) return null;\n const {skin} = context;\n const white = get('common.white', skin);\n\n return (\n <div className={style.wrapperAssistance} onClick={onClick}>\n <AlertIcon className={style.alertIcon} color={white} />\n <span className={style.titleLink}> {title} </span>\n </div>\n );\n};\n\nAssistanceLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nAssistanceLink.propTypes = {\n title: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst Question = ({header, answer, answerPrefix}) => (\n <div className={style.question}>\n <p\n className={classnames(style.questionHeader, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: header}}\n />\n <div className={style.answerWrapper}>\n <CheckIcon className={style.checkIcon} color=\"inherit\" />\n {answerPrefix ? <span className={style.answerPrefix}>{answerPrefix}</span> : null}\n <span\n className={classnames(style.answer, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: answer}}\n />\n </div>\n </div>\n);\n\nQuestion.propTypes = {\n header: PropTypes.string,\n answerPrefix: PropTypes.string,\n answer: PropTypes.string\n};\n\nclass PopinCorrection extends Component {\n static propTypes = {\n resources: Resources.propTypes.resources,\n overlay: ResourceBrowser.propTypes.overlay,\n assistanceLink: PropTypes.shape(AssistanceLink.propTypes),\n header: PropTypes.shape(omit(['animated'], Header.propTypes)),\n extraLifeGranted: Header.propTypes.extraLifeGranted,\n gameOver: Header.propTypes.gameOver,\n question: PropTypes.shape(Question.propTypes),\n klf: PropTypes.shape(SimpleText.propTypes),\n tips: PropTypes.shape(SimpleText.propTypes),\n onClick: Accordion.propTypes.onClick,\n quit: PropTypes.shape({\n cta: PropTypes.shape({\n ...Link.propTypes,\n title: PropTypes.string\n })\n }),\n onOpen: PropTypes.func,\n popinError: PropTypes.shape(CMPopin.propTypes)\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {open: false};\n this.initWrapper = this.initWrapper.bind(this);\n }\n\n componentDidMount() {\n this.deferOpen();\n }\n\n deferOpen() {\n clearTimeout(this.deferedOpen);\n\n this.deferedOpen = defer(() => {\n const {onOpen} = this.props;\n this.setState({open: true});\n onOpen && onOpen();\n });\n }\n\n initWrapper(wrapper) {\n this.wrapper = wrapper;\n }\n\n render() {\n const {\n header = {},\n extraLifeGranted,\n gameOver,\n question,\n overlay,\n resources,\n klf,\n tips,\n onClick,\n quit = {},\n assistanceLink = {},\n popinError\n } = this.props;\n\n const {open} = this.state;\n\n const {skin} = this.context;\n const primary = getOr('#f0f', 'common.primary', skin);\n\n const tabs = extractTabs({resources, klf, tips});\n const isLoading = isNil(header.failed);\n const className = open ? style.finalBackground : style.initialBackground;\n const {title, ...linkProps} = quit.cta || {};\n\n const quitCta =\n title || extraLifeGranted ? (\n <Link\n {...linkProps}\n style={{\n color: primary\n }}\n className={extraLifeGranted ? style.hideQuitCta : style.quitCta}\n data-name=\"nextLink\"\n data-popin=\"popinCorrection\"\n data-next=\"quit-with-extra-life\"\n >\n {title}\n </Link>\n ) : null;\n\n return (\n <div ref={this.initWrapper} className={className} data-name=\"popinCorrection\">\n {popinError ? <CMPopin {...popinError} /> : null}\n <div className={style.scrollWrapper}>\n <div className={isLoading ? style.loadingWrapper : style.wrapper}>\n <div className={isLoading ? style.loadingContent : style.content}>\n <Header\n {...header}\n gameOver={gameOver}\n extraLifeGranted={extraLifeGranted}\n animated\n />\n <Question {...question} />\n <Accordion tabProps={tabs} onClick={onClick} oneTabOnly>\n {isEmpty(getOr([], 'value', resources)) ? null : (\n <Resources resources={resources} overlay={overlay} />\n )}\n {klf.value ? <SimpleText text={klf.value} /> : null}\n {tips.value ? <SimpleText text={tips.value} /> : null}\n </Accordion>\n </div>\n {quitCta}\n <AssistanceLink {...assistanceLink} />\n </div>\n {isLoading ? <Loader className={style.activeLoader} /> : null}\n </div>\n </div>\n );\n }\n}\n\nexport default PopinCorrection;\n"],"file":"index.js"}
|
|
@@ -9,6 +9,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
9
9
|
|
|
10
10
|
var _header = _interopRequireDefault(require("../player/slides/header"));
|
|
11
11
|
|
|
12
|
+
var _cmPopin = _interopRequireDefault(require("../../../molecule/cm-popin"));
|
|
13
|
+
|
|
12
14
|
var _summary = _interopRequireDefault(require("./summary"));
|
|
13
15
|
|
|
14
16
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
@@ -34,12 +36,13 @@ const PopinEnd = props => {
|
|
|
34
36
|
const {
|
|
35
37
|
header,
|
|
36
38
|
summary,
|
|
37
|
-
mode = 'default'
|
|
39
|
+
mode = 'default',
|
|
40
|
+
popinError
|
|
38
41
|
} = props;
|
|
39
42
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
40
43
|
"data-name": "popinEnd",
|
|
41
44
|
className: _style.default.wrapper
|
|
42
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
45
|
+
}, popinError ? /*#__PURE__*/_react.default.createElement(_cmPopin.default, popinError) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
43
46
|
className: _style.default.slidesHeader
|
|
44
47
|
}, /*#__PURE__*/_react.default.createElement(_header.default, header)), /*#__PURE__*/_react.default.createElement(Content, _extends({}, summary, {
|
|
45
48
|
mode: mode
|
|
@@ -49,7 +52,8 @@ const PopinEnd = props => {
|
|
|
49
52
|
PopinEnd.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
50
53
|
header: _propTypes.default.shape(_header.default.propTypes),
|
|
51
54
|
summary: _propTypes.default.shape(_summary.default.propTypes),
|
|
52
|
-
mode: _propTypes.default.oneOf(['scorm', 'default'])
|
|
55
|
+
mode: _propTypes.default.oneOf(['scorm', 'default']),
|
|
56
|
+
popinError: _propTypes.default.shape(_cmPopin.default.propTypes)
|
|
53
57
|
} : {};
|
|
54
58
|
var _default = PopinEnd;
|
|
55
59
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/app-player/popin-end/index.js"],"names":["Content","props","mode","style","popinWrapper","propTypes","PropTypes","oneOf","PopinEnd","header","summary","wrapper","slidesHeader","shape","Header","Summary"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,OAAO,GAAGC,KAAK,IAAI;AACvB,QAAM;AAACC,IAAAA,IAAI,GAAG;AAAR,MAAqBD,KAA3B;AACA,sBACE;AAAK,IAAA,SAAS,EAAEC,IAAI,KAAK,OAAT,GAAmBC,eAAMC,YAAzB,GAAwC;AAAxD,kBACE,6BAAC,gBAAD,EAAaH,KAAb,CADF,CADF;AAKD,CAPD;;AAQAD,OAAO,CAACK,SAAR,2CAAoB;AAClBH,EAAAA,IAAI,EAAEI,mBAAUC,KAAV,CAAgB,CAAC,OAAD,EAAU,SAAV,CAAhB;AADY,CAApB;;AAIA,MAAMC,QAAQ,GAAGP,KAAK,IAAI;AACxB,QAAM;AAACQ,IAAAA,MAAD;AAASC,IAAAA,OAAT;AAAkBR,IAAAA,IAAI,GAAG;
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-player/popin-end/index.js"],"names":["Content","props","mode","style","popinWrapper","propTypes","PropTypes","oneOf","PopinEnd","header","summary","popinError","wrapper","slidesHeader","shape","Header","Summary","CMPopin"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,OAAO,GAAGC,KAAK,IAAI;AACvB,QAAM;AAACC,IAAAA,IAAI,GAAG;AAAR,MAAqBD,KAA3B;AACA,sBACE;AAAK,IAAA,SAAS,EAAEC,IAAI,KAAK,OAAT,GAAmBC,eAAMC,YAAzB,GAAwC;AAAxD,kBACE,6BAAC,gBAAD,EAAaH,KAAb,CADF,CADF;AAKD,CAPD;;AAQAD,OAAO,CAACK,SAAR,2CAAoB;AAClBH,EAAAA,IAAI,EAAEI,mBAAUC,KAAV,CAAgB,CAAC,OAAD,EAAU,SAAV,CAAhB;AADY,CAApB;;AAIA,MAAMC,QAAQ,GAAGP,KAAK,IAAI;AACxB,QAAM;AAACQ,IAAAA,MAAD;AAASC,IAAAA,OAAT;AAAkBR,IAAAA,IAAI,GAAG,SAAzB;AAAoCS,IAAAA;AAApC,MAAkDV,KAAxD;AACA,sBACE;AAAK,iBAAU,UAAf;AAA0B,IAAA,SAAS,EAAEE,eAAMS;AAA3C,KACGD,UAAU,gBAAG,6BAAC,gBAAD,EAAaA,UAAb,CAAH,GAAiC,IAD9C,eAEE;AAAK,IAAA,SAAS,EAAER,eAAMU;AAAtB,kBACE,6BAAC,eAAD,EAAYJ,MAAZ,CADF,CAFF,eAKE,6BAAC,OAAD,eAAaC,OAAb;AAAsB,IAAA,IAAI,EAAER;AAA5B,KALF,CADF;AASD,CAXD;;AAaAM,QAAQ,CAACH,SAAT,2CAAqB;AACnBI,EAAAA,MAAM,EAAEH,mBAAUQ,KAAV,CAAgBC,gBAAOV,SAAvB,CADW;AAEnBK,EAAAA,OAAO,EAAEJ,mBAAUQ,KAAV,CAAgBE,iBAAQX,SAAxB,CAFU;AAGnBH,EAAAA,IAAI,EAAEI,mBAAUC,KAAV,CAAgB,CAAC,OAAD,EAAU,SAAV,CAAhB,CAHa;AAInBI,EAAAA,UAAU,EAAEL,mBAAUQ,KAAV,CAAgBG,iBAAQZ,SAAxB;AAJO,CAArB;eAOeG,Q","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Header from '../player/slides/header';\nimport CMPopin from '../../../molecule/cm-popin';\nimport Summary from './summary';\nimport style from './style.css';\n\nconst Content = props => {\n const {mode = 'default'} = props;\n return (\n <div className={mode !== 'scorm' ? style.popinWrapper : null}>\n <Summary {...props} />\n </div>\n );\n};\nContent.propTypes = {\n mode: PropTypes.oneOf(['scorm', 'default'])\n};\n\nconst PopinEnd = props => {\n const {header, summary, mode = 'default', popinError} = props;\n return (\n <div data-name=\"popinEnd\" className={style.wrapper}>\n {popinError ? <CMPopin {...popinError} /> : null}\n <div className={style.slidesHeader}>\n <Header {...header} />\n </div>\n <Content {...summary} mode={mode} />\n </div>\n );\n};\n\nPopinEnd.propTypes = {\n header: PropTypes.shape(Header.propTypes),\n summary: PropTypes.shape(Summary.propTypes),\n mode: PropTypes.oneOf(['scorm', 'default']),\n popinError: PropTypes.shape(CMPopin.propTypes)\n};\n\nexport default PopinEnd;\n"],"file":"index.js"}
|