@coorpacademy/components 10.22.1 → 10.22.4

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 (185) hide show
  1. package/es/atom/drag-and-drop/index.js +2 -1
  2. package/es/atom/drag-and-drop/index.js.map +1 -1
  3. package/es/atom/header-back-button/index.native.js +74 -0
  4. package/es/atom/header-back-button/index.native.js.map +1 -0
  5. package/es/atom/header-back-icon/index.native.js +27 -0
  6. package/es/atom/header-back-icon/index.native.js.map +1 -0
  7. package/es/atom/html/index.native.js +153 -0
  8. package/es/atom/html/index.native.js.map +1 -0
  9. package/es/atom/input-checkbox/index.js +3 -2
  10. package/es/atom/input-checkbox/index.js.map +1 -1
  11. package/es/atom/input-switch/index.js +2 -1
  12. package/es/atom/input-switch/index.js.map +1 -1
  13. package/es/atom/select-modal/index.native.js +113 -0
  14. package/es/atom/select-modal/index.native.js.map +1 -0
  15. package/es/atom/space/index.native.js +21 -0
  16. package/es/atom/space/index.native.js.map +1 -0
  17. package/es/atom/spinner/index.js +1 -0
  18. package/es/atom/spinner/index.js.map +1 -1
  19. package/es/atom/text/index.native.js +29 -0
  20. package/es/atom/text/index.native.js.map +1 -0
  21. package/es/hoc/modal/index.native.js +97 -0
  22. package/es/hoc/modal/index.native.js.map +1 -0
  23. package/es/hoc/modal/select/index.native.js +85 -0
  24. package/es/hoc/modal/select/index.native.js.map +1 -0
  25. package/es/hoc/modal/select-item/index.native.js +54 -0
  26. package/es/hoc/modal/select-item/index.native.js.map +1 -0
  27. package/es/hoc/touchable/index.native.js +69 -0
  28. package/es/hoc/touchable/index.native.js.map +1 -0
  29. package/es/index.js +2 -1
  30. package/es/index.js.map +1 -1
  31. package/es/molecule/cm-popin/index.js +27 -8
  32. package/es/molecule/cm-popin/index.js.map +1 -1
  33. package/es/molecule/cm-popin/style.css +24 -1
  34. package/es/molecule/dashboard/battle-request-list/index.js +3 -5
  35. package/es/molecule/dashboard/battle-request-list/index.js.map +1 -1
  36. package/es/molecule/dashboard/news-list/index.js +3 -5
  37. package/es/molecule/dashboard/news-list/index.js.map +1 -1
  38. package/es/molecule/dashboard/review-banner/index.js +3 -5
  39. package/es/molecule/dashboard/review-banner/index.js.map +1 -1
  40. package/es/molecule/dashboard/start-battle/index.js +3 -5
  41. package/es/molecule/dashboard/start-battle/index.js.map +1 -1
  42. package/es/molecule/external-content-viewer/index.js +2 -1
  43. package/es/molecule/external-content-viewer/index.js.map +1 -1
  44. package/es/molecule/feedback/index.js +7 -3
  45. package/es/molecule/feedback/index.js.map +1 -1
  46. package/es/molecule/feedback/style.css +24 -0
  47. package/es/molecule/questions/free-text/index.native.js +5 -6
  48. package/es/molecule/questions/free-text/index.native.js.map +1 -1
  49. package/es/molecule/questions/qcm/index.native.js +6 -3
  50. package/es/molecule/questions/qcm/index.native.js.map +1 -1
  51. package/es/molecule/skill-card/prop-types.js +1 -1
  52. package/es/molecule/skill-card/prop-types.js.map +1 -1
  53. package/es/template/app-player/loading/index.js +1 -0
  54. package/es/template/app-player/loading/index.js.map +1 -1
  55. package/es/template/app-player/player/index.js +6 -3
  56. package/es/template/app-player/player/index.js.map +1 -1
  57. package/es/template/app-player/popin-end/index.js +21 -6
  58. package/es/template/app-player/popin-end/index.js.map +1 -1
  59. package/es/template/app-player/popin-end/style.css +1 -1
  60. package/es/template/app-player/popin-end/summary.css +65 -0
  61. package/es/template/app-player/popin-end/summary.js +57 -7
  62. package/es/template/app-player/popin-end/summary.js.map +1 -1
  63. package/es/template/app-player/popin-header/index.js +33 -12
  64. package/es/template/app-player/popin-header/index.js.map +1 -1
  65. package/es/template/app-player/popin-header/style.css +93 -0
  66. package/es/template/app-player/popin-no-access/index.js +27 -0
  67. package/es/template/app-player/popin-no-access/index.js.map +1 -0
  68. package/es/template/app-review/demo-ts/index.js +2 -0
  69. package/es/template/app-review/demo-ts/index.js.map +1 -1
  70. package/es/template/app-review/demo-ts/index.native.js +9 -0
  71. package/es/template/app-review/demo-ts/index.native.js.map +1 -0
  72. package/es/template/app-review/demo-ts/typings.js +7 -0
  73. package/es/template/app-review/demo-ts/typings.js.map +1 -0
  74. package/es/template/app-review/index.js +4 -0
  75. package/es/template/app-review/index.js.map +1 -1
  76. package/es/template/app-review/index.native.js +3 -13
  77. package/es/template/app-review/index.native.js.map +1 -1
  78. package/es/template/app-review/prop-types.js +2 -1
  79. package/es/template/app-review/prop-types.js.map +1 -1
  80. package/es/template/app-review/slides/index.js +2 -2
  81. package/es/template/app-review/slides/index.js.map +1 -1
  82. package/es/template/app-review/slides/index.native.js +17 -14
  83. package/es/template/app-review/slides/index.native.js.map +1 -1
  84. package/es/template/app-review/template-context.js +9 -3
  85. package/es/template/app-review/template-context.js.map +1 -1
  86. package/es/types/progression-engine.d.js +2 -0
  87. package/es/types/progression-engine.d.js.map +1 -0
  88. package/es/variables/analytics.js.map +1 -1
  89. package/es/variables/theme.native.js +66 -0
  90. package/es/variables/theme.native.js.map +1 -0
  91. package/es/variables/vibration.js +10 -0
  92. package/es/variables/vibration.js.map +1 -0
  93. package/lib/atom/drag-and-drop/index.js +2 -1
  94. package/lib/atom/drag-and-drop/index.js.map +1 -1
  95. package/lib/atom/header-back-button/index.native.js +95 -0
  96. package/lib/atom/header-back-button/index.native.js.map +1 -0
  97. package/lib/atom/header-back-icon/index.native.js +38 -0
  98. package/lib/atom/header-back-icon/index.native.js.map +1 -0
  99. package/lib/atom/html/index.native.js +170 -0
  100. package/lib/atom/html/index.native.js.map +1 -0
  101. package/lib/atom/input-checkbox/index.js +2 -1
  102. package/lib/atom/input-checkbox/index.js.map +1 -1
  103. package/lib/atom/input-switch/index.js +2 -1
  104. package/lib/atom/input-switch/index.js.map +1 -1
  105. package/lib/atom/select-modal/index.native.js +135 -0
  106. package/lib/atom/select-modal/index.native.js.map +1 -0
  107. package/lib/atom/space/index.native.js +33 -0
  108. package/lib/atom/space/index.native.js.map +1 -0
  109. package/lib/atom/spinner/index.js +1 -0
  110. package/lib/atom/spinner/index.js.map +1 -1
  111. package/lib/atom/text/index.native.js +44 -0
  112. package/lib/atom/text/index.native.js.map +1 -0
  113. package/lib/hoc/modal/index.native.js +114 -0
  114. package/lib/hoc/modal/index.native.js.map +1 -0
  115. package/lib/hoc/modal/select/index.native.js +101 -0
  116. package/lib/hoc/modal/select/index.native.js.map +1 -0
  117. package/lib/hoc/modal/select-item/index.native.js +70 -0
  118. package/lib/hoc/modal/select-item/index.native.js.map +1 -0
  119. package/lib/hoc/touchable/index.native.js +83 -0
  120. package/lib/hoc/touchable/index.native.js.map +1 -0
  121. package/lib/index.js +4 -0
  122. package/lib/index.js.map +1 -1
  123. package/lib/molecule/cm-popin/index.js +27 -8
  124. package/lib/molecule/cm-popin/index.js.map +1 -1
  125. package/lib/molecule/cm-popin/style.css +24 -1
  126. package/lib/molecule/dashboard/battle-request-list/index.js +3 -5
  127. package/lib/molecule/dashboard/battle-request-list/index.js.map +1 -1
  128. package/lib/molecule/dashboard/news-list/index.js +3 -5
  129. package/lib/molecule/dashboard/news-list/index.js.map +1 -1
  130. package/lib/molecule/dashboard/review-banner/index.js +3 -5
  131. package/lib/molecule/dashboard/review-banner/index.js.map +1 -1
  132. package/lib/molecule/dashboard/start-battle/index.js +3 -5
  133. package/lib/molecule/dashboard/start-battle/index.js.map +1 -1
  134. package/lib/molecule/external-content-viewer/index.js +2 -1
  135. package/lib/molecule/external-content-viewer/index.js.map +1 -1
  136. package/lib/molecule/feedback/index.js +7 -3
  137. package/lib/molecule/feedback/index.js.map +1 -1
  138. package/lib/molecule/feedback/style.css +24 -0
  139. package/lib/molecule/questions/free-text/index.native.js +5 -6
  140. package/lib/molecule/questions/free-text/index.native.js.map +1 -1
  141. package/lib/molecule/questions/qcm/index.native.js +7 -3
  142. package/lib/molecule/questions/qcm/index.native.js.map +1 -1
  143. package/lib/molecule/skill-card/prop-types.js +1 -1
  144. package/lib/molecule/skill-card/prop-types.js.map +1 -1
  145. package/lib/template/app-player/loading/index.js +1 -0
  146. package/lib/template/app-player/loading/index.js.map +1 -1
  147. package/lib/template/app-player/player/index.js +7 -3
  148. package/lib/template/app-player/player/index.js.map +1 -1
  149. package/lib/template/app-player/popin-end/index.js +21 -6
  150. package/lib/template/app-player/popin-end/index.js.map +1 -1
  151. package/lib/template/app-player/popin-end/style.css +1 -1
  152. package/lib/template/app-player/popin-end/summary.css +65 -0
  153. package/lib/template/app-player/popin-end/summary.js +58 -7
  154. package/lib/template/app-player/popin-end/summary.js.map +1 -1
  155. package/lib/template/app-player/popin-header/index.js +32 -11
  156. package/lib/template/app-player/popin-header/index.js.map +1 -1
  157. package/lib/template/app-player/popin-header/style.css +93 -0
  158. package/lib/template/app-player/popin-no-access/index.js +37 -0
  159. package/lib/template/app-player/popin-no-access/index.js.map +1 -0
  160. package/lib/template/app-review/demo-ts/index.js +3 -0
  161. package/lib/template/app-review/demo-ts/index.js.map +1 -1
  162. package/lib/template/app-review/demo-ts/index.native.js +18 -0
  163. package/lib/template/app-review/demo-ts/index.native.js.map +1 -0
  164. package/lib/template/app-review/demo-ts/typings.js +16 -0
  165. package/lib/template/app-review/demo-ts/typings.js.map +1 -0
  166. package/lib/template/app-review/index.js +5 -0
  167. package/lib/template/app-review/index.js.map +1 -1
  168. package/lib/template/app-review/index.native.js +2 -12
  169. package/lib/template/app-review/index.native.js.map +1 -1
  170. package/lib/template/app-review/prop-types.js +2 -1
  171. package/lib/template/app-review/prop-types.js.map +1 -1
  172. package/lib/template/app-review/slides/index.js +2 -2
  173. package/lib/template/app-review/slides/index.js.map +1 -1
  174. package/lib/template/app-review/slides/index.native.js +17 -14
  175. package/lib/template/app-review/slides/index.native.js.map +1 -1
  176. package/lib/template/app-review/template-context.js +10 -1
  177. package/lib/template/app-review/template-context.js.map +1 -1
  178. package/lib/types/progression-engine.d.js +2 -0
  179. package/lib/types/progression-engine.d.js.map +1 -0
  180. package/lib/variables/analytics.js.map +1 -1
  181. package/lib/variables/theme.native.js +72 -0
  182. package/lib/variables/theme.native.js.map +1 -0
  183. package/lib/variables/vibration.js +15 -0
  184. package/lib/variables/vibration.js.map +1 -0
  185. package/package.json +9 -3
