@coorpacademy/components 10.22.6 → 10.22.9
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 +1 -1
- package/es/atom/choice/index.native.js.map +1 -1
- package/es/atom/{image-backgound → image-background}/index.native.js +0 -0
- package/es/atom/image-background/index.native.js.map +1 -0
- package/es/atom/resource-miniature/index.js +1 -2
- package/es/atom/resource-miniature/index.js.map +1 -1
- package/es/atom/resource-miniature/style.css +4 -0
- package/es/molecule/cm-popin/index.js +4 -2
- package/es/molecule/cm-popin/index.js.map +1 -1
- package/es/molecule/review-correction-popin/prop-types.js +0 -1
- package/es/molecule/review-correction-popin/prop-types.js.map +1 -1
- package/es/organism/review-congrats/style.css +1 -1
- package/es/organism/review-slide/index.js +184 -0
- package/es/organism/review-slide/index.js.map +1 -0
- package/es/organism/review-slide/prop-types.js +37 -0
- package/es/organism/review-slide/prop-types.js.map +1 -0
- package/es/organism/review-slide/style.css +171 -0
- package/es/organism/review-stacked-slides/index.js +81 -0
- package/es/organism/review-stacked-slides/index.js.map +1 -0
- package/es/organism/review-stacked-slides/prop-types.js +16 -0
- package/es/organism/review-stacked-slides/prop-types.js.map +1 -0
- package/es/organism/review-stacked-slides/style.css +179 -0
- package/es/template/app-player/player/slides/header/learner.css +4 -0
- package/es/template/app-player/player/slides/header/learner.js +2 -3
- package/es/template/app-player/player/slides/header/learner.js.map +1 -1
- package/es/template/app-player/player/slides/header/microlearning.css +4 -0
- package/es/template/app-player/player/slides/header/microlearning.js +1 -2
- package/es/template/app-player/player/slides/header/microlearning.js.map +1 -1
- package/es/template/app-player/player/slides/index.js +3 -4
- package/es/template/app-player/player/slides/index.js.map +1 -1
- package/es/template/app-player/player/slides/style.css +5 -0
- package/es/template/app-player/popin-correction/index.js +3 -4
- package/es/template/app-player/popin-correction/index.js.map +1 -1
- package/es/template/app-player/popin-correction/style.css +4 -0
- package/es/template/app-player/popin-end/summary.css +4 -0
- package/es/template/app-player/popin-end/summary.js +3 -4
- package/es/template/app-player/popin-end/summary.js.map +1 -1
- package/es/template/app-player/popin-header/index.js +3 -4
- package/es/template/app-player/popin-header/index.js.map +1 -1
- package/es/template/app-player/popin-header/style.css +4 -0
- package/es/template/app-review/index.js +7 -8
- package/es/template/app-review/index.js.map +1 -1
- package/es/template/app-review/index.native.js +6 -10
- package/es/template/app-review/index.native.js.map +1 -1
- package/es/template/app-review/player/index.js +36 -0
- package/es/template/app-review/player/index.js.map +1 -0
- package/es/template/app-review/{slides → player}/index.native.js +15 -13
- package/es/template/app-review/player/index.native.js.map +1 -0
- package/es/template/app-review/player/prop-types.js +12 -0
- package/es/template/app-review/player/prop-types.js.map +1 -0
- package/es/template/app-review/player/style.css +41 -0
- package/es/template/app-review/prop-types.js +3 -3
- package/es/template/app-review/prop-types.js.map +1 -1
- package/es/template/common/authors/index.js +1 -2
- package/es/template/common/authors/index.js.map +1 -1
- package/es/template/common/authors/style.css +4 -0
- package/lib/atom/choice/index.native.js +1 -1
- package/lib/atom/choice/index.native.js.map +1 -1
- package/lib/atom/{image-backgound → image-background}/index.native.js +0 -0
- package/lib/atom/image-background/index.native.js.map +1 -0
- package/lib/atom/resource-miniature/index.js +9 -11
- package/lib/atom/resource-miniature/index.js.map +1 -1
- package/lib/atom/resource-miniature/style.css +4 -0
- package/lib/molecule/cm-popin/index.js +4 -2
- package/lib/molecule/cm-popin/index.js.map +1 -1
- package/lib/molecule/review-correction-popin/prop-types.js +0 -1
- package/lib/molecule/review-correction-popin/prop-types.js.map +1 -1
- package/lib/organism/review-congrats/style.css +1 -1
- package/lib/organism/review-slide/index.js +206 -0
- package/lib/organism/review-slide/index.js.map +1 -0
- package/lib/organism/review-slide/prop-types.js +50 -0
- package/lib/organism/review-slide/prop-types.js.map +1 -0
- package/lib/organism/review-slide/style.css +171 -0
- package/lib/organism/review-stacked-slides/index.js +99 -0
- package/lib/organism/review-stacked-slides/index.js.map +1 -0
- package/lib/organism/review-stacked-slides/prop-types.js +30 -0
- package/lib/organism/review-stacked-slides/prop-types.js.map +1 -0
- package/lib/organism/review-stacked-slides/style.css +179 -0
- package/lib/template/app-player/player/slides/header/learner.css +4 -0
- package/lib/template/app-player/player/slides/header/learner.js +2 -4
- package/lib/template/app-player/player/slides/header/learner.js.map +1 -1
- package/lib/template/app-player/player/slides/header/microlearning.css +4 -0
- package/lib/template/app-player/player/slides/header/microlearning.js +1 -3
- package/lib/template/app-player/player/slides/header/microlearning.js.map +1 -1
- package/lib/template/app-player/player/slides/index.js +23 -25
- package/lib/template/app-player/player/slides/index.js.map +1 -1
- package/lib/template/app-player/player/slides/style.css +5 -0
- package/lib/template/app-player/popin-correction/index.js +20 -22
- package/lib/template/app-player/popin-correction/index.js.map +1 -1
- package/lib/template/app-player/popin-correction/style.css +4 -0
- package/lib/template/app-player/popin-end/summary.css +4 -0
- package/lib/template/app-player/popin-end/summary.js +3 -5
- package/lib/template/app-player/popin-end/summary.js.map +1 -1
- package/lib/template/app-player/popin-header/index.js +32 -34
- package/lib/template/app-player/popin-header/index.js.map +1 -1
- package/lib/template/app-player/popin-header/style.css +4 -0
- package/lib/template/app-review/index.js +6 -8
- package/lib/template/app-review/index.js.map +1 -1
- package/lib/template/app-review/index.native.js +6 -11
- package/lib/template/app-review/index.native.js.map +1 -1
- package/lib/template/app-review/player/index.js +51 -0
- package/lib/template/app-review/player/index.js.map +1 -0
- package/lib/template/app-review/{slides → player}/index.native.js +14 -12
- package/lib/template/app-review/player/index.native.js.map +1 -0
- package/lib/template/app-review/player/prop-types.js +25 -0
- package/lib/template/app-review/player/prop-types.js.map +1 -0
- package/lib/template/app-review/player/style.css +41 -0
- package/lib/template/app-review/prop-types.js +3 -3
- package/lib/template/app-review/prop-types.js.map +1 -1
- package/lib/template/common/authors/index.js +15 -17
- package/lib/template/common/authors/index.js.map +1 -1
- package/lib/template/common/authors/style.css +4 -0
- package/package.json +2 -2
- package/es/atom/image-backgound/index.native.js.map +0 -1
- package/es/template/app-review/slides/index.js +0 -352
- package/es/template/app-review/slides/index.js.map +0 -1
- package/es/template/app-review/slides/index.native.js.map +0 -1
- package/es/template/app-review/slides/prop-types.js +0 -111
- package/es/template/app-review/slides/prop-types.js.map +0 -1
- package/es/template/app-review/slides/style.css +0 -409
- package/lib/atom/image-backgound/index.native.js.map +0 -1
- package/lib/template/app-review/slides/index.js +0 -385
- package/lib/template/app-review/slides/index.js.map +0 -1
- package/lib/template/app-review/slides/index.native.js.map +0 -1
- package/lib/template/app-review/slides/prop-types.js +0 -131
- package/lib/template/app-review/slides/prop-types.js.map +0 -1
- package/lib/template/app-review/slides/style.css +0 -409
|
@@ -47,9 +47,7 @@ var _animationScheduler = _interopRequireWildcard(require("../../../hoc/animatio
|
|
|
47
47
|
|
|
48
48
|
var _provider = _interopRequireDefault(require("../../../atom/provider"));
|
|
49
49
|
|
|
50
|
-
var _style = require("
|
|
51
|
-
|
|
52
|
-
var _style2 = _interopRequireDefault(require("./style.css"));
|
|
50
|
+
var _style = _interopRequireDefault(require("./style.css"));
|
|
53
51
|
|
|
54
52
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
55
53
|
|
|
@@ -63,7 +61,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
63
61
|
|
|
64
62
|
const separator = index => /*#__PURE__*/_react.default.createElement("span", {
|
|
65
63
|
key: index,
|
|
66
|
-
className:
|
|
64
|
+
className: _style.default.answerSeparator
|
|
67
65
|
}, "/");
|
|
68
66
|
|
|
69
67
|
const joinBySeparator = elements => {
|
|
@@ -80,7 +78,7 @@ const AnswersCorrection = ({
|
|
|
80
78
|
key: key,
|
|
81
79
|
"data-name": "answer",
|
|
82
80
|
"data-correct": correction.isCorrect,
|
|
83
|
-
className: (0, _classnames.default)(correction.isCorrect ?
|
|
81
|
+
className: (0, _classnames.default)(correction.isCorrect ? _style.default.correctAnswer : _style.default.wrongAnswer, _style.default.innerHTML) // eslint-disable-next-line react/no-danger
|
|
84
82
|
,
|
|
85
83
|
dangerouslySetInnerHTML: {
|
|
86
84
|
__html: correction.answer
|
|
@@ -88,7 +86,7 @@ const AnswersCorrection = ({
|
|
|
88
86
|
});
|
|
89
87
|
}, corrections);
|
|
90
88
|
return /*#__PURE__*/_react.default.createElement("p", {
|
|
91
|
-
className:
|
|
89
|
+
className: _style.default.fullAnswer
|
|
92
90
|
}, joinBySeparator(answers));
|
|
93
91
|
};
|
|
94
92
|
|
|
@@ -115,18 +113,18 @@ const Rank = ({
|
|
|
115
113
|
animated: animated,
|
|
116
114
|
onAnimationEnd: onAnimationEnd
|
|
117
115
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
118
|
-
className:
|
|
116
|
+
className: _style.default.centerContent
|
|
119
117
|
}, /*#__PURE__*/_react.default.createElement(_transition.default, {
|
|
120
118
|
name: "label",
|
|
121
119
|
after: "counter",
|
|
122
|
-
className:
|
|
120
|
+
className: _style.default.bumped
|
|
123
121
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
124
|
-
className:
|
|
122
|
+
className: _style.default.iconBubble
|
|
125
123
|
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyCharts, {
|
|
126
|
-
className:
|
|
124
|
+
className: _style.default.icon,
|
|
127
125
|
color: positive
|
|
128
126
|
}))), /*#__PURE__*/_react.default.createElement("span", {
|
|
129
|
-
className:
|
|
127
|
+
className: _style.default.iconText
|
|
130
128
|
}, /*#__PURE__*/_react.default.createElement(_animation.default, {
|
|
131
129
|
name: "counter",
|
|
132
130
|
bezier: _animation.EASE_OUT_CUBIC,
|
|
@@ -158,19 +156,19 @@ const Stars = ({
|
|
|
158
156
|
animated: animated,
|
|
159
157
|
onAnimationEnd: onAnimationEnd
|
|
160
158
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
161
|
-
className:
|
|
159
|
+
className: _style.default.centerContent
|
|
162
160
|
}, /*#__PURE__*/_react.default.createElement(_transition.default, {
|
|
163
161
|
name: "label",
|
|
164
162
|
after: "counter",
|
|
165
|
-
className:
|
|
163
|
+
className: _style.default.bumped
|
|
166
164
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
167
|
-
className:
|
|
165
|
+
className: _style.default.iconBubble
|
|
168
166
|
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyStar, {
|
|
169
|
-
className:
|
|
167
|
+
className: _style.default.icon,
|
|
170
168
|
color: positive
|
|
171
169
|
}))), /*#__PURE__*/_react.default.createElement("span", {
|
|
172
170
|
"data-name": "iconText",
|
|
173
|
-
className:
|
|
171
|
+
className: _style.default.iconText
|
|
174
172
|
}, /*#__PURE__*/_react.default.createElement(_animation.default, {
|
|
175
173
|
name: "counter",
|
|
176
174
|
bezier: _animation.EASE_OUT_CUBIC,
|
|
@@ -200,7 +198,7 @@ const Lifes = ({
|
|
|
200
198
|
count: lives,
|
|
201
199
|
animated: animated,
|
|
202
200
|
revival: revival,
|
|
203
|
-
className:
|
|
201
|
+
className: _style.default.life
|
|
204
202
|
});
|
|
205
203
|
};
|
|
206
204
|
|
|
@@ -223,7 +221,7 @@ const IconsPart = props => {
|
|
|
223
221
|
return /*#__PURE__*/_react.default.createElement(_animationScheduler.default, {
|
|
224
222
|
animated: true
|
|
225
223
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
226
|
-
className:
|
|
224
|
+
className: _style.default.iconsWrapper
|
|
227
225
|
}, /*#__PURE__*/_react.default.createElement(Lifes, {
|
|
228
226
|
lives: lives,
|
|
229
227
|
failed: failed,
|
|
@@ -263,9 +261,9 @@ const getLinkStyle = ({
|
|
|
263
261
|
extraLifeGranted
|
|
264
262
|
}) => {
|
|
265
263
|
if (extraLifeGranted) {
|
|
266
|
-
return
|
|
264
|
+
return _style.default.oneMoreLife;
|
|
267
265
|
} else if (gameOver) {
|
|
268
|
-
return
|
|
266
|
+
return _style.default.gameOver;
|
|
269
267
|
} else {
|
|
270
268
|
return null;
|
|
271
269
|
}
|
|
@@ -273,11 +271,11 @@ const getLinkStyle = ({
|
|
|
273
271
|
|
|
274
272
|
const renderIconStatusScorm = failed => {
|
|
275
273
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
276
|
-
className: failed ?
|
|
274
|
+
className: failed ? _style.default.iconCloseContainer : _style.default.iconSuccessContainer
|
|
277
275
|
}, failed ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidStatusClose, {
|
|
278
|
-
className:
|
|
276
|
+
className: _style.default.failIcon
|
|
279
277
|
}) : /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyCheck, {
|
|
280
|
-
className:
|
|
278
|
+
className: _style.default.checkIcon
|
|
281
279
|
}));
|
|
282
280
|
};
|
|
283
281
|
|
|
@@ -299,21 +297,21 @@ const CorrectionPart = props => {
|
|
|
299
297
|
mode = 'default'
|
|
300
298
|
} = props;
|
|
301
299
|
const isLoading = (0, _isNil2.default)(failed);
|
|
302
|
-
const className = buildClass(failed, stars && rank ?
|
|
300
|
+
const className = buildClass(failed, stars && rank ? _style.default.correctionSectionEndSuccess : _style.default.correctionSectionSuccess, gameOver ? _style.default.correctionSectionFailGameOver : _style.default.correctionSectionFail, _style.default.correctionSectionLoading, mode, _style.default.resultContenantContainerScorm);
|
|
303
301
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
304
302
|
"data-name": "correctionSection",
|
|
305
303
|
className: className
|
|
306
304
|
}, mode === 'scorm' && renderIconStatusScorm(failed), /*#__PURE__*/_react.default.createElement("div", {
|
|
307
|
-
className: buildDefaultOrScormStyle(
|
|
305
|
+
className: buildDefaultOrScormStyle(_style.default.titlesWrapper, mode, _style.default.titlesWrapperScorm, failed)
|
|
308
306
|
}, isLoading ? /*#__PURE__*/_react.default.createElement(_loader.default, null) : null, /*#__PURE__*/_react.default.createElement("h1", {
|
|
309
307
|
"data-name": "title",
|
|
310
|
-
className: buildDefaultOrScormStyle((0, _classnames.default)(
|
|
308
|
+
className: buildDefaultOrScormStyle((0, _classnames.default)(_style.default.title, _style.default.innerHTML), mode, _style.default.resultTitleScorm, failed) // eslint-disable-next-line react/no-danger
|
|
311
309
|
,
|
|
312
310
|
dangerouslySetInnerHTML: {
|
|
313
311
|
__html: title
|
|
314
312
|
}
|
|
315
313
|
}), /*#__PURE__*/_react.default.createElement("h2", {
|
|
316
|
-
className: buildDefaultOrScormStyle(
|
|
314
|
+
className: buildDefaultOrScormStyle(_style.default.subtitle, mode, _style.default.resultSubtitleScorm, failed, _style.default.statusPlayerResultFailScorm)
|
|
317
315
|
}, subtitle), failed && !(0, _isEmpty2.default)(corrections) ? /*#__PURE__*/_react.default.createElement(AnswersCorrection, {
|
|
318
316
|
corrections: corrections
|
|
319
317
|
}) : null), /*#__PURE__*/_react.default.createElement(IconsPart, props));
|
|
@@ -380,14 +378,14 @@ const NextQuestionPart = (props, context) => {
|
|
|
380
378
|
}
|
|
381
379
|
|
|
382
380
|
const nextStep = nextStepTitle ? /*#__PURE__*/_react.default.createElement("div", {
|
|
383
|
-
className: (0, _classnames.default)(gameOver ?
|
|
381
|
+
className: (0, _classnames.default)(gameOver ? _style.default.gameOverSubtitle : _style.default.nextStepTitle, _style.default.innerHTML) // eslint-disable-next-line react/no-danger
|
|
384
382
|
,
|
|
385
383
|
dangerouslySetInnerHTML: {
|
|
386
384
|
__html: nextStepTitle
|
|
387
385
|
}
|
|
388
386
|
}) : null;
|
|
389
387
|
return /*#__PURE__*/_react.default.createElement(_link.default, _extends({}, linkProps, {
|
|
390
|
-
className: (0, _classnames.default)(
|
|
388
|
+
className: (0, _classnames.default)(_style.default.nextSection, getLinkStyle({
|
|
391
389
|
gameOver,
|
|
392
390
|
extraLifeGranted
|
|
393
391
|
})),
|
|
@@ -395,12 +393,12 @@ const NextQuestionPart = (props, context) => {
|
|
|
395
393
|
"data-popin": type,
|
|
396
394
|
"data-next": dataNext
|
|
397
395
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
398
|
-
className:
|
|
396
|
+
className: _style.default.wrapperNextSection
|
|
399
397
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
400
|
-
className:
|
|
398
|
+
className: _style.default.nextButton
|
|
401
399
|
}, title, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowRight, {
|
|
402
400
|
color: "inherit",
|
|
403
|
-
className:
|
|
401
|
+
className: _style.default.nextButtonIcon
|
|
404
402
|
})), nextStep));
|
|
405
403
|
};
|
|
406
404
|
|
|
@@ -443,11 +441,11 @@ const PopinHeader = (props, context) => {
|
|
|
443
441
|
lives: lives
|
|
444
442
|
}) : null;
|
|
445
443
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
446
|
-
className: cta ?
|
|
444
|
+
className: cta ? _style.default.header : _style.default.headerWithoutCTA,
|
|
447
445
|
"data-name": "popinHeader",
|
|
448
446
|
"data-state": state
|
|
449
447
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
450
|
-
className: mode !== 'scorm' ?
|
|
448
|
+
className: mode !== 'scorm' ? _style.default.headerTitle : null
|
|
451
449
|
}, /*#__PURE__*/_react.default.createElement(CorrectionPart, {
|
|
452
450
|
title: title,
|
|
453
451
|
subtitle: subtitle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/app-player/popin-header/index.js"],"names":["separator","index","style","answerSeparator","joinBySeparator","elements","separators","length","AnswersCorrection","corrections","answers","map","correction","key","isCorrect","correctAnswer","wrongAnswer","innerHTML","__html","answer","fullAnswer","propTypes","PropTypes","arrayOf","shape","string","isRequired","bool","formatPlusSign","value","Rank","failed","rank","animated","onAnimationEnd","skin","positive","centerContent","bumped","iconBubble","icon","iconText","EASE_OUT_CUBIC","progress","Animation","contextTypes","Provider","childContextTypes","Stars","stars","Lifes","lives","revival","life","Life","count","IconsPart","props","iconsWrapper","AnimationScheduler","buildClass","success","loading","mode","scormStyle","getLinkStyle","gameOver","extraLifeGranted","oneMoreLife","renderIconStatusScorm","iconCloseContainer","iconSuccessContainer","failIcon","checkIcon","buildDefaultOrScormStyle","defaultStyle","styleScorm","failedStyle","CorrectionPart","title","subtitle","isLoading","className","correctionSectionEndSuccess","correctionSectionSuccess","correctionSectionFailGameOver","correctionSectionFail","correctionSectionLoading","resultContenantContainerScorm","titlesWrapper","titlesWrapperScorm","resultTitleScorm","resultSubtitleScorm","statusPlayerResultFailScorm","NextQuestionPart","context","cta","type","nextStepTitle","showNextLevel","linkProps","dataNext","nextStep","gameOverSubtitle","nextSection","wrapperNextSection","nextButton","nextButtonIcon","Link","oneOf","number","PopinHeader","state","nextLink","header","headerWithoutCTA","headerTitle"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n compact,\n flatten,\n get,\n isNil,\n pipe,\n times,\n zip,\n round,\n parseInt as _parseInt,\n multiply,\n isEmpty\n} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaSolidStatusClose as Close\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../../../atom/loader';\nimport Life from '../../../atom/life';\nimport Link from '../../../atom/link';\nimport Animation, {EASE_OUT_CUBIC} from '../../../hoc/animation';\nimport Transition from '../../../hoc/transition';\nimport AnimationScheduler, {AnimationAdapter} from '../../../hoc/animation-scheduler';\nimport Provider from '../../../atom/provider';\nimport {innerHTML} from '../../../atom/label/style.css';\nimport style from './style.css';\n\nconst separator = index => (\n <span key={index} className={style.answerSeparator}>\n /\n </span>\n);\n\nconst joinBySeparator = elements => {\n const separators = times(separator, elements.length - 1);\n return pipe(zip, flatten, compact)(elements, separators);\n};\n\nconst AnswersCorrection = ({corrections}) => {\n const answers = corrections.map((correction, index) => {\n const key = `answer_${index}`;\n return (\n <span\n key={key}\n data-name=\"answer\"\n data-correct={correction.isCorrect}\n className={classnames(\n correction.isCorrect ? style.correctAnswer : style.wrongAnswer,\n innerHTML\n )}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: correction.answer}}\n />\n );\n }, corrections);\n return <p className={style.fullAnswer}>{joinBySeparator(answers)}</p>;\n};\n\nAnswersCorrection.propTypes = {\n corrections: PropTypes.arrayOf(\n PropTypes.shape({\n answer: PropTypes.string.isRequired,\n isCorrect: PropTypes.bool.isRequired\n })\n )\n};\n\nconst formatPlusSign = value => (value >= 0 ? '+' : '') + value;\n\nconst Rank = ({failed, rank, animated, onAnimationEnd}, {skin}) => {\n const positive = get('common.positive', skin);\n if (failed || isNil(rank)) return null;\n return (\n <AnimationScheduler animated={animated} onAnimationEnd={onAnimationEnd}>\n <div className={style.centerContent}>\n <Transition name=\"label\" after=\"counter\" className={style.bumped}>\n <div className={style.iconBubble}>\n <ChartsIcon className={style.icon} color={positive} />\n </div>\n </Transition>\n <span className={style.iconText}>\n <Animation name=\"counter\" bezier={EASE_OUT_CUBIC} duration={1000}>\n {progress => pipe(_parseInt(10), multiply(progress), round, formatPlusSign)(rank)}\n </Animation>\n </span>\n </div>\n </AnimationScheduler>\n );\n};\n\nRank.propTypes = {\n failed: PropTypes.bool,\n rank: PropTypes.string,\n animated: Animation.propTypes.animated,\n onAnimationEnd: Animation.propTypes.onAnimationEnd\n};\n\nRank.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nconst Stars = ({failed, stars, animated, onAnimationEnd}, {skin}) => {\n const positive = get('common.positive', skin);\n if (failed || isNil(stars)) return null;\n\n return (\n <AnimationScheduler animated={animated} onAnimationEnd={onAnimationEnd}>\n <div className={style.centerContent}>\n <Transition name=\"label\" after=\"counter\" className={style.bumped}>\n <div className={style.iconBubble}>\n <StarIcon className={style.icon} color={positive} />\n </div>\n </Transition>\n <span data-name=\"iconText\" className={style.iconText}>\n <Animation name=\"counter\" bezier={EASE_OUT_CUBIC} duration={1000}>\n {progress => pipe(_parseInt(10), multiply(progress), round, formatPlusSign)(stars)}\n </Animation>\n </span>\n </div>\n </AnimationScheduler>\n );\n};\n\nStars.propTypes = {\n failed: PropTypes.bool,\n stars: PropTypes.string,\n animated: Animation.propTypes.animated,\n onAnimationEnd: Animation.propTypes.onAnimationEnd\n};\n\nStars.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nconst Lifes = ({lives, failed, animated, revival}) => {\n if (isNil(lives)) return null;\n\n return (\n <Life\n failed={failed}\n count={lives}\n animated={animated}\n revival={revival}\n className={style.life}\n />\n );\n};\n\nLifes.propTypes = {\n lives: Life.propTypes.count,\n failed: Life.propTypes.failed,\n animated: Life.propTypes.animated,\n revival: Life.propTypes.revival\n};\n\nconst IconsPart = props => {\n const {lives, failed, stars, rank, animated, revival} = props;\n return (\n <AnimationScheduler animated>\n <div className={style.iconsWrapper}>\n <Lifes lives={lives} failed={failed} animated={animated} revival={revival} />\n\n <AnimationAdapter name=\"stars\">\n <Stars stars={stars} fail={failed} />\n </AnimationAdapter>\n <AnimationAdapter name=\"rank\" after=\"stars\">\n <Rank rank={rank} fail={failed} />\n </AnimationAdapter>\n </div>\n </AnimationScheduler>\n );\n};\n\nIconsPart.propTypes = {\n lives: Lifes.propTypes.lives,\n failed: Lifes.propTypes.failed,\n stars: Stars.propTypes.stars,\n rank: Rank.propTypes.rank,\n animated: AnimationScheduler.propTypes.animated,\n revival: PropTypes.bool\n};\n\nconst buildClass = (value, success, failed, loading, mode = 'default', scormStyle) => {\n if (loading && isNil(value)) return loading;\n if (mode === 'scorm') return scormStyle;\n return value ? failed : success;\n};\n\nconst getLinkStyle = ({gameOver, extraLifeGranted}) => {\n if (extraLifeGranted) {\n return style.oneMoreLife;\n } else if (gameOver) {\n return style.gameOver;\n } else {\n return null;\n }\n};\nconst renderIconStatusScorm = failed => {\n return (\n <div className={failed ? style.iconCloseContainer : style.iconSuccessContainer}>\n {failed ? <Close className={style.failIcon} /> : <CheckIcon className={style.checkIcon} />}\n </div>\n );\n};\nconst buildDefaultOrScormStyle = (\n defaultStyle,\n mode = 'default',\n styleScorm,\n failed,\n failedStyle = null\n) => {\n if (mode === 'scorm' && failed && failedStyle) return failedStyle;\n if (mode === 'scorm') return styleScorm;\n return defaultStyle;\n};\nconst CorrectionPart = props => {\n const {failed, corrections, title, subtitle, stars, rank, gameOver, mode = 'default'} = props;\n const isLoading = isNil(failed);\n const className = buildClass(\n failed,\n stars && rank ? style.correctionSectionEndSuccess : style.correctionSectionSuccess,\n gameOver ? style.correctionSectionFailGameOver : style.correctionSectionFail,\n style.correctionSectionLoading,\n mode,\n style.resultContenantContainerScorm\n );\n return (\n <div data-name=\"correctionSection\" className={className}>\n {mode === 'scorm' && renderIconStatusScorm(failed)}\n <div\n className={buildDefaultOrScormStyle(\n style.titlesWrapper,\n mode,\n style.titlesWrapperScorm,\n failed\n )}\n >\n {isLoading ? <Loader /> : null}\n <h1\n data-name=\"title\"\n className={buildDefaultOrScormStyle(\n classnames(style.title, innerHTML),\n mode,\n style.resultTitleScorm,\n failed\n )}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n <h2\n className={buildDefaultOrScormStyle(\n style.subtitle,\n mode,\n style.resultSubtitleScorm,\n failed,\n style.statusPlayerResultFailScorm\n )}\n >\n {subtitle}\n </h2>\n {failed && !isEmpty(corrections) ? <AnswersCorrection corrections={corrections} /> : null}\n </div>\n <IconsPart {...props} />\n </div>\n );\n};\n\nCorrectionPart.propTypes = {\n ...IconsPart.propTypes,\n failed: PropTypes.bool,\n corrections: AnswersCorrection.propTypes.corrections,\n title: PropTypes.string,\n subtitle: PropTypes.string,\n stars: PropTypes.string,\n rank: PropTypes.string,\n gameOver: PropTypes.bool\n};\n\nconst NextQuestionPart = (props, context) => {\n const {cta, type, extraLifeGranted, gameOver, failed = false, lives = 0} = props;\n const {title, nextStepTitle, showNextLevel = false, ...linkProps} = cta || {};\n let dataNext;\n\n switch (type) {\n case 'popinCorrection': {\n if (gameOver) {\n dataNext = 'game-over';\n } else if (failed) {\n if (lives > 0) {\n dataNext = 'continue-failure';\n } else if (extraLifeGranted) {\n dataNext = 'continue-used-extra-life';\n }\n } else {\n dataNext = 'continue-success';\n }\n break;\n }\n\n case 'popinEnd': {\n if (failed) {\n dataNext = 'redo-content';\n } else if (showNextLevel) {\n dataNext = 'next-level';\n } else {\n dataNext = 'home';\n }\n }\n }\n\n const nextStep = nextStepTitle ? (\n <div\n className={classnames(gameOver ? style.gameOverSubtitle : style.nextStepTitle, innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: nextStepTitle}}\n />\n ) : null;\n\n return (\n <Link\n {...linkProps}\n className={classnames(style.nextSection, getLinkStyle({gameOver, extraLifeGranted}))}\n data-name=\"nextLink\"\n data-popin={type}\n data-next={dataNext}\n >\n <div className={style.wrapperNextSection}>\n <div className={style.nextButton}>\n {title}\n <ArrowRight color=\"inherit\" className={style.nextButtonIcon} />\n </div>\n {nextStep}\n </div>\n </Link>\n );\n};\n\nNextQuestionPart.propTypes = {\n cta: PropTypes.shape({\n ...Link.propTypes,\n title: PropTypes.string,\n nextStepTitle: PropTypes.string,\n showNextLevel: PropTypes.bool\n }),\n type: PropTypes.oneOf(['popinCorrection', 'popinEnd']).isRequired,\n extraLifeGranted: PropTypes.bool,\n gameOver: PropTypes.bool,\n failed: PropTypes.bool,\n lives: PropTypes.number\n};\n\nconst PopinHeader = (props, context) => {\n const {\n animated,\n failed,\n title,\n subtitle,\n lives,\n stars,\n rank,\n corrections,\n cta,\n extraLifeGranted,\n gameOver = false,\n type,\n mode = 'default'\n } = props;\n\n const state = buildClass(failed, 'success', 'failed', null);\n\n const nextLink = cta ? (\n <NextQuestionPart\n cta={cta}\n type={type}\n extraLifeGranted={extraLifeGranted}\n failed={failed}\n gameOver={gameOver}\n lives={lives}\n />\n ) : null;\n\n return (\n <div\n className={cta ? style.header : style.headerWithoutCTA}\n data-name=\"popinHeader\"\n data-state={state}\n >\n <div className={mode !== 'scorm' ? style.headerTitle : null}>\n <CorrectionPart\n title={title}\n subtitle={subtitle}\n lives={lives}\n animated={animated}\n stars={stars}\n rank={rank}\n failed={failed}\n gameOver={gameOver}\n revival={extraLifeGranted}\n corrections={corrections}\n mode={mode}\n />\n {nextLink}\n </div>\n </div>\n );\n};\n\nPopinHeader.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nPopinHeader.propTypes = {\n cta: NextQuestionPart.propTypes.cta,\n type: NextQuestionPart.propTypes.type,\n extraLifeGranted: NextQuestionPart.propTypes.extraLifeGranted,\n failed: NextQuestionPart.propTypes.failed,\n gameOver: NextQuestionPart.propTypes.gameOver,\n lives: NextQuestionPart.propTypes.lives,\n title: CorrectionPart.propTypes.title,\n subtitle: CorrectionPart.propTypes.subtitle,\n animated: CorrectionPart.propTypes.animated,\n stars: CorrectionPart.propTypes.stars,\n rank: CorrectionPart.propTypes.rank,\n corrections: CorrectionPart.propTypes.corrections,\n mode: PropTypes.oneOf(['scorm', 'default'])\n};\n\nexport default PopinHeader;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-player/popin-header/index.js"],"names":["separator","index","style","answerSeparator","joinBySeparator","elements","separators","length","AnswersCorrection","corrections","answers","map","correction","key","isCorrect","correctAnswer","wrongAnswer","innerHTML","__html","answer","fullAnswer","propTypes","PropTypes","arrayOf","shape","string","isRequired","bool","formatPlusSign","value","Rank","failed","rank","animated","onAnimationEnd","skin","positive","centerContent","bumped","iconBubble","icon","iconText","EASE_OUT_CUBIC","progress","Animation","contextTypes","Provider","childContextTypes","Stars","stars","Lifes","lives","revival","life","Life","count","IconsPart","props","iconsWrapper","AnimationScheduler","buildClass","success","loading","mode","scormStyle","getLinkStyle","gameOver","extraLifeGranted","oneMoreLife","renderIconStatusScorm","iconCloseContainer","iconSuccessContainer","failIcon","checkIcon","buildDefaultOrScormStyle","defaultStyle","styleScorm","failedStyle","CorrectionPart","title","subtitle","isLoading","className","correctionSectionEndSuccess","correctionSectionSuccess","correctionSectionFailGameOver","correctionSectionFail","correctionSectionLoading","resultContenantContainerScorm","titlesWrapper","titlesWrapperScorm","resultTitleScorm","resultSubtitleScorm","statusPlayerResultFailScorm","NextQuestionPart","context","cta","type","nextStepTitle","showNextLevel","linkProps","dataNext","nextStep","gameOverSubtitle","nextSection","wrapperNextSection","nextButton","nextButtonIcon","Link","oneOf","number","PopinHeader","state","nextLink","header","headerWithoutCTA","headerTitle"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n compact,\n flatten,\n get,\n isNil,\n pipe,\n times,\n zip,\n round,\n parseInt as _parseInt,\n multiply,\n isEmpty\n} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaSolidStatusClose as Close\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../../../atom/loader';\nimport Life from '../../../atom/life';\nimport Link from '../../../atom/link';\nimport Animation, {EASE_OUT_CUBIC} from '../../../hoc/animation';\nimport Transition from '../../../hoc/transition';\nimport AnimationScheduler, {AnimationAdapter} from '../../../hoc/animation-scheduler';\nimport Provider from '../../../atom/provider';\nimport style from './style.css';\n\nconst separator = index => (\n <span key={index} className={style.answerSeparator}>\n /\n </span>\n);\n\nconst joinBySeparator = elements => {\n const separators = times(separator, elements.length - 1);\n return pipe(zip, flatten, compact)(elements, separators);\n};\n\nconst AnswersCorrection = ({corrections}) => {\n const answers = corrections.map((correction, index) => {\n const key = `answer_${index}`;\n return (\n <span\n key={key}\n data-name=\"answer\"\n data-correct={correction.isCorrect}\n className={classnames(\n correction.isCorrect ? style.correctAnswer : style.wrongAnswer,\n style.innerHTML\n )}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: correction.answer}}\n />\n );\n }, corrections);\n return <p className={style.fullAnswer}>{joinBySeparator(answers)}</p>;\n};\n\nAnswersCorrection.propTypes = {\n corrections: PropTypes.arrayOf(\n PropTypes.shape({\n answer: PropTypes.string.isRequired,\n isCorrect: PropTypes.bool.isRequired\n })\n )\n};\n\nconst formatPlusSign = value => (value >= 0 ? '+' : '') + value;\n\nconst Rank = ({failed, rank, animated, onAnimationEnd}, {skin}) => {\n const positive = get('common.positive', skin);\n if (failed || isNil(rank)) return null;\n return (\n <AnimationScheduler animated={animated} onAnimationEnd={onAnimationEnd}>\n <div className={style.centerContent}>\n <Transition name=\"label\" after=\"counter\" className={style.bumped}>\n <div className={style.iconBubble}>\n <ChartsIcon className={style.icon} color={positive} />\n </div>\n </Transition>\n <span className={style.iconText}>\n <Animation name=\"counter\" bezier={EASE_OUT_CUBIC} duration={1000}>\n {progress => pipe(_parseInt(10), multiply(progress), round, formatPlusSign)(rank)}\n </Animation>\n </span>\n </div>\n </AnimationScheduler>\n );\n};\n\nRank.propTypes = {\n failed: PropTypes.bool,\n rank: PropTypes.string,\n animated: Animation.propTypes.animated,\n onAnimationEnd: Animation.propTypes.onAnimationEnd\n};\n\nRank.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nconst Stars = ({failed, stars, animated, onAnimationEnd}, {skin}) => {\n const positive = get('common.positive', skin);\n if (failed || isNil(stars)) return null;\n\n return (\n <AnimationScheduler animated={animated} onAnimationEnd={onAnimationEnd}>\n <div className={style.centerContent}>\n <Transition name=\"label\" after=\"counter\" className={style.bumped}>\n <div className={style.iconBubble}>\n <StarIcon className={style.icon} color={positive} />\n </div>\n </Transition>\n <span data-name=\"iconText\" className={style.iconText}>\n <Animation name=\"counter\" bezier={EASE_OUT_CUBIC} duration={1000}>\n {progress => pipe(_parseInt(10), multiply(progress), round, formatPlusSign)(stars)}\n </Animation>\n </span>\n </div>\n </AnimationScheduler>\n );\n};\n\nStars.propTypes = {\n failed: PropTypes.bool,\n stars: PropTypes.string,\n animated: Animation.propTypes.animated,\n onAnimationEnd: Animation.propTypes.onAnimationEnd\n};\n\nStars.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nconst Lifes = ({lives, failed, animated, revival}) => {\n if (isNil(lives)) return null;\n\n return (\n <Life\n failed={failed}\n count={lives}\n animated={animated}\n revival={revival}\n className={style.life}\n />\n );\n};\n\nLifes.propTypes = {\n lives: Life.propTypes.count,\n failed: Life.propTypes.failed,\n animated: Life.propTypes.animated,\n revival: Life.propTypes.revival\n};\n\nconst IconsPart = props => {\n const {lives, failed, stars, rank, animated, revival} = props;\n return (\n <AnimationScheduler animated>\n <div className={style.iconsWrapper}>\n <Lifes lives={lives} failed={failed} animated={animated} revival={revival} />\n\n <AnimationAdapter name=\"stars\">\n <Stars stars={stars} fail={failed} />\n </AnimationAdapter>\n <AnimationAdapter name=\"rank\" after=\"stars\">\n <Rank rank={rank} fail={failed} />\n </AnimationAdapter>\n </div>\n </AnimationScheduler>\n );\n};\n\nIconsPart.propTypes = {\n lives: Lifes.propTypes.lives,\n failed: Lifes.propTypes.failed,\n stars: Stars.propTypes.stars,\n rank: Rank.propTypes.rank,\n animated: AnimationScheduler.propTypes.animated,\n revival: PropTypes.bool\n};\n\nconst buildClass = (value, success, failed, loading, mode = 'default', scormStyle) => {\n if (loading && isNil(value)) return loading;\n if (mode === 'scorm') return scormStyle;\n return value ? failed : success;\n};\n\nconst getLinkStyle = ({gameOver, extraLifeGranted}) => {\n if (extraLifeGranted) {\n return style.oneMoreLife;\n } else if (gameOver) {\n return style.gameOver;\n } else {\n return null;\n }\n};\nconst renderIconStatusScorm = failed => {\n return (\n <div className={failed ? style.iconCloseContainer : style.iconSuccessContainer}>\n {failed ? <Close className={style.failIcon} /> : <CheckIcon className={style.checkIcon} />}\n </div>\n );\n};\nconst buildDefaultOrScormStyle = (\n defaultStyle,\n mode = 'default',\n styleScorm,\n failed,\n failedStyle = null\n) => {\n if (mode === 'scorm' && failed && failedStyle) return failedStyle;\n if (mode === 'scorm') return styleScorm;\n return defaultStyle;\n};\nconst CorrectionPart = props => {\n const {failed, corrections, title, subtitle, stars, rank, gameOver, mode = 'default'} = props;\n const isLoading = isNil(failed);\n const className = buildClass(\n failed,\n stars && rank ? style.correctionSectionEndSuccess : style.correctionSectionSuccess,\n gameOver ? style.correctionSectionFailGameOver : style.correctionSectionFail,\n style.correctionSectionLoading,\n mode,\n style.resultContenantContainerScorm\n );\n return (\n <div data-name=\"correctionSection\" className={className}>\n {mode === 'scorm' && renderIconStatusScorm(failed)}\n <div\n className={buildDefaultOrScormStyle(\n style.titlesWrapper,\n mode,\n style.titlesWrapperScorm,\n failed\n )}\n >\n {isLoading ? <Loader /> : null}\n <h1\n data-name=\"title\"\n className={buildDefaultOrScormStyle(\n classnames(style.title, style.innerHTML),\n mode,\n style.resultTitleScorm,\n failed\n )}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n <h2\n className={buildDefaultOrScormStyle(\n style.subtitle,\n mode,\n style.resultSubtitleScorm,\n failed,\n style.statusPlayerResultFailScorm\n )}\n >\n {subtitle}\n </h2>\n {failed && !isEmpty(corrections) ? <AnswersCorrection corrections={corrections} /> : null}\n </div>\n <IconsPart {...props} />\n </div>\n );\n};\n\nCorrectionPart.propTypes = {\n ...IconsPart.propTypes,\n failed: PropTypes.bool,\n corrections: AnswersCorrection.propTypes.corrections,\n title: PropTypes.string,\n subtitle: PropTypes.string,\n stars: PropTypes.string,\n rank: PropTypes.string,\n gameOver: PropTypes.bool\n};\n\nconst NextQuestionPart = (props, context) => {\n const {cta, type, extraLifeGranted, gameOver, failed = false, lives = 0} = props;\n const {title, nextStepTitle, showNextLevel = false, ...linkProps} = cta || {};\n let dataNext;\n\n switch (type) {\n case 'popinCorrection': {\n if (gameOver) {\n dataNext = 'game-over';\n } else if (failed) {\n if (lives > 0) {\n dataNext = 'continue-failure';\n } else if (extraLifeGranted) {\n dataNext = 'continue-used-extra-life';\n }\n } else {\n dataNext = 'continue-success';\n }\n break;\n }\n\n case 'popinEnd': {\n if (failed) {\n dataNext = 'redo-content';\n } else if (showNextLevel) {\n dataNext = 'next-level';\n } else {\n dataNext = 'home';\n }\n }\n }\n\n const nextStep = nextStepTitle ? (\n <div\n className={classnames(\n gameOver ? style.gameOverSubtitle : style.nextStepTitle,\n style.innerHTML\n )}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: nextStepTitle}}\n />\n ) : null;\n\n return (\n <Link\n {...linkProps}\n className={classnames(style.nextSection, getLinkStyle({gameOver, extraLifeGranted}))}\n data-name=\"nextLink\"\n data-popin={type}\n data-next={dataNext}\n >\n <div className={style.wrapperNextSection}>\n <div className={style.nextButton}>\n {title}\n <ArrowRight color=\"inherit\" className={style.nextButtonIcon} />\n </div>\n {nextStep}\n </div>\n </Link>\n );\n};\n\nNextQuestionPart.propTypes = {\n cta: PropTypes.shape({\n ...Link.propTypes,\n title: PropTypes.string,\n nextStepTitle: PropTypes.string,\n showNextLevel: PropTypes.bool\n }),\n type: PropTypes.oneOf(['popinCorrection', 'popinEnd']).isRequired,\n extraLifeGranted: PropTypes.bool,\n gameOver: PropTypes.bool,\n failed: PropTypes.bool,\n lives: PropTypes.number\n};\n\nconst PopinHeader = (props, context) => {\n const {\n animated,\n failed,\n title,\n subtitle,\n lives,\n stars,\n rank,\n corrections,\n cta,\n extraLifeGranted,\n gameOver = false,\n type,\n mode = 'default'\n } = props;\n\n const state = buildClass(failed, 'success', 'failed', null);\n\n const nextLink = cta ? (\n <NextQuestionPart\n cta={cta}\n type={type}\n extraLifeGranted={extraLifeGranted}\n failed={failed}\n gameOver={gameOver}\n lives={lives}\n />\n ) : null;\n\n return (\n <div\n className={cta ? style.header : style.headerWithoutCTA}\n data-name=\"popinHeader\"\n data-state={state}\n >\n <div className={mode !== 'scorm' ? style.headerTitle : null}>\n <CorrectionPart\n title={title}\n subtitle={subtitle}\n lives={lives}\n animated={animated}\n stars={stars}\n rank={rank}\n failed={failed}\n gameOver={gameOver}\n revival={extraLifeGranted}\n corrections={corrections}\n mode={mode}\n />\n {nextLink}\n </div>\n </div>\n );\n};\n\nPopinHeader.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nPopinHeader.propTypes = {\n cta: NextQuestionPart.propTypes.cta,\n type: NextQuestionPart.propTypes.type,\n extraLifeGranted: NextQuestionPart.propTypes.extraLifeGranted,\n failed: NextQuestionPart.propTypes.failed,\n gameOver: NextQuestionPart.propTypes.gameOver,\n lives: NextQuestionPart.propTypes.lives,\n title: CorrectionPart.propTypes.title,\n subtitle: CorrectionPart.propTypes.subtitle,\n animated: CorrectionPart.propTypes.animated,\n stars: CorrectionPart.propTypes.stars,\n rank: CorrectionPart.propTypes.rank,\n corrections: CorrectionPart.propTypes.corrections,\n mode: PropTypes.oneOf(['scorm', 'default'])\n};\n\nexport default PopinHeader;\n"],"file":"index.js"}
|
|
@@ -11,7 +11,7 @@ var _onboarding = _interopRequireDefault(require("./onboarding"));
|
|
|
11
11
|
|
|
12
12
|
var _skills = _interopRequireDefault(require("./skills"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _player = _interopRequireDefault(require("./player"));
|
|
15
15
|
|
|
16
16
|
var _propTypes = _interopRequireWildcard(require("./prop-types"));
|
|
17
17
|
|
|
@@ -25,7 +25,6 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
25
25
|
|
|
26
26
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
27
27
|
|
|
28
|
-
// -----------------------------------------------------------------------------
|
|
29
28
|
const AppReview = (_ref) => {
|
|
30
29
|
let {
|
|
31
30
|
viewName,
|
|
@@ -33,25 +32,24 @@ const AppReview = (_ref) => {
|
|
|
33
32
|
skills,
|
|
34
33
|
slides
|
|
35
34
|
} = _ref,
|
|
36
|
-
|
|
35
|
+
dispatchers = _objectWithoutPropertiesLoose(_ref, ["viewName", "onboarding", "skills", "slides"]);
|
|
37
36
|
|
|
38
37
|
switch (viewName) {
|
|
39
38
|
case _propTypes.ViewNames.skills:
|
|
40
|
-
return /*#__PURE__*/_react.default.createElement(_skills.default, _extends({}, skills,
|
|
39
|
+
return /*#__PURE__*/_react.default.createElement(_skills.default, _extends({}, skills, dispatchers));
|
|
41
40
|
|
|
42
41
|
case _propTypes.ViewNames.onboarding:
|
|
43
|
-
return /*#__PURE__*/_react.default.createElement(_onboarding.default, _extends({}, onboarding,
|
|
42
|
+
return /*#__PURE__*/_react.default.createElement(_onboarding.default, _extends({}, onboarding, dispatchers));
|
|
44
43
|
|
|
45
44
|
case _propTypes.ViewNames.slides:
|
|
46
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
45
|
+
return /*#__PURE__*/_react.default.createElement(_player.default, _extends({}, slides, dispatchers));
|
|
47
46
|
|
|
48
47
|
default:
|
|
49
48
|
return /*#__PURE__*/_react.default.createElement(_loader.default, null);
|
|
50
49
|
}
|
|
51
50
|
};
|
|
52
51
|
|
|
53
|
-
AppReview.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
|
|
54
|
-
|
|
52
|
+
AppReview.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
|
|
55
53
|
var _default = AppReview;
|
|
56
54
|
exports.default = _default;
|
|
57
55
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/template/app-review/index.js"],"names":["AppReview","viewName","onboarding","skills","slides","
|
|
1
|
+
{"version":3,"sources":["../../../src/template/app-review/index.js"],"names":["AppReview","viewName","onboarding","skills","slides","dispatchers","ViewNames","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,MAAMA,SAAS,GAAG,UAA4D;AAAA,MAA3D;AAACC,IAAAA,QAAD;AAAWC,IAAAA,UAAX;AAAuBC,IAAAA,MAAvB;AAA+BC,IAAAA;AAA/B,GAA2D;AAAA,MAAjBC,WAAiB;;AAC5E,UAAQJ,QAAR;AACE,SAAKK,qBAAUH,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBE,WAAxB,EAAP;;AACF,SAAKC,qBAAUJ,UAAf;AACE,0BAAO,6BAAC,mBAAD,eAAgBA,UAAhB,EAAgCG,WAAhC,EAAP;;AACF,SAAKC,qBAAUF,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBC,WAAxB,EAAP;;AACF;AACE,0BAAO,6BAAC,eAAD,OAAP;AARJ;AAUD,CAXD;;AAaAL,SAAS,CAACO,SAAV,2CAAsBA,kBAAtB;eAEeP,S","sourcesContent":["import React from 'react';\nimport Loader from '../../atom/loader';\nimport Onboarding from './onboarding';\nimport Skills from './skills';\nimport Player from './player';\nimport propTypes, {ViewNames} from './prop-types';\n\nconst AppReview = ({viewName, onboarding, skills, slides, ...dispatchers}) => {\n switch (viewName) {\n case ViewNames.skills:\n return <Skills {...skills} {...dispatchers} />;\n case ViewNames.onboarding:\n return <Onboarding {...onboarding} {...dispatchers} />;\n case ViewNames.slides:\n return <Player {...slides} {...dispatchers} />;\n default:\n return <Loader />;\n }\n};\n\nAppReview.propTypes = propTypes;\n\nexport default AppReview;\n"],"file":"index.js"}
|
|
@@ -9,7 +9,7 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireWildcard(require("./prop-types"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _player = _interopRequireDefault(require("./player"));
|
|
13
13
|
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
|
|
@@ -21,15 +21,13 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
21
21
|
|
|
22
22
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
23
23
|
|
|
24
|
-
// -----------------------------------------------------------------------------
|
|
25
24
|
const styles = _reactNative.StyleSheet.create({
|
|
26
25
|
rootView: {
|
|
27
26
|
flex: 1,
|
|
28
27
|
alignItems: 'center',
|
|
29
28
|
justifyContent: 'center'
|
|
30
29
|
}
|
|
31
|
-
});
|
|
32
|
-
|
|
30
|
+
});
|
|
33
31
|
|
|
34
32
|
const Switch = (_ref) => {
|
|
35
33
|
let {
|
|
@@ -46,13 +44,12 @@ const Switch = (_ref) => {
|
|
|
46
44
|
return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view onboarding");
|
|
47
45
|
|
|
48
46
|
case _propTypes.ViewNames.slides:
|
|
49
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
47
|
+
return /*#__PURE__*/_react.default.createElement(_player.default, _extends({}, slides, dispachers));
|
|
50
48
|
|
|
51
49
|
default:
|
|
52
50
|
return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view (none selected)");
|
|
53
51
|
}
|
|
54
|
-
};
|
|
55
|
-
|
|
52
|
+
};
|
|
56
53
|
|
|
57
54
|
const AppReview = props => {
|
|
58
55
|
const {
|
|
@@ -72,12 +69,10 @@ const AppReview = props => {
|
|
|
72
69
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
73
70
|
style: styles.rootView
|
|
74
71
|
}, /*#__PURE__*/_react.default.createElement(Switch, props));
|
|
75
|
-
};
|
|
76
|
-
|
|
72
|
+
};
|
|
77
73
|
|
|
78
74
|
AppReview.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
|
|
79
|
-
Switch.propTypes = process.env.NODE_ENV !== "production" ? AppReview.propTypes : {};
|
|
80
|
-
|
|
75
|
+
Switch.propTypes = process.env.NODE_ENV !== "production" ? AppReview.propTypes : {};
|
|
81
76
|
var _default = AppReview;
|
|
82
77
|
exports.default = _default;
|
|
83
78
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/template/app-review/index.native.js"],"names":["styles","StyleSheet","create","rootView","flex","alignItems","justifyContent","Switch","viewName","slides","dispachers","ViewNames","home","onboarding","AppReview","props","navigateBack","backAction","backHandler","BackHandler","addEventListener","remove","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA
|
|
1
|
+
{"version":3,"sources":["../../../src/template/app-review/index.native.js"],"names":["styles","StyleSheet","create","rootView","flex","alignItems","justifyContent","Switch","viewName","slides","dispachers","ViewNames","home","onboarding","AppReview","props","navigateBack","backAction","backHandler","BackHandler","addEventListener","remove","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,MAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,IAAI,EAAE,CADE;AAERC,IAAAA,UAAU,EAAE,QAFJ;AAGRC,IAAAA,cAAc,EAAE;AAHR;AADqB,CAAlB,CAAf;;AAQA,MAAMC,MAAM,GAAG,UAA2D;AAAA,MAA1D;AAACC,IAAAA,QAAD;AAA+BC,IAAAA;AAA/B,GAA0D;AAAA,MAAhBC,UAAgB;;AACxE,UAAQF,QAAR;AACE,SAAKG,qBAAUC,IAAf;AACE,0BAAO,6BAAC,iBAAD,oBAAP;;AACF,SAAKD,qBAAUE,UAAf;AACE,0BAAO,6BAAC,iBAAD,0BAAP;;AACF,SAAKF,qBAAUF,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;;AACF;AACE,0BAAO,6BAAC,iBAAD,+BAAP;AARJ;AAUD,CAXD;;AAaA,MAAMI,SAAS,GAAGC,KAAK,IAAI;AACzB,QAAM;AAACC,IAAAA;AAAD,MAAiBD,KAAvB;AAEA,wBAAU,MAAM;AACd,UAAME,UAAU,GAAG,MAAM;AACvBD,MAAAA,YAAY;AACZ,aAAO,IAAP;AACD,KAHD,CADc,CAMd;;;AACA,UAAME,WAAW,GAAGC,yBAAYC,gBAAZ,CAA6B,mBAA7B,EAAkDH,UAAlD,CAApB;;AAEA,WAAO,MAAMC,WAAW,CAACG,MAAZ,EAAb;AACD,GAVD,EAUG,CAACL,YAAD,CAVH;AAYA,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEhB,MAAM,CAACG;AAApB,kBACE,6BAAC,MAAD,EAAYY,KAAZ,CADF,CADF;AAKD,CApBD;;AAsBAD,SAAS,CAACQ,SAAV,2CAAsBA,kBAAtB;AACAf,MAAM,CAACe,SAAP,2CAAmBR,SAAS,CAACQ,SAA7B;eAEeR,S","sourcesContent":["import React, {useEffect} from 'react';\nimport {Text, StyleSheet, View, BackHandler} from 'react-native';\nimport propTypes, {ViewNames} from './prop-types';\nimport Player from './player';\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n }\n});\n\nconst Switch = ({viewName, onboarding, skills, slides, ...dispachers}) => {\n switch (viewName) {\n case ViewNames.home:\n return <Text>view home</Text>;\n case ViewNames.onboarding:\n return <Text>view onboarding</Text>;\n case ViewNames.slides:\n return <Player {...slides} {...dispachers} />;\n default:\n return <Text>view (none selected)</Text>;\n }\n};\n\nconst AppReview = props => {\n const {navigateBack} = props;\n\n useEffect(() => {\n const backAction = () => {\n navigateBack();\n return true;\n };\n\n // https://reactnative.dev/docs/backhandler\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [navigateBack]);\n\n return (\n <View style={styles.rootView}>\n <Switch {...props} />\n </View>\n );\n};\n\nAppReview.propTypes = propTypes;\nSwitch.propTypes = AppReview.propTypes;\n\nexport default AppReview;\n"],"file":"index.native.js"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
|
|
8
|
+
var _isNil = _interopRequireDefault(require("lodash/fp/isNil"));
|
|
9
|
+
|
|
10
|
+
var _reviewBackground = _interopRequireDefault(require("../../../atom/review-background"));
|
|
11
|
+
|
|
12
|
+
var _reviewCongrats = _interopRequireDefault(require("../../../organism/review-congrats"));
|
|
13
|
+
|
|
14
|
+
var _reviewHeader = _interopRequireDefault(require("../../../organism/review-header"));
|
|
15
|
+
|
|
16
|
+
var _reviewStackedSlides = _interopRequireDefault(require("../../../organism/review-stacked-slides"));
|
|
17
|
+
|
|
18
|
+
var _style = _interopRequireDefault(require("./style.css"));
|
|
19
|
+
|
|
20
|
+
var _propTypes = require("./prop-types");
|
|
21
|
+
|
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
+
|
|
24
|
+
const PlayerReview = ({
|
|
25
|
+
header,
|
|
26
|
+
stack,
|
|
27
|
+
reviewBackgroundAriaLabel,
|
|
28
|
+
congratsProps
|
|
29
|
+
}) => {
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
31
|
+
key: "review-player-container",
|
|
32
|
+
"data-name": "review-player-container",
|
|
33
|
+
className: _style.default.playerReviewContainer
|
|
34
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
35
|
+
key: "player-background-container",
|
|
36
|
+
className: _style.default.playerBackground
|
|
37
|
+
}, /*#__PURE__*/_react.default.createElement(_reviewBackground.default, {
|
|
38
|
+
"aria-label": reviewBackgroundAriaLabel
|
|
39
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
40
|
+
key: "review-header-wrapper",
|
|
41
|
+
className: _style.default.reviewHeaderContainer
|
|
42
|
+
}, /*#__PURE__*/_react.default.createElement(_reviewHeader.default, header)), /*#__PURE__*/_react.default.createElement(_reviewStackedSlides.default, stack), (0, _isNil.default)(congratsProps) ? null : /*#__PURE__*/_react.default.createElement("div", {
|
|
43
|
+
className: _style.default.congrats,
|
|
44
|
+
"data-name": "congrats-container"
|
|
45
|
+
}, /*#__PURE__*/_react.default.createElement(_reviewCongrats.default, congratsProps)));
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
PlayerReview.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.PlayerReviewPropTypes : {};
|
|
49
|
+
var _default = PlayerReview;
|
|
50
|
+
exports.default = _default;
|
|
51
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-review/player/index.js"],"names":["PlayerReview","header","stack","reviewBackgroundAriaLabel","congratsProps","style","playerReviewContainer","playerBackground","reviewHeaderContainer","congrats","propTypes","PlayerReviewPropTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,YAAY,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA,KAAT;AAAgBC,EAAAA,yBAAhB;AAA2CC,EAAAA;AAA3C,CAAD,KAA+D;AAClF,sBACE;AACE,IAAA,GAAG,EAAC,yBADN;AAEE,iBAAU,yBAFZ;AAGE,IAAA,SAAS,EAAEC,eAAMC;AAHnB,kBAKE;AAAK,IAAA,GAAG,EAAC,6BAAT;AAAuC,IAAA,SAAS,EAAED,eAAME;AAAxD,kBACE,6BAAC,yBAAD;AAAkB,kBAAYJ;AAA9B,IADF,CALF,eASE;AAAK,IAAA,GAAG,EAAC,uBAAT;AAAiC,IAAA,SAAS,EAAEE,eAAMG;AAAlD,kBACE,6BAAC,qBAAD,EAAkBP,MAAlB,CADF,CATF,eAaE,6BAAC,4BAAD,EAAmBC,KAAnB,CAbF,EAeG,oBAAME,aAAN,IAAuB,IAAvB,gBACC;AAAK,IAAA,SAAS,EAAEC,eAAMI,QAAtB;AAAgC,iBAAU;AAA1C,kBACE,6BAAC,uBAAD,EAAoBL,aAApB,CADF,CAhBJ,CADF;AAuBD,CAxBD;;AA0BAJ,YAAY,CAACU,SAAb,2CAAyBC,gCAAzB;eAEeX,Y","sourcesContent":["import React from 'react';\nimport isNil from 'lodash/fp/isNil';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewHeader from '../../../organism/review-header';\nimport StackedSlides from '../../../organism/review-stacked-slides';\nimport style from './style.css';\nimport {PlayerReviewPropTypes} from './prop-types';\n\nconst PlayerReview = ({header, stack, reviewBackgroundAriaLabel, congratsProps}) => {\n return (\n <div\n key=\"review-player-container\"\n data-name=\"review-player-container\"\n className={style.playerReviewContainer}\n >\n <div key=\"player-background-container\" className={style.playerBackground}>\n <ReviewBackground aria-label={reviewBackgroundAriaLabel} />\n </div>\n\n <div key=\"review-header-wrapper\" className={style.reviewHeaderContainer}>\n <ReviewHeader {...header} />\n </div>\n\n <StackedSlides {...stack} />\n\n {isNil(congratsProps) ? null : (\n <div className={style.congrats} data-name=\"congrats-container\">\n <ReviewCongrats {...congratsProps} />\n </div>\n )}\n </div>\n );\n};\n\nPlayerReview.propTypes = PlayerReviewPropTypes;\n\nexport default PlayerReview;\n"],"file":"index.js"}
|
|
@@ -141,8 +141,7 @@ const choicesStyle = _reactNative.StyleSheet.create({
|
|
|
141
141
|
justifyContent: 'center',
|
|
142
142
|
alignItems: 'center'
|
|
143
143
|
}
|
|
144
|
-
});
|
|
145
|
-
|
|
144
|
+
});
|
|
146
145
|
/* {choices.map(({text, selected = false}: _Choice_) => { */
|
|
147
146
|
|
|
148
147
|
|
|
@@ -168,7 +167,7 @@ Choices.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
168
167
|
text: _propTypes.default.text,
|
|
169
168
|
selected: _propTypes.default.bool
|
|
170
169
|
})
|
|
171
|
-
} : {};
|
|
170
|
+
} : {};
|
|
172
171
|
|
|
173
172
|
const Slide = props => {
|
|
174
173
|
const {
|
|
@@ -238,16 +237,20 @@ const Slide = props => {
|
|
|
238
237
|
onPress: validateSlide,
|
|
239
238
|
testID: `button-quizzer-validate`
|
|
240
239
|
}, validateLabel));
|
|
241
|
-
}; //
|
|
242
|
-
// const Slides = ({slide}: Props) => {
|
|
240
|
+
}; // const Slides = ({slide}: Props) => {
|
|
243
241
|
|
|
244
242
|
|
|
245
|
-
const Slides =
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
}
|
|
243
|
+
const Slides = props => {
|
|
244
|
+
const {
|
|
245
|
+
stack
|
|
246
|
+
} = props;
|
|
247
|
+
const {
|
|
248
|
+
slides,
|
|
249
|
+
validateButton: validateSlide
|
|
250
|
+
} = stack;
|
|
251
|
+
|
|
249
252
|
if (!slides) {
|
|
250
|
-
return null;
|
|
253
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, null);
|
|
251
254
|
}
|
|
252
255
|
|
|
253
256
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
@@ -260,8 +263,7 @@ const Slides = ({
|
|
|
260
263
|
}));
|
|
261
264
|
};
|
|
262
265
|
|
|
263
|
-
Slides.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.
|
|
264
|
-
|
|
266
|
+
Slides.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.PlayerReviewPropTypes : {};
|
|
265
267
|
var _default = Slides;
|
|
266
268
|
exports.default = _default;
|
|
267
269
|
//# sourceMappingURL=index.native.js.map
|