@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.
Files changed (127) hide show
  1. package/es/atom/choice/index.native.js +1 -1
  2. package/es/atom/choice/index.native.js.map +1 -1
  3. package/es/atom/{image-backgound → image-background}/index.native.js +0 -0
  4. package/es/atom/image-background/index.native.js.map +1 -0
  5. package/es/atom/resource-miniature/index.js +1 -2
  6. package/es/atom/resource-miniature/index.js.map +1 -1
  7. package/es/atom/resource-miniature/style.css +4 -0
  8. package/es/molecule/cm-popin/index.js +4 -2
  9. package/es/molecule/cm-popin/index.js.map +1 -1
  10. package/es/molecule/review-correction-popin/prop-types.js +0 -1
  11. package/es/molecule/review-correction-popin/prop-types.js.map +1 -1
  12. package/es/organism/review-congrats/style.css +1 -1
  13. package/es/organism/review-slide/index.js +184 -0
  14. package/es/organism/review-slide/index.js.map +1 -0
  15. package/es/organism/review-slide/prop-types.js +37 -0
  16. package/es/organism/review-slide/prop-types.js.map +1 -0
  17. package/es/organism/review-slide/style.css +171 -0
  18. package/es/organism/review-stacked-slides/index.js +81 -0
  19. package/es/organism/review-stacked-slides/index.js.map +1 -0
  20. package/es/organism/review-stacked-slides/prop-types.js +16 -0
  21. package/es/organism/review-stacked-slides/prop-types.js.map +1 -0
  22. package/es/organism/review-stacked-slides/style.css +179 -0
  23. package/es/template/app-player/player/slides/header/learner.css +4 -0
  24. package/es/template/app-player/player/slides/header/learner.js +2 -3
  25. package/es/template/app-player/player/slides/header/learner.js.map +1 -1
  26. package/es/template/app-player/player/slides/header/microlearning.css +4 -0
  27. package/es/template/app-player/player/slides/header/microlearning.js +1 -2
  28. package/es/template/app-player/player/slides/header/microlearning.js.map +1 -1
  29. package/es/template/app-player/player/slides/index.js +3 -4
  30. package/es/template/app-player/player/slides/index.js.map +1 -1
  31. package/es/template/app-player/player/slides/style.css +5 -0
  32. package/es/template/app-player/popin-correction/index.js +3 -4
  33. package/es/template/app-player/popin-correction/index.js.map +1 -1
  34. package/es/template/app-player/popin-correction/style.css +4 -0
  35. package/es/template/app-player/popin-end/summary.css +4 -0
  36. package/es/template/app-player/popin-end/summary.js +3 -4
  37. package/es/template/app-player/popin-end/summary.js.map +1 -1
  38. package/es/template/app-player/popin-header/index.js +3 -4
  39. package/es/template/app-player/popin-header/index.js.map +1 -1
  40. package/es/template/app-player/popin-header/style.css +4 -0
  41. package/es/template/app-review/index.js +7 -8
  42. package/es/template/app-review/index.js.map +1 -1
  43. package/es/template/app-review/index.native.js +6 -10
  44. package/es/template/app-review/index.native.js.map +1 -1
  45. package/es/template/app-review/player/index.js +36 -0
  46. package/es/template/app-review/player/index.js.map +1 -0
  47. package/es/template/app-review/{slides → player}/index.native.js +15 -13
  48. package/es/template/app-review/player/index.native.js.map +1 -0
  49. package/es/template/app-review/player/prop-types.js +12 -0
  50. package/es/template/app-review/player/prop-types.js.map +1 -0
  51. package/es/template/app-review/player/style.css +41 -0
  52. package/es/template/app-review/prop-types.js +3 -3
  53. package/es/template/app-review/prop-types.js.map +1 -1
  54. package/es/template/common/authors/index.js +1 -2
  55. package/es/template/common/authors/index.js.map +1 -1
  56. package/es/template/common/authors/style.css +4 -0
  57. package/lib/atom/choice/index.native.js +1 -1
  58. package/lib/atom/choice/index.native.js.map +1 -1
  59. package/lib/atom/{image-backgound → image-background}/index.native.js +0 -0
  60. package/lib/atom/image-background/index.native.js.map +1 -0
  61. package/lib/atom/resource-miniature/index.js +9 -11
  62. package/lib/atom/resource-miniature/index.js.map +1 -1
  63. package/lib/atom/resource-miniature/style.css +4 -0
  64. package/lib/molecule/cm-popin/index.js +4 -2
  65. package/lib/molecule/cm-popin/index.js.map +1 -1
  66. package/lib/molecule/review-correction-popin/prop-types.js +0 -1
  67. package/lib/molecule/review-correction-popin/prop-types.js.map +1 -1
  68. package/lib/organism/review-congrats/style.css +1 -1
  69. package/lib/organism/review-slide/index.js +206 -0
  70. package/lib/organism/review-slide/index.js.map +1 -0
  71. package/lib/organism/review-slide/prop-types.js +50 -0
  72. package/lib/organism/review-slide/prop-types.js.map +1 -0
  73. package/lib/organism/review-slide/style.css +171 -0
  74. package/lib/organism/review-stacked-slides/index.js +99 -0
  75. package/lib/organism/review-stacked-slides/index.js.map +1 -0
  76. package/lib/organism/review-stacked-slides/prop-types.js +30 -0
  77. package/lib/organism/review-stacked-slides/prop-types.js.map +1 -0
  78. package/lib/organism/review-stacked-slides/style.css +179 -0
  79. package/lib/template/app-player/player/slides/header/learner.css +4 -0
  80. package/lib/template/app-player/player/slides/header/learner.js +2 -4
  81. package/lib/template/app-player/player/slides/header/learner.js.map +1 -1
  82. package/lib/template/app-player/player/slides/header/microlearning.css +4 -0
  83. package/lib/template/app-player/player/slides/header/microlearning.js +1 -3
  84. package/lib/template/app-player/player/slides/header/microlearning.js.map +1 -1
  85. package/lib/template/app-player/player/slides/index.js +23 -25
  86. package/lib/template/app-player/player/slides/index.js.map +1 -1
  87. package/lib/template/app-player/player/slides/style.css +5 -0
  88. package/lib/template/app-player/popin-correction/index.js +20 -22
  89. package/lib/template/app-player/popin-correction/index.js.map +1 -1
  90. package/lib/template/app-player/popin-correction/style.css +4 -0
  91. package/lib/template/app-player/popin-end/summary.css +4 -0
  92. package/lib/template/app-player/popin-end/summary.js +3 -5
  93. package/lib/template/app-player/popin-end/summary.js.map +1 -1
  94. package/lib/template/app-player/popin-header/index.js +32 -34
  95. package/lib/template/app-player/popin-header/index.js.map +1 -1
  96. package/lib/template/app-player/popin-header/style.css +4 -0
  97. package/lib/template/app-review/index.js +6 -8
  98. package/lib/template/app-review/index.js.map +1 -1
  99. package/lib/template/app-review/index.native.js +6 -11
  100. package/lib/template/app-review/index.native.js.map +1 -1
  101. package/lib/template/app-review/player/index.js +51 -0
  102. package/lib/template/app-review/player/index.js.map +1 -0
  103. package/lib/template/app-review/{slides → player}/index.native.js +14 -12
  104. package/lib/template/app-review/player/index.native.js.map +1 -0
  105. package/lib/template/app-review/player/prop-types.js +25 -0
  106. package/lib/template/app-review/player/prop-types.js.map +1 -0
  107. package/lib/template/app-review/player/style.css +41 -0
  108. package/lib/template/app-review/prop-types.js +3 -3
  109. package/lib/template/app-review/prop-types.js.map +1 -1
  110. package/lib/template/common/authors/index.js +15 -17
  111. package/lib/template/common/authors/index.js.map +1 -1
  112. package/lib/template/common/authors/style.css +4 -0
  113. package/package.json +2 -2
  114. package/es/atom/image-backgound/index.native.js.map +0 -1
  115. package/es/template/app-review/slides/index.js +0 -352
  116. package/es/template/app-review/slides/index.js.map +0 -1
  117. package/es/template/app-review/slides/index.native.js.map +0 -1
  118. package/es/template/app-review/slides/prop-types.js +0 -111
  119. package/es/template/app-review/slides/prop-types.js.map +0 -1
  120. package/es/template/app-review/slides/style.css +0 -409
  121. package/lib/atom/image-backgound/index.native.js.map +0 -1
  122. package/lib/template/app-review/slides/index.js +0 -385
  123. package/lib/template/app-review/slides/index.js.map +0 -1
  124. package/lib/template/app-review/slides/index.native.js.map +0 -1
  125. package/lib/template/app-review/slides/prop-types.js +0 -131
  126. package/lib/template/app-review/slides/prop-types.js.map +0 -1
  127. 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("../../../atom/label/style.css");
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: _style2.default.answerSeparator
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 ? _style2.default.correctAnswer : _style2.default.wrongAnswer, _style.innerHTML) // eslint-disable-next-line react/no-danger
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: _style2.default.fullAnswer
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: _style2.default.centerContent
116
+ className: _style.default.centerContent
119
117
  }, /*#__PURE__*/_react.default.createElement(_transition.default, {
120
118
  name: "label",
121
119
  after: "counter",
122
- className: _style2.default.bumped
120
+ className: _style.default.bumped
123
121
  }, /*#__PURE__*/_react.default.createElement("div", {
124
- className: _style2.default.iconBubble
122
+ className: _style.default.iconBubble
125
123
  }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyCharts, {
126
- className: _style2.default.icon,
124
+ className: _style.default.icon,
127
125
  color: positive
128
126
  }))), /*#__PURE__*/_react.default.createElement("span", {
129
- className: _style2.default.iconText
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: _style2.default.centerContent
159
+ className: _style.default.centerContent
162
160
  }, /*#__PURE__*/_react.default.createElement(_transition.default, {
163
161
  name: "label",
164
162
  after: "counter",
165
- className: _style2.default.bumped
163
+ className: _style.default.bumped
166
164
  }, /*#__PURE__*/_react.default.createElement("div", {
167
- className: _style2.default.iconBubble
165
+ className: _style.default.iconBubble
168
166
  }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyStar, {
169
- className: _style2.default.icon,
167
+ className: _style.default.icon,
170
168
  color: positive
171
169
  }))), /*#__PURE__*/_react.default.createElement("span", {
172
170
  "data-name": "iconText",
173
- className: _style2.default.iconText
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: _style2.default.life
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: _style2.default.iconsWrapper
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 _style2.default.oneMoreLife;
264
+ return _style.default.oneMoreLife;
267
265
  } else if (gameOver) {
268
- return _style2.default.gameOver;
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 ? _style2.default.iconCloseContainer : _style2.default.iconSuccessContainer
274
+ className: failed ? _style.default.iconCloseContainer : _style.default.iconSuccessContainer
277
275
  }, failed ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidStatusClose, {
278
- className: _style2.default.failIcon
276
+ className: _style.default.failIcon
279
277
  }) : /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyCheck, {
280
- className: _style2.default.checkIcon
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 ? _style2.default.correctionSectionEndSuccess : _style2.default.correctionSectionSuccess, gameOver ? _style2.default.correctionSectionFailGameOver : _style2.default.correctionSectionFail, _style2.default.correctionSectionLoading, mode, _style2.default.resultContenantContainerScorm);
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(_style2.default.titlesWrapper, mode, _style2.default.titlesWrapperScorm, failed)
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)(_style2.default.title, _style.innerHTML), mode, _style2.default.resultTitleScorm, failed) // eslint-disable-next-line react/no-danger
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(_style2.default.subtitle, mode, _style2.default.resultSubtitleScorm, failed, _style2.default.statusPlayerResultFailScorm)
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 ? _style2.default.gameOverSubtitle : _style2.default.nextStepTitle, _style.innerHTML) // eslint-disable-next-line react/no-danger
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)(_style2.default.nextSection, getLinkStyle({
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: _style2.default.wrapperNextSection
396
+ className: _style.default.wrapperNextSection
399
397
  }, /*#__PURE__*/_react.default.createElement("div", {
400
- className: _style2.default.nextButton
398
+ className: _style.default.nextButton
401
399
  }, title, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowRight, {
402
400
  color: "inherit",
403
- className: _style2.default.nextButtonIcon
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 ? _style2.default.header : _style2.default.headerWithoutCTA,
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' ? _style2.default.headerTitle : null
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAcA;;AAOA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,MAAMA,SAAS,GAAGC,KAAK,iBACrB;AAAM,EAAA,GAAG,EAAEA,KAAX;AAAkB,EAAA,SAAS,EAAEC,gBAAMC;AAAnC,OADF;;AAMA,MAAMC,eAAe,GAAGC,QAAQ,IAAI;AAClC,QAAMC,UAAU,GAAG,qBAAMN,SAAN,EAAiBK,QAAQ,CAACE,MAAT,GAAkB,CAAnC,CAAnB;AACA,SAAO,yEAA4BF,QAA5B,EAAsCC,UAAtC,CAAP;AACD,CAHD;;AAKA,MAAME,iBAAiB,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,KAAmB;AAC3C,QAAMC,OAAO,GAAGD,WAAW,CAACE,GAAZ,CAAgB,CAACC,UAAD,EAAaX,KAAb,KAAuB;AACrD,UAAMY,GAAG,GAAI,UAASZ,KAAM,EAA5B;AACA,wBACE;AACE,MAAA,GAAG,EAAEY,GADP;AAEE,mBAAU,QAFZ;AAGE,sBAAcD,UAAU,CAACE,SAH3B;AAIE,MAAA,SAAS,EAAE,yBACTF,UAAU,CAACE,SAAX,GAAuBZ,gBAAMa,aAA7B,GAA6Cb,gBAAMc,WAD1C,EAETC,gBAFS,CAJb,CAQE;AARF;AASE,MAAA,uBAAuB,EAAE;AAACC,QAAAA,MAAM,EAAEN,UAAU,CAACO;AAApB;AAT3B,MADF;AAaD,GAfe,EAebV,WAfa,CAAhB;AAgBA,sBAAO;AAAG,IAAA,SAAS,EAAEP,gBAAMkB;AAApB,KAAiChB,eAAe,CAACM,OAAD,CAAhD,CAAP;AACD,CAlBD;;AAoBAF,iBAAiB,CAACa,SAAlB,2CAA8B;AAC5BZ,EAAAA,WAAW,EAAEa,mBAAUC,OAAV,CACXD,mBAAUE,KAAV,CAAgB;AACdL,IAAAA,MAAM,EAAEG,mBAAUG,MAAV,CAAiBC,UADX;AAEdZ,IAAAA,SAAS,EAAEQ,mBAAUK,IAAV,CAAeD;AAFZ,GAAhB,CADW;AADe,CAA9B;;AASA,MAAME,cAAc,GAAGC,KAAK,IAAI,CAACA,KAAK,IAAI,CAAT,GAAa,GAAb,GAAmB,EAApB,IAA0BA,KAA1D;;AAEA,MAAMC,IAAI,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA,IAAT;AAAeC,EAAAA,QAAf;AAAyBC,EAAAA;AAAzB,CAAD,EAA2C;AAACC,EAAAA;AAAD,CAA3C,KAAsD;AACjE,QAAMC,QAAQ,GAAG,mBAAI,iBAAJ,EAAuBD,IAAvB,CAAjB;AACA,MAAIJ,MAAM,IAAI,qBAAMC,IAAN,CAAd,EAA2B,OAAO,IAAP;AAC3B,sBACE,6BAAC,2BAAD;AAAoB,IAAA,QAAQ,EAAEC,QAA9B;AAAwC,IAAA,cAAc,EAAEC;AAAxD,kBACE;AAAK,IAAA,SAAS,EAAEhC,gBAAMmC;AAAtB,kBACE,6BAAC,mBAAD;AAAY,IAAA,IAAI,EAAC,OAAjB;AAAyB,IAAA,KAAK,EAAC,SAA/B;AAAyC,IAAA,SAAS,EAAEnC,gBAAMoC;AAA1D,kBACE;AAAK,IAAA,SAAS,EAAEpC,gBAAMqC;AAAtB,kBACE,6BAAC,4CAAD;AAAY,IAAA,SAAS,EAAErC,gBAAMsC,IAA7B;AAAmC,IAAA,KAAK,EAAEJ;AAA1C,IADF,CADF,CADF,eAME;AAAM,IAAA,SAAS,EAAElC,gBAAMuC;AAAvB,kBACE,6BAAC,kBAAD;AAAW,IAAA,IAAI,EAAC,SAAhB;AAA0B,IAAA,MAAM,EAAEC,yBAAlC;AAAkD,IAAA,QAAQ,EAAE;AAA5D,KACGC,QAAQ,IAAI,oBAAK,wBAAU,EAAV,CAAL,EAAoB,wBAASA,QAAT,CAApB,mBAA+Cf,cAA/C,EAA+DI,IAA/D,CADf,CADF,CANF,CADF,CADF;AAgBD,CAnBD;;AAqBAF,IAAI,CAACT,SAAL,2CAAiB;AACfU,EAAAA,MAAM,EAAET,mBAAUK,IADH;AAEfK,EAAAA,IAAI,EAAEV,mBAAUG,MAFD;AAGfQ,EAAAA,QAAQ,EAAEW,mBAAUvB,SAAV,CAAoBY,QAHf;AAIfC,EAAAA,cAAc,EAAEU,mBAAUvB,SAAV,CAAoBa;AAJrB,CAAjB;AAOAJ,IAAI,CAACe,YAAL,GAAoB;AAClBV,EAAAA,IAAI,EAAEW,kBAASC,iBAAT,CAA2BZ;AADf,CAApB;;AAIA,MAAMa,KAAK,GAAG,CAAC;AAACjB,EAAAA,MAAD;AAASkB,EAAAA,KAAT;AAAgBhB,EAAAA,QAAhB;AAA0BC,EAAAA;AAA1B,CAAD,EAA4C;AAACC,EAAAA;AAAD,CAA5C,KAAuD;AACnE,QAAMC,QAAQ,GAAG,mBAAI,iBAAJ,EAAuBD,IAAvB,CAAjB;AACA,MAAIJ,MAAM,IAAI,qBAAMkB,KAAN,CAAd,EAA4B,OAAO,IAAP;AAE5B,sBACE,6BAAC,2BAAD;AAAoB,IAAA,QAAQ,EAAEhB,QAA9B;AAAwC,IAAA,cAAc,EAAEC;AAAxD,kBACE;AAAK,IAAA,SAAS,EAAEhC,gBAAMmC;AAAtB,kBACE,6BAAC,mBAAD;AAAY,IAAA,IAAI,EAAC,OAAjB;AAAyB,IAAA,KAAK,EAAC,SAA/B;AAAyC,IAAA,SAAS,EAAEnC,gBAAMoC;AAA1D,kBACE;AAAK,IAAA,SAAS,EAAEpC,gBAAMqC;AAAtB,kBACE,6BAAC,0CAAD;AAAU,IAAA,SAAS,EAAErC,gBAAMsC,IAA3B;AAAiC,IAAA,KAAK,EAAEJ;AAAxC,IADF,CADF,CADF,eAME;AAAM,iBAAU,UAAhB;AAA2B,IAAA,SAAS,EAAElC,gBAAMuC;AAA5C,kBACE,6BAAC,kBAAD;AAAW,IAAA,IAAI,EAAC,SAAhB;AAA0B,IAAA,MAAM,EAAEC,yBAAlC;AAAkD,IAAA,QAAQ,EAAE;AAA5D,KACGC,QAAQ,IAAI,oBAAK,wBAAU,EAAV,CAAL,EAAoB,wBAASA,QAAT,CAApB,mBAA+Cf,cAA/C,EAA+DqB,KAA/D,CADf,CADF,CANF,CADF,CADF;AAgBD,CApBD;;AAsBAD,KAAK,CAAC3B,SAAN,2CAAkB;AAChBU,EAAAA,MAAM,EAAET,mBAAUK,IADF;AAEhBsB,EAAAA,KAAK,EAAE3B,mBAAUG,MAFD;AAGhBQ,EAAAA,QAAQ,EAAEW,mBAAUvB,SAAV,CAAoBY,QAHd;AAIhBC,EAAAA,cAAc,EAAEU,mBAAUvB,SAAV,CAAoBa;AAJpB,CAAlB;AAOAc,KAAK,CAACH,YAAN,GAAqB;AACnBV,EAAAA,IAAI,EAAEW,kBAASC,iBAAT,CAA2BZ;AADd,CAArB;;AAIA,MAAMe,KAAK,GAAG,CAAC;AAACC,EAAAA,KAAD;AAAQpB,EAAAA,MAAR;AAAgBE,EAAAA,QAAhB;AAA0BmB,EAAAA;AAA1B,CAAD,KAAwC;AACpD,MAAI,qBAAMD,KAAN,CAAJ,EAAkB,OAAO,IAAP;AAElB,sBACE,6BAAC,aAAD;AACE,IAAA,MAAM,EAAEpB,MADV;AAEE,IAAA,KAAK,EAAEoB,KAFT;AAGE,IAAA,QAAQ,EAAElB,QAHZ;AAIE,IAAA,OAAO,EAAEmB,OAJX;AAKE,IAAA,SAAS,EAAElD,gBAAMmD;AALnB,IADF;AASD,CAZD;;AAcAH,KAAK,CAAC7B,SAAN,2CAAkB;AAChB8B,EAAAA,KAAK,EAAEG,cAAKjC,SAAL,CAAekC,KADN;AAEhBxB,EAAAA,MAAM,EAAEuB,cAAKjC,SAAL,CAAeU,MAFP;AAGhBE,EAAAA,QAAQ,EAAEqB,cAAKjC,SAAL,CAAeY,QAHT;AAIhBmB,EAAAA,OAAO,EAAEE,cAAKjC,SAAL,CAAe+B;AAJR,CAAlB;;AAOA,MAAMI,SAAS,GAAGC,KAAK,IAAI;AACzB,QAAM;AAACN,IAAAA,KAAD;AAAQpB,IAAAA,MAAR;AAAgBkB,IAAAA,KAAhB;AAAuBjB,IAAAA,IAAvB;AAA6BC,IAAAA,QAA7B;AAAuCmB,IAAAA;AAAvC,MAAkDK,KAAxD;AACA,sBACE,6BAAC,2BAAD;AAAoB,IAAA,QAAQ;AAA5B,kBACE;AAAK,IAAA,SAAS,EAAEvD,gBAAMwD;AAAtB,kBACE,6BAAC,KAAD;AAAO,IAAA,KAAK,EAAEP,KAAd;AAAqB,IAAA,MAAM,EAAEpB,MAA7B;AAAqC,IAAA,QAAQ,EAAEE,QAA/C;AAAyD,IAAA,OAAO,EAAEmB;AAAlE,IADF,eAGE,6BAAC,oCAAD;AAAkB,IAAA,IAAI,EAAC;AAAvB,kBACE,6BAAC,KAAD;AAAO,IAAA,KAAK,EAAEH,KAAd;AAAqB,IAAA,IAAI,EAAElB;AAA3B,IADF,CAHF,eAME,6BAAC,oCAAD;AAAkB,IAAA,IAAI,EAAC,MAAvB;AAA8B,IAAA,KAAK,EAAC;AAApC,kBACE,6BAAC,IAAD;AAAM,IAAA,IAAI,EAAEC,IAAZ;AAAkB,IAAA,IAAI,EAAED;AAAxB,IADF,CANF,CADF,CADF;AAcD,CAhBD;;AAkBAyB,SAAS,CAACnC,SAAV,2CAAsB;AACpB8B,EAAAA,KAAK,EAAED,KAAK,CAAC7B,SAAN,CAAgB8B,KADH;AAEpBpB,EAAAA,MAAM,EAAEmB,KAAK,CAAC7B,SAAN,CAAgBU,MAFJ;AAGpBkB,EAAAA,KAAK,EAAED,KAAK,CAAC3B,SAAN,CAAgB4B,KAHH;AAIpBjB,EAAAA,IAAI,EAAEF,IAAI,CAACT,SAAL,CAAeW,IAJD;AAKpBC,EAAAA,QAAQ,EAAE0B,4BAAmBtC,SAAnB,CAA6BY,QALnB;AAMpBmB,EAAAA,OAAO,EAAE9B,mBAAUK;AANC,CAAtB;;AASA,MAAMiC,UAAU,GAAG,CAAC/B,KAAD,EAAQgC,OAAR,EAAiB9B,MAAjB,EAAyB+B,OAAzB,EAAkCC,IAAI,GAAG,SAAzC,EAAoDC,UAApD,KAAmE;AACpF,MAAIF,OAAO,IAAI,qBAAMjC,KAAN,CAAf,EAA6B,OAAOiC,OAAP;AAC7B,MAAIC,IAAI,KAAK,OAAb,EAAsB,OAAOC,UAAP;AACtB,SAAOnC,KAAK,GAAGE,MAAH,GAAY8B,OAAxB;AACD,CAJD;;AAMA,MAAMI,YAAY,GAAG,CAAC;AAACC,EAAAA,QAAD;AAAWC,EAAAA;AAAX,CAAD,KAAkC;AACrD,MAAIA,gBAAJ,EAAsB;AACpB,WAAOjE,gBAAMkE,WAAb;AACD,GAFD,MAEO,IAAIF,QAAJ,EAAc;AACnB,WAAOhE,gBAAMgE,QAAb;AACD,GAFM,MAEA;AACL,WAAO,IAAP;AACD;AACF,CARD;;AASA,MAAMG,qBAAqB,GAAGtC,MAAM,IAAI;AACtC,sBACE;AAAK,IAAA,SAAS,EAAEA,MAAM,GAAG7B,gBAAMoE,kBAAT,GAA8BpE,gBAAMqE;AAA1D,KACGxC,MAAM,gBAAG,6BAAC,+BAAD;AAAO,IAAA,SAAS,EAAE7B,gBAAMsE;AAAxB,IAAH,gBAA0C,6BAAC,2CAAD;AAAW,IAAA,SAAS,EAAEtE,gBAAMuE;AAA5B,IADnD,CADF;AAKD,CAND;;AAOA,MAAMC,wBAAwB,GAAG,CAC/BC,YAD+B,EAE/BZ,IAAI,GAAG,SAFwB,EAG/Ba,UAH+B,EAI/B7C,MAJ+B,EAK/B8C,WAAW,GAAG,IALiB,KAM5B;AACH,MAAId,IAAI,KAAK,OAAT,IAAoBhC,MAApB,IAA8B8C,WAAlC,EAA+C,OAAOA,WAAP;AAC/C,MAAId,IAAI,KAAK,OAAb,EAAsB,OAAOa,UAAP;AACtB,SAAOD,YAAP;AACD,CAVD;;AAWA,MAAMG,cAAc,GAAGrB,KAAK,IAAI;AAC9B,QAAM;AAAC1B,IAAAA,MAAD;AAAStB,IAAAA,WAAT;AAAsBsE,IAAAA,KAAtB;AAA6BC,IAAAA,QAA7B;AAAuC/B,IAAAA,KAAvC;AAA8CjB,IAAAA,IAA9C;AAAoDkC,IAAAA,QAApD;AAA8DH,IAAAA,IAAI,GAAG;AAArE,MAAkFN,KAAxF;AACA,QAAMwB,SAAS,GAAG,qBAAMlD,MAAN,CAAlB;AACA,QAAMmD,SAAS,GAAGtB,UAAU,CAC1B7B,MAD0B,EAE1BkB,KAAK,IAAIjB,IAAT,GAAgB9B,gBAAMiF,2BAAtB,GAAoDjF,gBAAMkF,wBAFhC,EAG1BlB,QAAQ,GAAGhE,gBAAMmF,6BAAT,GAAyCnF,gBAAMoF,qBAH7B,EAI1BpF,gBAAMqF,wBAJoB,EAK1BxB,IAL0B,EAM1B7D,gBAAMsF,6BANoB,CAA5B;AAQA,sBACE;AAAK,iBAAU,mBAAf;AAAmC,IAAA,SAAS,EAAEN;AAA9C,KACGnB,IAAI,KAAK,OAAT,IAAoBM,qBAAqB,CAACtC,MAAD,CAD5C,eAEE;AACE,IAAA,SAAS,EAAE2C,wBAAwB,CACjCxE,gBAAMuF,aAD2B,EAEjC1B,IAFiC,EAGjC7D,gBAAMwF,kBAH2B,EAIjC3D,MAJiC;AADrC,KAQGkD,SAAS,gBAAG,6BAAC,eAAD,OAAH,GAAgB,IAR5B,eASE;AACE,iBAAU,OADZ;AAEE,IAAA,SAAS,EAAEP,wBAAwB,CACjC,yBAAWxE,gBAAM6E,KAAjB,EAAwB9D,gBAAxB,CADiC,EAEjC8C,IAFiC,EAGjC7D,gBAAMyF,gBAH2B,EAIjC5D,MAJiC,CAFrC,CAQE;AARF;AASE,IAAA,uBAAuB,EAAE;AAACb,MAAAA,MAAM,EAAE6D;AAAT;AAT3B,IATF,eAoBE;AACE,IAAA,SAAS,EAAEL,wBAAwB,CACjCxE,gBAAM8E,QAD2B,EAEjCjB,IAFiC,EAGjC7D,gBAAM0F,mBAH2B,EAIjC7D,MAJiC,EAKjC7B,gBAAM2F,2BAL2B;AADrC,KASGb,QATH,CApBF,EA+BGjD,MAAM,IAAI,CAAC,uBAAQtB,WAAR,CAAX,gBAAkC,6BAAC,iBAAD;AAAmB,IAAA,WAAW,EAAEA;AAAhC,IAAlC,GAAoF,IA/BvF,CAFF,eAmCE,6BAAC,SAAD,EAAegD,KAAf,CAnCF,CADF;AAuCD,CAlDD;;AAoDAqB,cAAc,CAACzD,SAAf,iEACKmC,SAAS,CAACnC,SADf;AAEEU,EAAAA,MAAM,EAAET,mBAAUK,IAFpB;AAGElB,EAAAA,WAAW,EAAED,iBAAiB,CAACa,SAAlB,CAA4BZ,WAH3C;AAIEsE,EAAAA,KAAK,EAAEzD,mBAAUG,MAJnB;AAKEuD,EAAAA,QAAQ,EAAE1D,mBAAUG,MALtB;AAMEwB,EAAAA,KAAK,EAAE3B,mBAAUG,MANnB;AAOEO,EAAAA,IAAI,EAAEV,mBAAUG,MAPlB;AAQEyC,EAAAA,QAAQ,EAAE5C,mBAAUK;AARtB;;AAWA,MAAMmE,gBAAgB,GAAG,CAACrC,KAAD,EAAQsC,OAAR,KAAoB;AAC3C,QAAM;AAACC,IAAAA,GAAD;AAAMC,IAAAA,IAAN;AAAY9B,IAAAA,gBAAZ;AAA8BD,IAAAA,QAA9B;AAAwCnC,IAAAA,MAAM,GAAG,KAAjD;AAAwDoB,IAAAA,KAAK,GAAG;AAAhE,MAAqEM,KAA3E;;AACA,eAAoEuC,GAAG,IAAI,EAA3E;AAAA,QAAM;AAACjB,IAAAA,KAAD;AAAQmB,IAAAA,aAAR;AAAuBC,IAAAA,aAAa,GAAG;AAAvC,GAAN;AAAA,QAAuDC,SAAvD;;AACA,MAAIC,QAAJ;;AAEA,UAAQJ,IAAR;AACE,SAAK,iBAAL;AAAwB;AACtB,YAAI/B,QAAJ,EAAc;AACZmC,UAAAA,QAAQ,GAAG,WAAX;AACD,SAFD,MAEO,IAAItE,MAAJ,EAAY;AACjB,cAAIoB,KAAK,GAAG,CAAZ,EAAe;AACbkD,YAAAA,QAAQ,GAAG,kBAAX;AACD,WAFD,MAEO,IAAIlC,gBAAJ,EAAsB;AAC3BkC,YAAAA,QAAQ,GAAG,0BAAX;AACD;AACF,SANM,MAMA;AACLA,UAAAA,QAAQ,GAAG,kBAAX;AACD;;AACD;AACD;;AAED,SAAK,UAAL;AAAiB;AACf,YAAItE,MAAJ,EAAY;AACVsE,UAAAA,QAAQ,GAAG,cAAX;AACD,SAFD,MAEO,IAAIF,aAAJ,EAAmB;AACxBE,UAAAA,QAAQ,GAAG,YAAX;AACD,SAFM,MAEA;AACLA,UAAAA,QAAQ,GAAG,MAAX;AACD;AACF;AAxBH;;AA2BA,QAAMC,QAAQ,GAAGJ,aAAa,gBAC5B;AACE,IAAA,SAAS,EAAE,yBAAWhC,QAAQ,GAAGhE,gBAAMqG,gBAAT,GAA4BrG,gBAAMgG,aAArD,EAAoEjF,gBAApE,CADb,CAEE;AAFF;AAGE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAEgF;AAAT;AAH3B,IAD4B,GAM1B,IANJ;AAQA,sBACE,6BAAC,aAAD,eACME,SADN;AAEE,IAAA,SAAS,EAAE,yBAAWlG,gBAAMsG,WAAjB,EAA8BvC,YAAY,CAAC;AAACC,MAAAA,QAAD;AAAWC,MAAAA;AAAX,KAAD,CAA1C,CAFb;AAGE,iBAAU,UAHZ;AAIE,kBAAY8B,IAJd;AAKE,iBAAWI;AALb,mBAOE;AAAK,IAAA,SAAS,EAAEnG,gBAAMuG;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEvG,gBAAMwG;AAAtB,KACG3B,KADH,eAEE,6BAAC,8CAAD;AAAY,IAAA,KAAK,EAAC,SAAlB;AAA4B,IAAA,SAAS,EAAE7E,gBAAMyG;AAA7C,IAFF,CADF,EAKGL,QALH,CAPF,CADF;AAiBD,CAzDD;;AA2DAR,gBAAgB,CAACzE,SAAjB,2CAA6B;AAC3B2E,EAAAA,GAAG,EAAE1E,mBAAUE,KAAV,uBACAoF,cAAKvF,SADL;AAEH0D,IAAAA,KAAK,EAAEzD,mBAAUG,MAFd;AAGHyE,IAAAA,aAAa,EAAE5E,mBAAUG,MAHtB;AAIH0E,IAAAA,aAAa,EAAE7E,mBAAUK;AAJtB,KADsB;AAO3BsE,EAAAA,IAAI,EAAE3E,mBAAUuF,KAAV,CAAgB,CAAC,iBAAD,EAAoB,UAApB,CAAhB,EAAiDnF,UAP5B;AAQ3ByC,EAAAA,gBAAgB,EAAE7C,mBAAUK,IARD;AAS3BuC,EAAAA,QAAQ,EAAE5C,mBAAUK,IATO;AAU3BI,EAAAA,MAAM,EAAET,mBAAUK,IAVS;AAW3BwB,EAAAA,KAAK,EAAE7B,mBAAUwF;AAXU,CAA7B;;AAcA,MAAMC,WAAW,GAAG,CAACtD,KAAD,EAAQsC,OAAR,KAAoB;AACtC,QAAM;AACJ9D,IAAAA,QADI;AAEJF,IAAAA,MAFI;AAGJgD,IAAAA,KAHI;AAIJC,IAAAA,QAJI;AAKJ7B,IAAAA,KALI;AAMJF,IAAAA,KANI;AAOJjB,IAAAA,IAPI;AAQJvB,IAAAA,WARI;AASJuF,IAAAA,GATI;AAUJ7B,IAAAA,gBAVI;AAWJD,IAAAA,QAAQ,GAAG,KAXP;AAYJ+B,IAAAA,IAZI;AAaJlC,IAAAA,IAAI,GAAG;AAbH,MAcFN,KAdJ;AAgBA,QAAMuD,KAAK,GAAGpD,UAAU,CAAC7B,MAAD,EAAS,SAAT,EAAoB,QAApB,EAA8B,IAA9B,CAAxB;AAEA,QAAMkF,QAAQ,GAAGjB,GAAG,gBAClB,6BAAC,gBAAD;AACE,IAAA,GAAG,EAAEA,GADP;AAEE,IAAA,IAAI,EAAEC,IAFR;AAGE,IAAA,gBAAgB,EAAE9B,gBAHpB;AAIE,IAAA,MAAM,EAAEpC,MAJV;AAKE,IAAA,QAAQ,EAAEmC,QALZ;AAME,IAAA,KAAK,EAAEf;AANT,IADkB,GAShB,IATJ;AAWA,sBACE;AACE,IAAA,SAAS,EAAE6C,GAAG,GAAG9F,gBAAMgH,MAAT,GAAkBhH,gBAAMiH,gBADxC;AAEE,iBAAU,aAFZ;AAGE,kBAAYH;AAHd,kBAKE;AAAK,IAAA,SAAS,EAAEjD,IAAI,KAAK,OAAT,GAAmB7D,gBAAMkH,WAAzB,GAAuC;AAAvD,kBACE,6BAAC,cAAD;AACE,IAAA,KAAK,EAAErC,KADT;AAEE,IAAA,QAAQ,EAAEC,QAFZ;AAGE,IAAA,KAAK,EAAE7B,KAHT;AAIE,IAAA,QAAQ,EAAElB,QAJZ;AAKE,IAAA,KAAK,EAAEgB,KALT;AAME,IAAA,IAAI,EAAEjB,IANR;AAOE,IAAA,MAAM,EAAED,MAPV;AAQE,IAAA,QAAQ,EAAEmC,QARZ;AASE,IAAA,OAAO,EAAEC,gBATX;AAUE,IAAA,WAAW,EAAE1D,WAVf;AAWE,IAAA,IAAI,EAAEsD;AAXR,IADF,EAcGkD,QAdH,CALF,CADF;AAwBD,CAtDD;;AAwDAF,WAAW,CAAClE,YAAZ,GAA2B;AACzBV,EAAAA,IAAI,EAAEW,kBAASC,iBAAT,CAA2BZ;AADR,CAA3B;AAIA4E,WAAW,CAAC1F,SAAZ,2CAAwB;AACtB2E,EAAAA,GAAG,EAAEF,gBAAgB,CAACzE,SAAjB,CAA2B2E,GADV;AAEtBC,EAAAA,IAAI,EAAEH,gBAAgB,CAACzE,SAAjB,CAA2B4E,IAFX;AAGtB9B,EAAAA,gBAAgB,EAAE2B,gBAAgB,CAACzE,SAAjB,CAA2B8C,gBAHvB;AAItBpC,EAAAA,MAAM,EAAE+D,gBAAgB,CAACzE,SAAjB,CAA2BU,MAJb;AAKtBmC,EAAAA,QAAQ,EAAE4B,gBAAgB,CAACzE,SAAjB,CAA2B6C,QALf;AAMtBf,EAAAA,KAAK,EAAE2C,gBAAgB,CAACzE,SAAjB,CAA2B8B,KANZ;AAOtB4B,EAAAA,KAAK,EAAED,cAAc,CAACzD,SAAf,CAAyB0D,KAPV;AAQtBC,EAAAA,QAAQ,EAAEF,cAAc,CAACzD,SAAf,CAAyB2D,QARb;AAStB/C,EAAAA,QAAQ,EAAE6C,cAAc,CAACzD,SAAf,CAAyBY,QATb;AAUtBgB,EAAAA,KAAK,EAAE6B,cAAc,CAACzD,SAAf,CAAyB4B,KAVV;AAWtBjB,EAAAA,IAAI,EAAE8C,cAAc,CAACzD,SAAf,CAAyBW,IAXT;AAYtBvB,EAAAA,WAAW,EAAEqE,cAAc,CAACzD,SAAf,CAAyBZ,WAZhB;AAatBsD,EAAAA,IAAI,EAAEzC,mBAAUuF,KAAV,CAAgB,CAAC,OAAD,EAAU,SAAV,CAAhB;AAbgB,CAAxB;eAgBeE,W","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"}
@@ -379,6 +379,10 @@
379
379
  font-weight: 700;
380
380
  }
381
381
 
382
+ .innerHTML {
383
+ composes: innerHTML from '../../../atom/label/style.css';
384
+ }
385
+
382
386
  /*
383
387
  * remainingLifeRequests Part
384
388
  */
@@ -11,7 +11,7 @@ var _onboarding = _interopRequireDefault(require("./onboarding"));
11
11
 
12
12
  var _skills = _interopRequireDefault(require("./skills"));
13
13
 
14
- var _slides = _interopRequireDefault(require("./slides"));
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
- dispachers = _objectWithoutPropertiesLoose(_ref, ["viewName", "onboarding", "skills", "slides"]);
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, dispachers));
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, dispachers));
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(_slides.default, _extends({}, slides, dispachers));
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","dispachers","ViewNames","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA;AAEA,MAAMA,SAAS,GAAG,UAA2D;AAAA,MAA1D;AAACC,IAAAA,QAAD;AAAWC,IAAAA,UAAX;AAAuBC,IAAAA,MAAvB;AAA+BC,IAAAA;AAA/B,GAA0D;AAAA,MAAhBC,UAAgB;;AAC3E,UAAQJ,QAAR;AACE,SAAKK,qBAAUH,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBE,UAAxB,EAAP;;AACF,SAAKC,qBAAUJ,UAAf;AACE,0BAAO,6BAAC,mBAAD,eAAgBA,UAAhB,EAAgCG,UAAhC,EAAP;;AACF,SAAKC,qBAAUF,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;;AACF;AACE,0BAAO,6BAAC,eAAD,OAAP;AARJ;AAUD,CAXD;;AAaAL,SAAS,CAACO,SAAV,2CAAsBA,kBAAtB,M,CAEA;;eAEeP,S","sourcesContent":["import React from 'react';\nimport Loader from '../../atom/loader';\nimport Onboarding from './onboarding';\nimport Skills from './skills';\nimport Slides from './slides';\nimport propTypes, {ViewNames} from './prop-types';\n\n// -----------------------------------------------------------------------------\n\nconst AppReview = ({viewName, onboarding, skills, slides, ...dispachers}) => {\n switch (viewName) {\n case ViewNames.skills:\n return <Skills {...skills} {...dispachers} />;\n case ViewNames.onboarding:\n return <Onboarding {...onboarding} {...dispachers} />;\n case ViewNames.slides:\n return <Slides {...slides} {...dispachers} />;\n default:\n return <Loader />;\n }\n};\n\nAppReview.propTypes = propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default AppReview;\n"],"file":"index.js"}
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 _slides = _interopRequireDefault(require("./slides"));
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(_slides.default, _extends({}, slides, dispachers));
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;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,C,CAQA;;;AAEA,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,C,CAaA;;;AAEA,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,C,CAsBA;;;AAEAD,SAAS,CAACQ,SAAV,2CAAsBA,kBAAtB;AACAf,MAAM,CAACe,SAAP,2CAAmBR,SAAS,CAACQ,SAA7B,M,CAEA;;eAEeR,S","sourcesContent":["import React, {useEffect} from 'react';\nimport {Text, StyleSheet, View, BackHandler} from 'react-native';\nimport propTypes, {ViewNames} from './prop-types';\nimport Slides from './slides';\n\n// -----------------------------------------------------------------------------\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n }\n});\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 <Slides {...slides} {...dispachers} />;\n default:\n return <Text>view (none selected)</Text>;\n }\n};\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\n// -----------------------------------------------------------------------------\n\nAppReview.propTypes = propTypes;\nSwitch.propTypes = AppReview.propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default AppReview;\n"],"file":"index.native.js"}
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
- slides,
247
- validateSlide
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.SlidesReviewPropTypes : {}; // -----------------------------------------------------------------------------
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