@@ -252,8 +252,9 @@ IconsPart.propTypes = process.env.NODE_ENV !== "production" ? {
252
252
  revival: _propTypes.default.bool
253
253
  } : {};
254
254
 
255
- const buildClass = (value, success, failed, loading) => {
255
+ const buildClass = (value, success, failed, loading, mode = 'default', scormStyle) => {
256
256
  if (loading && (0, _isNil2.default)(value)) return loading;
257
+ if (mode === 'scorm') return scormStyle;
257
258
  return value ? failed : success;
258
259
  };
259
260
 
@@ -270,6 +271,22 @@ const getLinkStyle = ({
270
271
  }
271
272
  };
272
273
 
274
+ const renderIconStatusScorm = failed => {
275
+ return /*#__PURE__*/_react.default.createElement("div", {
276
+ className: failed ? _style2.default.iconCloseContainer : _style2.default.iconSuccessContainer
277
+ }, failed ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidStatusClose, {
278
+ className: _style2.default.failIcon
279
+ }) : /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyCheck, {
280
+ className: _style2.default.checkIcon
281
+ }));
282
+ };
283
+
284
+ const buildDefaultOrScormStyle = (defaultStyle, mode = 'default', styleScorm, failed, failedStyle = null) => {
285
+ if (mode === 'scorm' && failed && failedStyle) return failedStyle;
286
+ if (mode === 'scorm') return styleScorm;
287
+ return defaultStyle;
288
+ };
289
+
273
290
  const CorrectionPart = props => {
274
291
  const {
275
292
  failed,
@@ -278,24 +295,25 @@ const CorrectionPart = props => {
278
295
  subtitle,
279
296
  stars,
280
297
  rank,
281
- gameOver
298
+ gameOver,
299
+ mode = 'default'
282
300
  } = props;
283
301
  const isLoading = (0, _isNil2.default)(failed);
284
- const className = buildClass(failed, stars && rank ? _style2.default.correctionSectionEndSuccess : _style2.default.correctionSectionSuccess, gameOver ? _style2.default.correctionSectionFailGameOver : _style2.default.correctionSectionFail, _style2.default.correctionSectionLoading);
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);
285
303
  return /*#__PURE__*/_react.default.createElement("div", {
286
304
  "data-name": "correctionSection",
287
305
  className: className
288
- }, /*#__PURE__*/_react.default.createElement("div", {
289
- className: _style2.default.titlesWrapper
306
+ }, mode === 'scorm' && renderIconStatusScorm(failed), /*#__PURE__*/_react.default.createElement("div", {
307
+ className: buildDefaultOrScormStyle(_style2.default.titlesWrapper, mode, _style2.default.titlesWrapperScorm, failed)
290
308
  }, isLoading ? /*#__PURE__*/_react.default.createElement(_loader.default, null) : null, /*#__PURE__*/_react.default.createElement("h1", {
291
309
  "data-name": "title",
292
- className: (0, _classnames.default)(_style2.default.title, _style.innerHTML) // eslint-disable-next-line react/no-danger
310
+ className: buildDefaultOrScormStyle((0, _classnames.default)(_style2.default.title, _style.innerHTML), mode, _style2.default.resultTitleScorm, failed) // eslint-disable-next-line react/no-danger
293
311
  ,
294
312
  dangerouslySetInnerHTML: {
295
313
  __html: title
296
314
  }
297
315
  }), /*#__PURE__*/_react.default.createElement("h2", {
298
- className: _style2.default.subtitle
316
+ className: buildDefaultOrScormStyle(_style2.default.subtitle, mode, _style2.default.resultSubtitleScorm, failed, _style2.default.statusPlayerResultFailScorm)
299
317
  }, subtitle), failed && !(0, _isEmpty2.default)(corrections) ? /*#__PURE__*/_react.default.createElement(AnswersCorrection, {
300
318
  corrections: corrections
301
319
  }) : null), /*#__PURE__*/_react.default.createElement(IconsPart, props));
@@ -412,7 +430,8 @@ const PopinHeader = (props, context) => {
412
430
  cta,
413
431
  extraLifeGranted,
414
432
  gameOver = false,
415
- type
433
+ type,
434
+ mode = 'default'
416
435
  } = props;
417
436
  const state = buildClass(failed, 'success', 'failed', null);
418
437
  const nextLink = cta ? /*#__PURE__*/_react.default.createElement(NextQuestionPart, {
@@ -428,7 +447,7 @@ const PopinHeader = (props, context) => {
428
447
  "data-name": "popinHeader",
429
448
  "data-state": state
430
449
  }, /*#__PURE__*/_react.default.createElement("div", {
431
- className: _style2.default.headerTitle
450
+ className: mode !== 'scorm' ? _style2.default.headerTitle : null
432
451
  }, /*#__PURE__*/_react.default.createElement(CorrectionPart, {
433
452
  title: title,
434
453
  subtitle: subtitle,
@@ -439,7 +458,8 @@ const PopinHeader = (props, context) => {
439
458
  failed: failed,
440
459
  gameOver: gameOver,
441
460
  revival: extraLifeGranted,
442
- corrections: corrections
461
+ corrections: corrections,
462
+ mode: mode
443
463
  }), nextLink));
444
464
  };
445
465
 
@@ -458,7 +478,8 @@ PopinHeader.propTypes = process.env.NODE_ENV !== "production" ? {
458
478
  animated: CorrectionPart.propTypes.animated,
459
479
  stars: CorrectionPart.propTypes.stars,
460
480
  rank: CorrectionPart.propTypes.rank,
461
- corrections: CorrectionPart.propTypes.corrections
481
+ corrections: CorrectionPart.propTypes.corrections,
482
+ mode: _propTypes.default.oneOf(['scorm', 'default'])
462
483
  } : {};
463
484
  var _default = PopinHeader;
464
485
  exports.default = _default;
@@ -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","getLinkStyle","gameOver","extraLifeGranted","oneMoreLife","CorrectionPart","title","subtitle","isLoading","className","correctionSectionEndSuccess","correctionSectionSuccess","correctionSectionFailGameOver","correctionSectionFail","correctionSectionLoading","titlesWrapper","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} 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) => {\n if (loading && isNil(value)) return loading;\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};\n\nconst CorrectionPart = props => {\n const {failed, corrections, title, subtitle, stars, rank, gameOver} = 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 );\n\n return (\n <div data-name=\"correctionSection\" className={className}>\n <div className={style.titlesWrapper}>\n {isLoading ? <Loader /> : null}\n <h1\n data-name=\"title\"\n className={classnames(style.title, innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n <h2 className={style.subtitle}>{subtitle}</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 } = 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={style.headerTitle}>\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 />\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};\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 {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"}
@@ -10,6 +10,12 @@
10
10
  @value dark from colors;
11
11
  @value black from colors;
12
12
  @value transparent from colors;
13
+ @value cm_grey_75 from colors;
14
+ @value lightGreen from colors;
15
+ @value cm_green_50 from colors;
16
+ @value cm_negative_100 from colors;
17
+ @value cm_negative_50 from colors;
18
+ @value white from colors;
13
19
 
14
20
  .header {
15
21
  display: flex;
@@ -86,6 +92,14 @@
86
92
  color: white;
87
93
  }
88
94
 
95
+ .titlesWrapperScorm {
96
+ display: flex;
97
+ justify-content: center;
98
+ flex-direction: column-reverse;
99
+ color: white;
100
+ height: 20px;
101
+ }
102
+
89
103
  .titleElement {
90
104
  margin: 0;
91
105
  font-weight: normal;
@@ -185,6 +199,78 @@
185
199
  padding: 0 20px 0 10px;
186
200
  }
187
201
 
202
+ .resultContenantContainerScorm {
203
+ width: 884px;
204
+ height: 158px;
205
+ border: 1px solid cm_grey_75;
206
+ display: flex;
207
+ align-items: center;
208
+ background-color: white;
209
+ position: relative;
210
+ z-index: 2;
211
+ flex-wrap: wrap;
212
+ }
213
+ .resultSubtitleScorm {
214
+ font-family: "Gilroy";
215
+ font-style: normal;
216
+ font-weight: 700;
217
+ font-size: 42px;
218
+ line-height: 52px;
219
+ color: lightGreen;
220
+ margin-bottom: 0px;
221
+ margin-top: 0px;
222
+ }
223
+ .resultTitleScorm {
224
+ font-family: "Gilroy";
225
+ font-style: normal;
226
+ font-weight: 500;
227
+ font-size: 16px;
228
+ line-height: 22px;
229
+ color: dark;
230
+ margin-top: 4px;
231
+ }
232
+ .statusPlayerResultFailScorm {
233
+ font-family: "Gilroy";
234
+ font-style: normal;
235
+ font-weight: 700;
236
+ font-size: 42px;
237
+ line-height: 52px;
238
+ color: cm_negative_100;
239
+ margin-top: 0px;
240
+ margin-bottom: 0px;
241
+ }
242
+
243
+ .iconCloseContainer {
244
+ height: 60px;
245
+ width: 60px;
246
+ border-radius: 50%;
247
+ background-color: cm_negative_50;
248
+ display: flex;
249
+ justify-content: center;
250
+ align-items: center;
251
+ margin: 0 24px 0 40px
252
+ }
253
+ .iconSuccessContainer {
254
+ height: 60px;
255
+ width: 60px;
256
+ border-radius: 50%;
257
+ background-color: cm_green_50;
258
+ display: flex;
259
+ justify-content: center;
260
+ align-items: center;
261
+ margin: 0 24px 0 40px
262
+ }
263
+ .failIcon {
264
+ color: cm_negative_100;
265
+ height: 22px;
266
+ width: 22px;
267
+ }
268
+ .checkIcon {
269
+ color: lightGreen;
270
+ height: 22px;
271
+ width: 22px;
272
+ }
273
+
188
274
  /*
189
275
  * Next Question Part
190
276
  */
@@ -351,6 +437,9 @@
351
437
  .correctionSectionEndSuccess .titleElement {
352
438
  padding-right: 130px;
353
439
  }
440
+ .resultContenantContainerScorm {
441
+ width: 100vw
442
+ }
354
443
  }
355
444
 
356
445
  @media mobile {
@@ -400,4 +489,8 @@
400
489
  .nextStepTitle {
401
490
  width: 177px;
402
491
  }
492
+ .iconCloseContainer,
493
+ .iconSuccessContainer {
494
+ margin: auto;
495
+ }
403
496
  }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = _interopRequireDefault(require("react"));
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ var _cmPopin = _interopRequireDefault(require("../../../molecule/cm-popin"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ const PopinNoAccess = props => {
15
+ const {
16
+ content,
17
+ icon,
18
+ backgroundImageUrl,
19
+ descriptionText
20
+ } = props;
21
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_cmPopin.default, {
22
+ content: content,
23
+ icon: icon,
24
+ backgroundImageUrl: backgroundImageUrl,
25
+ descriptionText: descriptionText
26
+ }));
27
+ };
28
+
29
+ PopinNoAccess.propTypes = process.env.NODE_ENV !== "production" ? {
30
+ content: _propTypes.default.string,
31
+ icon: _propTypes.default.string,
32
+ backgroundImageUrl: _propTypes.default.string,
33
+ descriptionText: _propTypes.default.string
34
+ } : {};
35
+ var _default = PopinNoAccess;
36
+ exports.default = _default;
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/template/app-player/popin-no-access/index.js"],"names":["PopinNoAccess","props","content","icon","backgroundImageUrl","descriptionText","propTypes","PropTypes","string"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;AAEA,MAAMA,aAAa,GAAGC,KAAK,IAAI;AAC7B,QAAM;AAACC,IAAAA,OAAD;AAAUC,IAAAA,IAAV;AAAgBC,IAAAA,kBAAhB;AAAoCC,IAAAA;AAApC,MAAuDJ,KAA7D;AACA,sBACE,uDACE,6BAAC,gBAAD;AACE,IAAA,OAAO,EAAEC,OADX;AAEE,IAAA,IAAI,EAAEC,IAFR;AAGE,IAAA,kBAAkB,EAAEC,kBAHtB;AAIE,IAAA,eAAe,EAAEC;AAJnB,IADF,CADF;AAUD,CAZD;;AAcAL,aAAa,CAACM,SAAd,2CAA0B;AACxBJ,EAAAA,OAAO,EAAEK,mBAAUC,MADK;AAExBL,EAAAA,IAAI,EAAEI,mBAAUC,MAFQ;AAGxBJ,EAAAA,kBAAkB,EAAEG,mBAAUC,MAHN;AAIxBH,EAAAA,eAAe,EAAEE,mBAAUC;AAJH,CAA1B;eAOeR,a","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CMPopin from '../../../molecule/cm-popin';\n\nconst PopinNoAccess = props => {\n const {content, icon, backgroundImageUrl, descriptionText} = props;\n return (\n <div>\n <CMPopin\n content={content}\n icon={icon}\n backgroundImageUrl={backgroundImageUrl}\n descriptionText={descriptionText}\n />\n </div>\n );\n};\n\nPopinNoAccess.propTypes = {\n content: PropTypes.string,\n icon: PropTypes.string,\n backgroundImageUrl: PropTypes.string,\n descriptionText: PropTypes.string\n};\n\nexport default PopinNoAccess;\n"],"file":"index.js"}
@@ -5,12 +5,15 @@ exports.default = void 0;
5
5
 
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
 
8
+ var _typings = require("./typings");
9
+
8
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
11
 
10
12
  const DemoTs = ({
11
13
  plop
12
14
  }) => /*#__PURE__*/_react.default.createElement("p", null, plop);
13
15
 
16
+ DemoTs.propTypes = process.env.NODE_ENV !== "production" ? _typings.propTypes : {};
14
17
  var _default = DemoTs;
15
18
  exports.default = _default;
16
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/demo-ts/index.tsx"],"names":["DemoTs","plop"],"mappings":";;;;;AAAA;;;;AAIA,MAAMA,MAAyB,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBAAmB,wCAAIA,IAAJ,CAArD;;eAEeD,M","sourcesContent":["import React, {FunctionComponent} from 'react';\n\nexport type Props = {plop: string};\n\nconst DemoTs: FunctionComponent = ({plop}: Props) => <p>{plop}</p>;\n\nexport default DemoTs;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-review/demo-ts/index.tsx"],"names":["DemoTs","plop","propTypes"],"mappings":";;;;;AAAA;;AACA;;;;AAEA,MAAMA,MAAgC,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBAAmB,wCAAIA,IAAJ,CAA5D;;AAEAD,MAAM,CAACE,SAAP,2CAAmBA,kBAAnB;eAEeF,M","sourcesContent":["import React, {FunctionComponent} from 'react';\nimport {Props, propTypes} from './typings';\n\nconst DemoTs: FunctionComponent<Props> = ({plop}: Props) => <p>{plop}</p>;\n\nDemoTs.propTypes = propTypes;\n\nexport default DemoTs;\n"],"file":"index.js"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = _interopRequireDefault(require("react"));
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ const DemoTs = ({
13
+ plop
14
+ }) => /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, plop));
15
+
16
+ var _default = DemoTs;
17
+ exports.default = _default;
18
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/template/app-review/demo-ts/index.native.tsx"],"names":["DemoTs","plop"],"mappings":";;;;;AAAA;;AACA;;;;AAGA,MAAMA,MAAM,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBACb,6BAAC,iBAAD,qBACE,6BAAC,iBAAD,QAAOA,IAAP,CADF,CADF;;eAMeD,M","sourcesContent":["import React from 'react';\nimport {View, Text} from 'react-native';\nimport {Props} from './typings';\n\nconst DemoTs = ({plop}: Props) => (\n <View>\n <Text>{plop}</Text>\n </View>\n);\n\nexport default DemoTs;\n"],"file":"index.native.js"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.propTypes = void 0;
5
+
6
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
+
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+
10
+ const propTypes = {
11
+ plop: _propTypes.default.string,
12
+ plip: _propTypes.default.number,
13
+ onClick: _propTypes.default.func
14
+ };
15
+ exports.propTypes = propTypes;
16
+ //# sourceMappingURL=typings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/template/app-review/demo-ts/typings.ts"],"names":["propTypes","plop","PropTypes","string","plip","number","onClick","func"],"mappings":";;;;;AAAA;;;;AAEO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAEC,mBAAUC,MADO;AAEvBC,EAAAA,IAAI,EAAEF,mBAAUG,MAFO;AAGvBC,EAAAA,OAAO,EAAEJ,mBAAUK;AAHI,CAAlB","sourcesContent":["import PropTypes from 'prop-types';\n\nexport const propTypes = {\n plop: PropTypes.string,\n plip: PropTypes.number,\n onClick: PropTypes.func\n};\n\nexport type Props = PropTypes.InferProps<typeof propTypes>;\n"],"file":"typings.js"}
@@ -5,6 +5,8 @@ exports.default = void 0;
5
5
 
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
 
8
+ var _loader = _interopRequireDefault(require("../../atom/loader"));
9
+
8
10
  var _onboarding = _interopRequireDefault(require("./onboarding"));
9
11
 
10
12
  var _skills = _interopRequireDefault(require("./skills"));
@@ -42,6 +44,9 @@ const AppReview = (_ref) => {
42
44
 
43
45
  case _propTypes.ViewNames.slides:
44
46
  return /*#__PURE__*/_react.default.createElement(_slides.default, _extends({}, slides, dispachers));
47
+
48
+ default:
49
+ return /*#__PURE__*/_react.default.createElement(_loader.default, null);
45
50
  }
46
51
  };
47
52
 
@@ -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;;;;;;;;;;;;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;AANJ;AAQD,CATD;;AAWAL,SAAS,CAACO,SAAV,2CAAsBA,kBAAtB,M,CAEA;;eAEeP,S","sourcesContent":["import React from 'react';\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 }\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","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"}
@@ -38,22 +38,12 @@ const Switch = (_ref) => {
38
38
  } = _ref,
39
39
  dispachers = _objectWithoutPropertiesLoose(_ref, ["viewName", "onboarding", "skills", "slides"]);
40
40
 
41
- const {
42
- navigateTo
43
- } = dispachers;
44
-
45
- const handlePress = v => () => navigateTo(v);
46
-
47
41
  switch (viewName) {
48
42
  case _propTypes.ViewNames.home:
49
- return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
50
- onPress: handlePress('onboarding')
51
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view home"));
43
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view home");
52
44
 
53
45
  case _propTypes.ViewNames.onboarding:
54
- return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
55
- onPress: handlePress('quizzer')
56
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view onboarding"));
46
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view onboarding");
57
47
 
58
48
  case _propTypes.ViewNames.slides:
59
49
  return /*#__PURE__*/_react.default.createElement(_slides.default, _extends({}, slides, dispachers));
@@ -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","navigateTo","handlePress","v","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,QAAM;AAACC,IAAAA;AAAD,MAAeD,UAArB;;AACA,QAAME,WAAW,GAAGC,CAAC,IAAI,MAAMF,UAAU,CAACE,CAAD,CAAzC;;AAEA,UAAQL,QAAR;AACE,SAAKM,qBAAUC,IAAf;AACE,0BACE,6BAAC,sBAAD;AAAW,QAAA,OAAO,EAAEH,WAAW,CAAC,YAAD;AAA/B,sBACE,6BAAC,iBAAD,oBADF,CADF;;AAKF,SAAKE,qBAAUE,UAAf;AACE,0BACE,6BAAC,sBAAD;AAAW,QAAA,OAAO,EAAEJ,WAAW,CAAC,SAAD;AAA/B,sBACE,6BAAC,iBAAD,0BADF,CADF;;AAKF,SAAKE,qBAAUL,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;;AACF;AACE,0BAAO,6BAAC,iBAAD,+BAAP;AAhBJ;AAkBD,CAtBD,C,CAwBA;;;AAEA,MAAMO,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,EAAEnB,MAAM,CAACG;AAApB,kBACE,6BAAC,MAAD,EAAYe,KAAZ,CADF,CADF;AAKD,CApBD,C,CAsBA;;;AAEAD,SAAS,CAACQ,SAAV,2CAAsBA,kBAAtB;AACAlB,MAAM,CAACkB,SAAP,2CAAmBR,SAAS,CAACQ,SAA7B,M,CAEA;;eAEeR,S","sourcesContent":["import React, {useEffect} from 'react';\nimport {Text, StyleSheet, Pressable, 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 const {navigateTo} = dispachers;\n const handlePress = v => () => navigateTo(v);\n\n switch (viewName) {\n case ViewNames.home:\n return (\n <Pressable onPress={handlePress('onboarding')}>\n <Text>view home</Text>\n </Pressable>\n );\n case ViewNames.onboarding:\n return (\n <Pressable onPress={handlePress('quizzer')}>\n <Text>view onboarding</Text>\n </Pressable>\n );\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;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"}
@@ -20,7 +20,8 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
20
20
  const ViewNames = {
21
21
  skills: 'skills',
22
22
  onboarding: 'onboarding',
23
- slides: 'slides'
23
+ slides: 'slides',
24
+ default: 'loader'
24
25
  };
25
26
  exports.ViewNames = ViewNames;
26
27
  var _default = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/app-review/prop-types.js"],"names":["ViewNames","skills","onboarding","slides","viewName","PropTypes","oneOf","shape","Onboarding","propTypes","Skills","Slides"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,MAAM,EAAE,QADe;AAEvBC,EAAAA,UAAU,EAAE,YAFW;AAGvBC,EAAAA,MAAM,EAAE;AAHe,CAAlB;;eAMQ;AACbC,EAAAA,QAAQ,EAAEC,mBAAUC,KAAV,CAAgB,mBAAKN,SAAL,CAAhB,CADG;AAEbE,EAAAA,UAAU,EAAEG,mBAAUE,KAAV,cAAoBC,oBAAWC,SAA/B,EAFC;AAGbR,EAAAA,MAAM,EAAEI,mBAAUE,KAAV,cAAoBG,gBAAOD,SAA3B,EAHK;AAIbN,EAAAA,MAAM,EAAEE,mBAAUE,KAAV,cAAoBI,gBAAOF,SAA3B;AAJK,C","sourcesContent":["import PropTypes from 'prop-types';\nimport keys from 'lodash/fp/keys';\nimport Onboarding from './onboarding';\nimport Skills from './skills';\nimport Slides from './slides';\n\nexport const ViewNames = {\n skills: 'skills',\n onboarding: 'onboarding',\n slides: 'slides'\n};\n\nexport default {\n viewName: PropTypes.oneOf(keys(ViewNames)),\n onboarding: PropTypes.shape({...Onboarding.propTypes}),\n skills: PropTypes.shape({...Skills.propTypes}),\n slides: PropTypes.shape({...Slides.propTypes})\n};\n"],"file":"prop-types.js"}
1
+ {"version":3,"sources":["../../../src/template/app-review/prop-types.js"],"names":["ViewNames","skills","onboarding","slides","default","viewName","PropTypes","oneOf","shape","Onboarding","propTypes","Skills","Slides"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,MAAM,EAAE,QADe;AAEvBC,EAAAA,UAAU,EAAE,YAFW;AAGvBC,EAAAA,MAAM,EAAE,QAHe;AAIvBC,EAAAA,OAAO,EAAE;AAJc,CAAlB;;eAOQ;AACbC,EAAAA,QAAQ,EAAEC,mBAAUC,KAAV,CAAgB,mBAAKP,SAAL,CAAhB,CADG;AAEbE,EAAAA,UAAU,EAAEI,mBAAUE,KAAV,cAAoBC,oBAAWC,SAA/B,EAFC;AAGbT,EAAAA,MAAM,EAAEK,mBAAUE,KAAV,cAAoBG,gBAAOD,SAA3B,EAHK;AAIbP,EAAAA,MAAM,EAAEG,mBAAUE,KAAV,cAAoBI,gBAAOF,SAA3B;AAJK,C","sourcesContent":["import PropTypes from 'prop-types';\nimport keys from 'lodash/fp/keys';\nimport Onboarding from './onboarding';\nimport Skills from './skills';\nimport Slides from './slides';\n\nexport const ViewNames = {\n skills: 'skills',\n onboarding: 'onboarding',\n slides: 'slides',\n default: 'loader'\n};\n\nexport default {\n viewName: PropTypes.oneOf(keys(ViewNames)),\n onboarding: PropTypes.shape({...Onboarding.propTypes}),\n skills: PropTypes.shape({...Skills.propTypes}),\n slides: PropTypes.shape({...Slides.propTypes})\n};\n"],"file":"prop-types.js"}
@@ -289,9 +289,9 @@ const SlidesReview = ({
289
289
  (0, _react.useEffect)(
290
290
  /* istanbul ignore next */
291
291
  () => {
292
- const slideNumber = (0, _get.default)('slideNumber', progression);
292
+ const slideNumber = (0, _get.default)('slideNumber', progression); // temporal fix, should check for new slides in the state && then update
293
293
 
294
- if (progression) {
294
+ if (progression && slideNumber !== 0) {
295
295
  const hidden = (0, _getOr.default)(false, `${slideNumber}.hidden`, slides);
296
296
  const endReview = (0, _getOr.default)(false, `${slideNumber}.endReview`, slides);
297
297
  const position = (0, _get.default)(`${slideNumber}.position`, slides);