@coorpacademy/components 10.22.3 → 10.22.6

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 (166) hide show
  1. package/README.md +11 -5
  2. package/es/atom/choice/index.native.js +132 -0
  3. package/es/atom/choice/index.native.js.map +1 -0
  4. package/es/atom/drag-and-drop/index.js +2 -1
  5. package/es/atom/drag-and-drop/index.js.map +1 -1
  6. package/es/atom/gradient/index.native.js +46 -0
  7. package/es/atom/gradient/index.native.js.map +1 -0
  8. package/es/atom/header-back-button/index.native.js +3 -4
  9. package/es/atom/header-back-button/index.native.js.map +1 -1
  10. package/es/atom/html/index.native.js +146 -0
  11. package/es/atom/html/index.native.js.map +1 -0
  12. package/es/atom/image-backgound/index.native.js +90 -0
  13. package/es/atom/image-backgound/index.native.js.map +1 -0
  14. package/es/atom/input-checkbox/index.js +3 -2
  15. package/es/atom/input-checkbox/index.js.map +1 -1
  16. package/es/atom/input-switch/index.js +45 -7
  17. package/es/atom/input-switch/index.js.map +1 -1
  18. package/es/atom/input-switch/style.css +56 -6
  19. package/es/atom/select-modal/index.native.js +113 -0
  20. package/es/atom/select-modal/index.native.js.map +1 -0
  21. package/es/atom/space/index.native.js +21 -0
  22. package/es/atom/space/index.native.js.map +1 -0
  23. package/es/atom/text/index.native.js +31 -0
  24. package/es/atom/text/index.native.js.map +1 -0
  25. package/es/hoc/modal/index.native.js +97 -0
  26. package/es/hoc/modal/index.native.js.map +1 -0
  27. package/es/hoc/modal/select/index.native.js +86 -0
  28. package/es/hoc/modal/select/index.native.js.map +1 -0
  29. package/es/hoc/modal/select-item/index.native.js +54 -0
  30. package/es/hoc/modal/select-item/index.native.js.map +1 -0
  31. package/es/hoc/touchable/index.native.js.map +1 -1
  32. package/es/index.js +2 -1
  33. package/es/index.js.map +1 -1
  34. package/es/molecule/answer/index.js +39 -32
  35. package/es/molecule/answer/index.js.map +1 -1
  36. package/es/molecule/cm-popin/index.js +125 -19
  37. package/es/molecule/cm-popin/index.js.map +1 -1
  38. package/es/molecule/cm-popin/style.css +176 -9
  39. package/es/molecule/feedback/index.js +7 -3
  40. package/es/molecule/feedback/index.js.map +1 -1
  41. package/es/molecule/feedback/style.css +24 -0
  42. package/es/molecule/questions/free-text/index.native.js +8 -8
  43. package/es/molecule/questions/free-text/index.native.js.map +1 -1
  44. package/es/molecule/questions/mobile/template/index.native.js +222 -0
  45. package/es/molecule/questions/mobile/template/index.native.js.map +1 -0
  46. package/es/template/app-player/player/index.js +6 -3
  47. package/es/template/app-player/player/index.js.map +1 -1
  48. package/es/template/app-player/popin-end/index.js +21 -6
  49. package/es/template/app-player/popin-end/index.js.map +1 -1
  50. package/es/template/app-player/popin-end/style.css +1 -1
  51. package/es/template/app-player/popin-end/summary.css +65 -0
  52. package/es/template/app-player/popin-end/summary.js +57 -7
  53. package/es/template/app-player/popin-end/summary.js.map +1 -1
  54. package/es/template/app-player/popin-header/index.js +33 -12
  55. package/es/template/app-player/popin-header/index.js.map +1 -1
  56. package/es/template/app-player/popin-header/style.css +93 -0
  57. package/es/template/app-player/popin-no-access/index.js +27 -0
  58. package/es/template/app-player/popin-no-access/index.js.map +1 -0
  59. package/es/template/app-review/prop-types.js +2 -1
  60. package/es/template/app-review/prop-types.js.map +1 -1
  61. package/es/template/app-review/slides/index.js +2 -2
  62. package/es/template/app-review/slides/index.js.map +1 -1
  63. package/es/template/app-review/template-context.js +1 -0
  64. package/es/template/app-review/template-context.js.map +1 -1
  65. package/es/template/common/dashboard/index.js +6 -3
  66. package/es/template/common/dashboard/index.js.map +1 -1
  67. package/es/types/app-review.d.js +2 -0
  68. package/es/types/app-review.d.js.map +1 -0
  69. package/es/types/progression-engine.d.js +2 -0
  70. package/es/types/progression-engine.d.js.map +1 -0
  71. package/es/types/translations.js +2 -0
  72. package/es/types/translations.js.map +1 -0
  73. package/es/util/build-query-string.js +9 -0
  74. package/es/util/build-query-string.js.map +1 -0
  75. package/es/util/get-clean-uri.js +4 -0
  76. package/es/util/get-clean-uri.js.map +1 -0
  77. package/es/util/get-resized-image.js +39 -0
  78. package/es/util/get-resized-image.js.map +1 -0
  79. package/es/util/parse-template-string.js +4 -2
  80. package/es/util/parse-template-string.js.map +1 -1
  81. package/es/variables/colors.css +1 -0
  82. package/es/variables/theme.native.js +1 -0
  83. package/es/variables/theme.native.js.map +1 -1
  84. package/lib/atom/choice/index.native.js +150 -0
  85. package/lib/atom/choice/index.native.js.map +1 -0
  86. package/lib/atom/drag-and-drop/index.js +2 -1
  87. package/lib/atom/drag-and-drop/index.js.map +1 -1
  88. package/lib/atom/gradient/index.native.js +56 -0
  89. package/lib/atom/gradient/index.native.js.map +1 -0
  90. package/lib/atom/header-back-button/index.native.js +3 -4
  91. package/lib/atom/header-back-button/index.native.js.map +1 -1
  92. package/lib/atom/html/index.native.js +163 -0
  93. package/lib/atom/html/index.native.js.map +1 -0
  94. package/lib/atom/image-backgound/index.native.js +105 -0
  95. package/lib/atom/image-backgound/index.native.js.map +1 -0
  96. package/lib/atom/input-checkbox/index.js +2 -1
  97. package/lib/atom/input-checkbox/index.js.map +1 -1
  98. package/lib/atom/input-switch/index.js +45 -7
  99. package/lib/atom/input-switch/index.js.map +1 -1
  100. package/lib/atom/input-switch/style.css +56 -6
  101. package/lib/atom/select-modal/index.native.js +135 -0
  102. package/lib/atom/select-modal/index.native.js.map +1 -0
  103. package/lib/atom/space/index.native.js +33 -0
  104. package/lib/atom/space/index.native.js.map +1 -0
  105. package/lib/atom/text/index.native.js +46 -0
  106. package/lib/atom/text/index.native.js.map +1 -0
  107. package/lib/hoc/modal/index.native.js +114 -0
  108. package/lib/hoc/modal/index.native.js.map +1 -0
  109. package/lib/hoc/modal/select/index.native.js +103 -0
  110. package/lib/hoc/modal/select/index.native.js.map +1 -0
  111. package/lib/hoc/modal/select-item/index.native.js +70 -0
  112. package/lib/hoc/modal/select-item/index.native.js.map +1 -0
  113. package/lib/hoc/touchable/index.native.js.map +1 -1
  114. package/lib/index.js +4 -0
  115. package/lib/index.js.map +1 -1
  116. package/lib/molecule/answer/index.js +39 -32
  117. package/lib/molecule/answer/index.js.map +1 -1
  118. package/lib/molecule/cm-popin/index.js +126 -18
  119. package/lib/molecule/cm-popin/index.js.map +1 -1
  120. package/lib/molecule/cm-popin/style.css +176 -9
  121. package/lib/molecule/feedback/index.js +7 -3
  122. package/lib/molecule/feedback/index.js.map +1 -1
  123. package/lib/molecule/feedback/style.css +24 -0
  124. package/lib/molecule/questions/free-text/index.native.js +7 -7
  125. package/lib/molecule/questions/free-text/index.native.js.map +1 -1
  126. package/lib/molecule/questions/mobile/template/index.native.js +243 -0
  127. package/lib/molecule/questions/mobile/template/index.native.js.map +1 -0
  128. package/lib/template/app-player/player/index.js +7 -3
  129. package/lib/template/app-player/player/index.js.map +1 -1
  130. package/lib/template/app-player/popin-end/index.js +21 -6
  131. package/lib/template/app-player/popin-end/index.js.map +1 -1
  132. package/lib/template/app-player/popin-end/style.css +1 -1
  133. package/lib/template/app-player/popin-end/summary.css +65 -0
  134. package/lib/template/app-player/popin-end/summary.js +58 -7
  135. package/lib/template/app-player/popin-end/summary.js.map +1 -1
  136. package/lib/template/app-player/popin-header/index.js +32 -11
  137. package/lib/template/app-player/popin-header/index.js.map +1 -1
  138. package/lib/template/app-player/popin-header/style.css +93 -0
  139. package/lib/template/app-player/popin-no-access/index.js +37 -0
  140. package/lib/template/app-player/popin-no-access/index.js.map +1 -0
  141. package/lib/template/app-review/prop-types.js +2 -1
  142. package/lib/template/app-review/prop-types.js.map +1 -1
  143. package/lib/template/app-review/slides/index.js +2 -2
  144. package/lib/template/app-review/slides/index.js.map +1 -1
  145. package/lib/template/app-review/template-context.js +1 -0
  146. package/lib/template/app-review/template-context.js.map +1 -1
  147. package/lib/template/common/dashboard/index.js +7 -3
  148. package/lib/template/common/dashboard/index.js.map +1 -1
  149. package/lib/types/app-review.d.js +2 -0
  150. package/lib/types/app-review.d.js.map +1 -0
  151. package/lib/types/progression-engine.d.js +2 -0
  152. package/lib/types/progression-engine.d.js.map +1 -0
  153. package/lib/types/translations.js +2 -0
  154. package/lib/types/translations.js.map +1 -0
  155. package/lib/util/build-query-string.js +17 -0
  156. package/lib/util/build-query-string.js.map +1 -0
  157. package/lib/util/get-clean-uri.js +10 -0
  158. package/lib/util/get-clean-uri.js.map +1 -0
  159. package/lib/util/get-resized-image.js +49 -0
  160. package/lib/util/get-resized-image.js.map +1 -0
  161. package/lib/util/parse-template-string.js +4 -2
  162. package/lib/util/parse-template-string.js.map +1 -1
  163. package/lib/variables/colors.css +1 -0
  164. package/lib/variables/theme.native.js +3 -1
  165. package/lib/variables/theme.native.js.map +1 -1
  166. package/package.json +8 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-player/popin-header/index.js"],"names":["React","PropTypes","NovaCompositionNavigationArrowRight","ArrowRight","NovaCompositionCoorpacademyCharts","ChartsIcon","NovaCompositionCoorpacademyStar","StarIcon","classnames","Loader","Life","Link","Animation","EASE_OUT_CUBIC","Transition","AnimationScheduler","AnimationAdapter","Provider","innerHTML","style","separator","index","answerSeparator","joinBySeparator","elements","separators","length","AnswersCorrection","corrections","answers","map","correction","key","isCorrect","correctAnswer","wrongAnswer","__html","answer","fullAnswer","propTypes","arrayOf","shape","string","isRequired","bool","formatPlusSign","value","Rank","failed","rank","animated","onAnimationEnd","skin","positive","centerContent","bumped","iconBubble","icon","iconText","progress","contextTypes","childContextTypes","Stars","stars","Lifes","lives","revival","life","count","IconsPart","props","iconsWrapper","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","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":["React","PropTypes","NovaCompositionNavigationArrowRight","ArrowRight","NovaCompositionCoorpacademyCharts","ChartsIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyCheck","CheckIcon","NovaSolidStatusClose","Close","classnames","Loader","Life","Link","Animation","EASE_OUT_CUBIC","Transition","AnimationScheduler","AnimationAdapter","Provider","innerHTML","style","separator","index","answerSeparator","joinBySeparator","elements","separators","length","AnswersCorrection","corrections","answers","map","correction","key","isCorrect","correctAnswer","wrongAnswer","__html","answer","fullAnswer","propTypes","arrayOf","shape","string","isRequired","bool","formatPlusSign","value","Rank","failed","rank","animated","onAnimationEnd","skin","positive","centerContent","bumped","iconBubble","icon","iconText","progress","contextTypes","childContextTypes","Stars","stars","Lifes","lives","revival","life","count","IconsPart","props","iconsWrapper","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","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,27 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import CMPopin from '../../../molecule/cm-popin';
4
+
5
+ const PopinNoAccess = props => {
6
+ const {
7
+ content,
8
+ icon,
9
+ backgroundImageUrl,
10
+ descriptionText
11
+ } = props;
12
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(CMPopin, {
13
+ content: content,
14
+ icon: icon,
15
+ backgroundImageUrl: backgroundImageUrl,
16
+ descriptionText: descriptionText
17
+ }));
18
+ };
19
+
20
+ PopinNoAccess.propTypes = process.env.NODE_ENV !== "production" ? {
21
+ content: PropTypes.string,
22
+ icon: PropTypes.string,
23
+ backgroundImageUrl: PropTypes.string,
24
+ descriptionText: PropTypes.string
25
+ } : {};
26
+ export default PopinNoAccess;
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/template/app-player/popin-no-access/index.js"],"names":["React","PropTypes","CMPopin","PopinNoAccess","props","content","icon","backgroundImageUrl","descriptionText","propTypes","string"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,OAAP,MAAoB,4BAApB;;AAEA,MAAMC,aAAa,GAAGC,KAAK,IAAI;AAC7B,QAAM;AAACC,IAAAA,OAAD;AAAUC,IAAAA,IAAV;AAAgBC,IAAAA,kBAAhB;AAAoCC,IAAAA;AAApC,MAAuDJ,KAA7D;AACA,sBACE,8CACE,oBAAC,OAAD;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,EAAEJ,SAAS,CAACS,MADK;AAExBJ,EAAAA,IAAI,EAAEL,SAAS,CAACS,MAFQ;AAGxBH,EAAAA,kBAAkB,EAAEN,SAAS,CAACS,MAHN;AAIxBF,EAAAA,eAAe,EAAEP,SAAS,CAACS;AAJH,CAA1B;AAOA,eAAeP,aAAf","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"}
@@ -8,7 +8,8 @@ import Slides from './slides';
8
8
  export const ViewNames = {
9
9
  skills: 'skills',
10
10
  onboarding: 'onboarding',
11
- slides: 'slides'
11
+ slides: 'slides',
12
+ default: 'loader'
12
13
  };
13
14
  export default {
14
15
  viewName: PropTypes.oneOf(keys(ViewNames)),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/app-review/prop-types.js"],"names":["PropTypes","keys","Onboarding","Skills","Slides","ViewNames","skills","onboarding","slides","viewName","oneOf","shape","propTypes"],"mappings":";;AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,MAAM,EAAE,QADe;AAEvBC,EAAAA,UAAU,EAAE,YAFW;AAGvBC,EAAAA,MAAM,EAAE;AAHe,CAAlB;AAMP,eAAe;AACbC,EAAAA,QAAQ,EAAET,SAAS,CAACU,KAAV,CAAgBT,IAAI,CAACI,SAAD,CAApB,CADG;AAEbE,EAAAA,UAAU,EAAEP,SAAS,CAACW,KAAV,cAAoBT,UAAU,CAACU,SAA/B,EAFC;AAGbN,EAAAA,MAAM,EAAEN,SAAS,CAACW,KAAV,cAAoBR,MAAM,CAACS,SAA3B,EAHK;AAIbJ,EAAAA,MAAM,EAAER,SAAS,CAACW,KAAV,cAAoBP,MAAM,CAACQ,SAA3B;AAJK,CAAf","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":["PropTypes","keys","Onboarding","Skills","Slides","ViewNames","skills","onboarding","slides","default","viewName","oneOf","shape","propTypes"],"mappings":";;AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,MAAM,EAAE,QADe;AAEvBC,EAAAA,UAAU,EAAE,YAFW;AAGvBC,EAAAA,MAAM,EAAE,QAHe;AAIvBC,EAAAA,OAAO,EAAE;AAJc,CAAlB;AAOP,eAAe;AACbC,EAAAA,QAAQ,EAAEV,SAAS,CAACW,KAAV,CAAgBV,IAAI,CAACI,SAAD,CAApB,CADG;AAEbE,EAAAA,UAAU,EAAEP,SAAS,CAACY,KAAV,cAAoBV,UAAU,CAACW,SAA/B,EAFC;AAGbP,EAAAA,MAAM,EAAEN,SAAS,CAACY,KAAV,cAAoBT,MAAM,CAACU,SAA3B,EAHK;AAIbL,EAAAA,MAAM,EAAER,SAAS,CAACY,KAAV,cAAoBR,MAAM,CAACS,SAA3B;AAJK,CAAf","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"}
@@ -257,9 +257,9 @@ const SlidesReview = ({
257
257
  useEffect(
258
258
  /* istanbul ignore next */
259
259
  () => {
260
- const slideNumber = get('slideNumber', progression);
260
+ const slideNumber = get('slideNumber', progression); // temporal fix, should check for new slides in the state && then update
261
261
 
262
- if (progression) {
262
+ if (progression && slideNumber !== 0) {
263
263
  const hidden = getOr(false, `${slideNumber}.hidden`, slides);
264
264
  const endReview = getOr(false, `${slideNumber}.endReview`, slides);
265
265
  const position = get(`${slideNumber}.position`, slides);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/slides/index.js"],"names":["React","useState","useMemo","useEffect","classnames","get","getOr","isNil","map","omit","pipe","size","ICON_VALUES","ReviewBackground","ReviewCongrats","ReviewHeader","ReviewCorrectionPopin","Answer","ButtonLink","style","SlidesReviewPropTypes","SlidePropTypes","StackedSlidesPropTypes","stylesByPosition","position0","position1","position2","position3","position4","TOTAL_SLIDES_STACK","HIGHEST_INDEX","getSlideAnimation","action","position","hidden","slideOutHideAndIn","slideOutAndIn","hiddenSlide","Slide","slideNumber","slides","primarySkinColor","validate","validateSlide","finishedSlides","finishedSlidesSize","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnNext","progression","correctionPopinProps","endReview","animationType","isSlideCorrect","questionText","answerUI","validateLabel","validateButtonProps","customStyle","backgroundColor","onClick","label","className","validateButton","disabled","klf","information","message","next","successLabel","failureLabel","_correctionPopinProps","exitNode","newSlideContent","isCorrect","numberOfFinishedSlides","stepNumber","current","type","resultLabel","questionOrigin","answerProps","model","answers","choices","slideBase","slideContentContainer","question","help","answerContainer","validateButtonWrapper","correctionPopinWrapper","hiddenCorrectionPopinWrapper","display","propTypes","StackedSlides","stackedSlides","slide","push","SlidesReview","headerProps","reviewBackgroundAriaLabel","stepItems","reviewStatus","congratsProps","updateSlidesOnValidation","updateStepItemsOnValidation","updateFinishedSlides","context","skin","shouldMountSlides","updateShouldMountSlides","nextContent","icon","right","wrong","value","setTimeout","stepItemsArray","stepItem","_headerProps","steps","key","hiddenSteps","slidesRevisionContainer","playerBackground","reviewHeaderContainer","stackedSlidesYAxisOverflowContainer","stackedSlidesContainer","congrats"],"mappings":"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","sourcesContent":["import React, {useState, useMemo, useEffect} from 'react';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport isNil from 'lodash/fp/isNil';\nimport map from 'lodash/fp/map';\nimport omit from 'lodash/fp/omit';\nimport pipe from 'lodash/fp/pipe';\nimport size from 'lodash/fp/size';\nimport {ICON_VALUES} from '../../../atom/review-header-step-item';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewHeader from '../../../organism/review-header';\nimport ReviewCorrectionPopin from '../../../molecule/review-correction-popin';\nimport Answer from '../../../molecule/answer';\nimport ButtonLink from '../../../atom/button-link';\nimport style from './style.css';\nimport {SlidesReviewPropTypes, SlidePropTypes, StackedSlidesPropTypes} from './prop-types';\n\nconst stylesByPosition = {\n 0: style.position0,\n 1: style.position1,\n 2: style.position2,\n 3: style.position3,\n 4: style.position4\n};\n\nexport const TOTAL_SLIDES_STACK = 5;\nexport const HIGHEST_INDEX = TOTAL_SLIDES_STACK - 1;\n\nconst getSlideAnimation = (action, position, hidden) => {\n switch (action) {\n /* istanbul ignore next */\n case 'unstack':\n return style.slideOutHideAndIn;\n /* istanbul ignore next */\n case 'restack':\n return style.slideOutAndIn;\n default:\n return hidden ? style.hiddenSlide : stylesByPosition[position];\n }\n};\n\nconst Slide = ({\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const animationType = getOr(false, `${slideNumber}.animationType`, slides);\n const isSlideCorrect = getOr(null, `${slideNumber}.isCorrect`, slides);\n const questionText = get(`${slideNumber}.questionText`, slides);\n const answerUI = get(`${slideNumber}.answerUI`, slides);\n\n const validateLabel = getOr('', 'label', validate);\n\n const validateButtonProps = {\n customStyle: {\n backgroundColor: primarySkinColor\n },\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextContent content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slides will disappear, also fired in a useEffect),\n\n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n */\n onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n 'aria-label': validateLabel,\n label: validateLabel,\n 'data-name': `slide-validate-button-${slideNumber}`,\n className: style.validateButton,\n disabled: !isNil(isSlideCorrect)\n };\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const successLabel = getOr('', 'successLabel', correctionPopinProps);\n const failureLabel = getOr('', 'failureLabel', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n /*\n next slide action, this will trigger the slides animations\n if it is the last slide AND the content needs to be different, then that update\n of the content will be handled here (and in the validate as it happens normally )\n from the content carried from the validate action.\n */\n onClick: () => {\n const exitNode = get('exitNode', progression);\n\n updateSlidesOnNext({\n slideNumber,\n newSlideContent: {\n hidden: !!isSlideCorrect,\n position: HIGHEST_INDEX - finishedSlidesSize, // to restack the slide\n animationType: isSlideCorrect ? 'unstack' : 'restack',\n isCorrect: isSlideCorrect,\n endReview: !!exitNode,\n answerUI,\n questionText\n },\n numberOfFinishedSlides: finishedSlidesSize\n });\n updateStepItemsOnNext({\n stepNumber: slideNumber,\n finishedSlides,\n current:\n finishedSlidesSize === HIGHEST_INDEX && /* istanbul ignore next */ !isSlideCorrect\n });\n\n if (finishedSlidesSize === TOTAL_SLIDES_STACK) updateReviewStatus('finished');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideNumber}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: isSlideCorrect ? 'right' : 'wrong',\n resultLabel: isSlideCorrect ? successLabel : failureLabel\n };\n\n const questionOrigin = 'From \"Master Design Thinking to become more agile\" course';\n const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div\n key={`slide-${slideNumber}`}\n data-name={`slide-${slideNumber}`}\n className={classnames(\n style.slideBase,\n getSlideAnimation(animationType, position, hidden),\n endReview ? style.endReview : null\n )}\n >\n {answerUI && questionText ? (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div key=\"title\" className={style.question}>\n {questionText}\n </div>\n <div key=\"help\" className={style.help}>\n {answerUI.help}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} key=\"answer\" />\n </div>\n </div>\n ) : null}\n\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n <div\n className={\n isSlideCorrect ? style.correctionPopinWrapper : style.hiddenCorrectionPopinWrapper\n }\n style={{\n ...(finishedSlidesSize !== HIGHEST_INDEX &&\n !isSlideCorrect && {\n display: 'none'\n })\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n </div>\n );\n};\n\nSlide.propTypes = SlidePropTypes;\n\nconst StackedSlides = ({\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const stackedSlides = [];\n // eslint-disable-next-line fp/no-loops\n for (let slideNumber = 0; slideNumber < TOTAL_SLIDES_STACK; slideNumber++) {\n const slide = (\n <Slide\n {...{\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n key={slideNumber}\n />\n );\n stackedSlides.push(slide);\n }\n\n return stackedSlides;\n};\n\nStackedSlides.propTypes = StackedSlidesPropTypes;\n\nconst SlidesReview = (\n {\n headerProps,\n reviewBackgroundAriaLabel,\n validate,\n correctionPopinProps,\n slides,\n finishedSlides,\n stepItems,\n reviewStatus,\n congratsProps,\n validateSlide,\n updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\n progression\n },\n context\n) => {\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n\n const finishedSlidesSize = useMemo(() => pipe(omit('slideNumbers'), size)(finishedSlides), [\n finishedSlides\n ]);\n\n /*\n ||-------> the slides have an slightly longer lifespan than the \"ongoing\" review State,\n after reviewState changes to \"finished\" the slides don't have to unmount until the last\n slide-out animation is finished, the slides have to be unmounted to be RGAA complaint.\n (if they are only invisible -but- still mounted, then they will be found by the assisting\n tools & clutter them)\n */\n const [shouldMountSlides, updateShouldMountSlides] = useState(true);\n\n useEffect(\n /* istanbul ignore next */ () => {\n const slideNumber = get('slideNumber', progression);\n if (progression) {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const isCorrect = get('isCorrect', progression);\n const exitNode = get('exitNode', progression);\n const nextContent = get('nextContent', progression);\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n isCorrect,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlidesSize,\n nextContent\n });\n updateStepItemsOnValidation({\n stepNumber: slideNumber,\n icon: isCorrect ? ICON_VALUES.right : ICON_VALUES.wrong\n });\n if (isCorrect) updateFinishedSlides({slideNumber, value: true});\n if (endReview) {\n updateReviewStatus('finished');\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [progression]\n );\n\n useEffect(\n /* istanbul ignore next */ () => {\n if (reviewStatus === 'finished') {\n setTimeout(() => updateShouldMountSlides(false), 2000);\n }\n },\n [finishedSlidesSize, reviewStatus, updateReviewStatus]\n );\n\n // ||-------> transform the step items state to Array\n const stepItemsArray = useMemo(\n () =>\n pipe(\n omit('slideNumbers'),\n map(stepItem => stepItem)\n )(stepItems),\n [stepItems]\n );\n\n const _headerProps = {\n ...headerProps,\n steps: stepItemsArray,\n key: 'review-header',\n hiddenSteps: reviewStatus !== 'ongoing'\n };\n\n return (\n <div\n key=\"slides-revision-container\"\n data-name=\"slides-revision-container\"\n className={style.slidesRevisionContainer}\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 {..._headerProps} />\n </div>\n\n {shouldMountSlides ? (\n <div\n key=\"stacked-slides-container-y-overflow\"\n className={style.stackedSlidesYAxisOverflowContainer}\n >\n <div\n key=\"stacked-slides-container\"\n data-name=\"stacked-slides-container\"\n className={style.stackedSlidesContainer}\n >\n <StackedSlides\n {...{\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n />\n </div>\n </div>\n ) : /* istanbul ignore next */ null}\n\n {reviewStatus === 'finished' ? (\n <div className={style.congrats} data-name=\"congrats-container\">\n <ReviewCongrats {...congratsProps} />\n </div>\n ) : null}\n </div>\n );\n};\n\nSlidesReview.propTypes = SlidesReviewPropTypes;\n\nexport default SlidesReview;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-review/slides/index.js"],"names":["React","useState","useMemo","useEffect","classnames","get","getOr","isNil","map","omit","pipe","size","ICON_VALUES","ReviewBackground","ReviewCongrats","ReviewHeader","ReviewCorrectionPopin","Answer","ButtonLink","style","SlidesReviewPropTypes","SlidePropTypes","StackedSlidesPropTypes","stylesByPosition","position0","position1","position2","position3","position4","TOTAL_SLIDES_STACK","HIGHEST_INDEX","getSlideAnimation","action","position","hidden","slideOutHideAndIn","slideOutAndIn","hiddenSlide","Slide","slideNumber","slides","primarySkinColor","validate","validateSlide","finishedSlides","finishedSlidesSize","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnNext","progression","correctionPopinProps","endReview","animationType","isSlideCorrect","questionText","answerUI","validateLabel","validateButtonProps","customStyle","backgroundColor","onClick","label","className","validateButton","disabled","klf","information","message","next","successLabel","failureLabel","_correctionPopinProps","exitNode","newSlideContent","isCorrect","numberOfFinishedSlides","stepNumber","current","type","resultLabel","questionOrigin","answerProps","model","answers","choices","slideBase","slideContentContainer","question","help","answerContainer","validateButtonWrapper","correctionPopinWrapper","hiddenCorrectionPopinWrapper","display","propTypes","StackedSlides","stackedSlides","slide","push","SlidesReview","headerProps","reviewBackgroundAriaLabel","stepItems","reviewStatus","congratsProps","updateSlidesOnValidation","updateStepItemsOnValidation","updateFinishedSlides","context","skin","shouldMountSlides","updateShouldMountSlides","nextContent","icon","right","wrong","value","setTimeout","stepItemsArray","stepItem","_headerProps","steps","key","hiddenSteps","slidesRevisionContainer","playerBackground","reviewHeaderContainer","stackedSlidesYAxisOverflowContainer","stackedSlidesContainer","congrats"],"mappings":"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","sourcesContent":["import React, {useState, useMemo, useEffect} from 'react';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport isNil from 'lodash/fp/isNil';\nimport map from 'lodash/fp/map';\nimport omit from 'lodash/fp/omit';\nimport pipe from 'lodash/fp/pipe';\nimport size from 'lodash/fp/size';\nimport {ICON_VALUES} from '../../../atom/review-header-step-item';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewHeader from '../../../organism/review-header';\nimport ReviewCorrectionPopin from '../../../molecule/review-correction-popin';\nimport Answer from '../../../molecule/answer';\nimport ButtonLink from '../../../atom/button-link';\nimport style from './style.css';\nimport {SlidesReviewPropTypes, SlidePropTypes, StackedSlidesPropTypes} from './prop-types';\n\nconst stylesByPosition = {\n 0: style.position0,\n 1: style.position1,\n 2: style.position2,\n 3: style.position3,\n 4: style.position4\n};\n\nexport const TOTAL_SLIDES_STACK = 5;\nexport const HIGHEST_INDEX = TOTAL_SLIDES_STACK - 1;\n\nconst getSlideAnimation = (action, position, hidden) => {\n switch (action) {\n /* istanbul ignore next */\n case 'unstack':\n return style.slideOutHideAndIn;\n /* istanbul ignore next */\n case 'restack':\n return style.slideOutAndIn;\n default:\n return hidden ? style.hiddenSlide : stylesByPosition[position];\n }\n};\n\nconst Slide = ({\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const animationType = getOr(false, `${slideNumber}.animationType`, slides);\n const isSlideCorrect = getOr(null, `${slideNumber}.isCorrect`, slides);\n const questionText = get(`${slideNumber}.questionText`, slides);\n const answerUI = get(`${slideNumber}.answerUI`, slides);\n\n const validateLabel = getOr('', 'label', validate);\n\n const validateButtonProps = {\n customStyle: {\n backgroundColor: primarySkinColor\n },\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextContent content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slides will disappear, also fired in a useEffect),\n\n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n */\n onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n 'aria-label': validateLabel,\n label: validateLabel,\n 'data-name': `slide-validate-button-${slideNumber}`,\n className: style.validateButton,\n disabled: !isNil(isSlideCorrect)\n };\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const successLabel = getOr('', 'successLabel', correctionPopinProps);\n const failureLabel = getOr('', 'failureLabel', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n /*\n next slide action, this will trigger the slides animations\n if it is the last slide AND the content needs to be different, then that update\n of the content will be handled here (and in the validate as it happens normally )\n from the content carried from the validate action.\n */\n onClick: () => {\n const exitNode = get('exitNode', progression);\n\n updateSlidesOnNext({\n slideNumber,\n newSlideContent: {\n hidden: !!isSlideCorrect,\n position: HIGHEST_INDEX - finishedSlidesSize, // to restack the slide\n animationType: isSlideCorrect ? 'unstack' : 'restack',\n isCorrect: isSlideCorrect,\n endReview: !!exitNode,\n answerUI,\n questionText\n },\n numberOfFinishedSlides: finishedSlidesSize\n });\n updateStepItemsOnNext({\n stepNumber: slideNumber,\n finishedSlides,\n current:\n finishedSlidesSize === HIGHEST_INDEX && /* istanbul ignore next */ !isSlideCorrect\n });\n\n if (finishedSlidesSize === TOTAL_SLIDES_STACK) updateReviewStatus('finished');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideNumber}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: isSlideCorrect ? 'right' : 'wrong',\n resultLabel: isSlideCorrect ? successLabel : failureLabel\n };\n\n const questionOrigin = 'From \"Master Design Thinking to become more agile\" course';\n const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div\n key={`slide-${slideNumber}`}\n data-name={`slide-${slideNumber}`}\n className={classnames(\n style.slideBase,\n getSlideAnimation(animationType, position, hidden),\n endReview ? style.endReview : null\n )}\n >\n {answerUI && questionText ? (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div key=\"title\" className={style.question}>\n {questionText}\n </div>\n <div key=\"help\" className={style.help}>\n {answerUI.help}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} key=\"answer\" />\n </div>\n </div>\n ) : null}\n\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n <div\n className={\n isSlideCorrect ? style.correctionPopinWrapper : style.hiddenCorrectionPopinWrapper\n }\n style={{\n ...(finishedSlidesSize !== HIGHEST_INDEX &&\n !isSlideCorrect && {\n display: 'none'\n })\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n </div>\n );\n};\n\nSlide.propTypes = SlidePropTypes;\n\nconst StackedSlides = ({\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const stackedSlides = [];\n // eslint-disable-next-line fp/no-loops\n for (let slideNumber = 0; slideNumber < TOTAL_SLIDES_STACK; slideNumber++) {\n const slide = (\n <Slide\n {...{\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n key={slideNumber}\n />\n );\n stackedSlides.push(slide);\n }\n\n return stackedSlides;\n};\n\nStackedSlides.propTypes = StackedSlidesPropTypes;\n\nconst SlidesReview = (\n {\n headerProps,\n reviewBackgroundAriaLabel,\n validate,\n correctionPopinProps,\n slides,\n finishedSlides,\n stepItems,\n reviewStatus,\n congratsProps,\n validateSlide,\n updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\n progression\n },\n context\n) => {\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n\n const finishedSlidesSize = useMemo(() => pipe(omit('slideNumbers'), size)(finishedSlides), [\n finishedSlides\n ]);\n\n /*\n ||-------> the slides have an slightly longer lifespan than the \"ongoing\" review State,\n after reviewState changes to \"finished\" the slides don't have to unmount until the last\n slide-out animation is finished, the slides have to be unmounted to be RGAA complaint.\n (if they are only invisible -but- still mounted, then they will be found by the assisting\n tools & clutter them)\n */\n const [shouldMountSlides, updateShouldMountSlides] = useState(true);\n\n useEffect(\n /* istanbul ignore next */ () => {\n const slideNumber = get('slideNumber', progression);\n // temporal fix, should check for new slides in the state && then update\n if (progression && slideNumber !== 0) {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const isCorrect = get('isCorrect', progression);\n const exitNode = get('exitNode', progression);\n const nextContent = get('nextContent', progression);\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n isCorrect,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlidesSize,\n nextContent\n });\n updateStepItemsOnValidation({\n stepNumber: slideNumber,\n icon: isCorrect ? ICON_VALUES.right : ICON_VALUES.wrong\n });\n if (isCorrect) updateFinishedSlides({slideNumber, value: true});\n if (endReview) {\n updateReviewStatus('finished');\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [progression]\n );\n\n useEffect(\n /* istanbul ignore next */ () => {\n if (reviewStatus === 'finished') {\n setTimeout(() => updateShouldMountSlides(false), 2000);\n }\n },\n [finishedSlidesSize, reviewStatus, updateReviewStatus]\n );\n\n // ||-------> transform the step items state to Array\n const stepItemsArray = useMemo(\n () =>\n pipe(\n omit('slideNumbers'),\n map(stepItem => stepItem)\n )(stepItems),\n [stepItems]\n );\n\n const _headerProps = {\n ...headerProps,\n steps: stepItemsArray,\n key: 'review-header',\n hiddenSteps: reviewStatus !== 'ongoing'\n };\n\n return (\n <div\n key=\"slides-revision-container\"\n data-name=\"slides-revision-container\"\n className={style.slidesRevisionContainer}\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 {..._headerProps} />\n </div>\n\n {shouldMountSlides ? (\n <div\n key=\"stacked-slides-container-y-overflow\"\n className={style.stackedSlidesYAxisOverflowContainer}\n >\n <div\n key=\"stacked-slides-container\"\n data-name=\"stacked-slides-container\"\n className={style.stackedSlidesContainer}\n >\n <StackedSlides\n {...{\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n />\n </div>\n </div>\n ) : /* istanbul ignore next */ null}\n\n {reviewStatus === 'finished' ? (\n <div className={style.congrats} data-name=\"congrats-container\">\n <ReviewCongrats {...congratsProps} />\n </div>\n ) : null}\n </div>\n );\n};\n\nSlidesReview.propTypes = SlidesReviewPropTypes;\n\nexport default SlidesReview;\n"],"file":"index.js"}
@@ -6,6 +6,7 @@ import defaultTheme from '../../variables/theme.native';
6
6
  // -----------------------------------------------------------------------------
7
7
  const Context = createContext({
8
8
  theme: defaultTheme,
9
+ translations: {},
9
10
  display: {
10
11
  statusBarHeight: 42
11
12
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/app-review/template-context.tsx"],"names":["React","createContext","useContext","defaultTheme","Context","theme","display","statusBarHeight","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;AAAA;AAEA,OAAOA,KAAP,IAAeC,aAAf,EAA8BC,UAA9B,QAA+C,OAA/C;AAEA,OAAOC,YAAP,MAAkC,8BAAlC;AAeA;AAEA,MAAMC,OAAO,GAAGH,aAAa,CAAC;AAC5BI,EAAAA,KAAK,EAAEF,YADqB;AAE5BG,EAAAA,OAAO,EAAE;AACPC,IAAAA,eAAe,EAAE;AADV;AAFmB,CAAD,CAA7B,C,CAOA;;AAEA,MAAMC,kBAAkB,GAAG,MAA6B;AACtD,QAAMC,OAAO,GAAGP,UAAU,CAACE,OAAD,CAA1B;;AAEA,MAAI,CAACK,OAAL,EAAc;AACZ,UAAM,IAAIC,KAAJ,CACH,yFADG,CAAN;AAGD;;AAED,SAAOD,OAAP;AACD,CAVD,C,CAYA;;;AAEA,MAAME,eAAe,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA;AAAT,CAAD,KAA+B;AACrD,sBAAO,oBAAC,OAAD,CAAS,QAAT;AAAkB,IAAA,KAAK,eAAMD,MAAN;AAAvB,KAAuCC,QAAvC,CAAP;AACD,CAFD,C,CAIA;;;AAEA,SAAQF,eAAR,EAAyBH,kBAAzB","sourcesContent":["// -----------------------------------------------------------------------------\n\nimport React, {createContext, useContext} from 'react';\nimport {Analytics} from '../../variables/analytics';\nimport defaultTheme, {Theme} from '../../variables/theme.native';\nimport {Vibration} from '../../variables/vibration';\n\nexport type TemplateContextValues = {\n analytics?: Analytics;\n brandTheme?: any;\n theme: Theme;\n vibration?: Vibration;\n display: {\n statusBarHeight: number;\n };\n};\n\ntype Props = {values: TemplateContextValues; children: any};\n\n// -----------------------------------------------------------------------------\n\nconst Context = createContext({\n theme: defaultTheme,\n display: {\n statusBarHeight: 42\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst useTemplateContext = (): TemplateContextValues => {\n const context = useContext(Context);\n\n if (!context) {\n throw new Error(\n `❌ [TemplateContext] useTemplateContext must be used within a provider <TemplateContext>`\n );\n }\n\n return context;\n};\n\n// -----------------------------------------------------------------------------\n\nconst TemplateContext = ({values, children}: Props) => {\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\n};\n\n// -----------------------------------------------------------------------------\n\nexport {TemplateContext, useTemplateContext};\n"],"file":"template-context.js"}
1
+ {"version":3,"sources":["../../../src/template/app-review/template-context.tsx"],"names":["React","createContext","useContext","defaultTheme","Context","theme","translations","display","statusBarHeight","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;AAAA;AAEA,OAAOA,KAAP,IAAeC,aAAf,EAA8BC,UAA9B,QAA+C,OAA/C;AAGA,OAAOC,YAAP,MAAkC,8BAAlC;AAgBA;AAEA,MAAMC,OAAO,GAAGH,aAAa,CAAC;AAC5BI,EAAAA,KAAK,EAAEF,YADqB;AAE5BG,EAAAA,YAAY,EAAE,EAFc;AAG5BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,eAAe,EAAE;AADV;AAHmB,CAAD,CAA7B,C,CAQA;;AAEA,MAAMC,kBAAkB,GAAG,MAA6B;AACtD,QAAMC,OAAO,GAAGR,UAAU,CAACE,OAAD,CAA1B;;AAEA,MAAI,CAACM,OAAL,EAAc;AACZ,UAAM,IAAIC,KAAJ,CACH,yFADG,CAAN;AAGD;;AAED,SAAOD,OAAP;AACD,CAVD,C,CAYA;;;AAEA,MAAME,eAAe,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA;AAAT,CAAD,KAA+B;AACrD,sBAAO,oBAAC,OAAD,CAAS,QAAT;AAAkB,IAAA,KAAK,eAAMD,MAAN;AAAvB,KAAuCC,QAAvC,CAAP;AACD,CAFD,C,CAIA;;;AAEA,SAAQF,eAAR,EAAyBH,kBAAzB","sourcesContent":["// -----------------------------------------------------------------------------\n\nimport React, {createContext, useContext} from 'react';\nimport {Translations} from '../../types/translations';\nimport {Analytics} from '../../variables/analytics';\nimport defaultTheme, {Theme} from '../../variables/theme.native';\nimport {Vibration} from '../../variables/vibration';\n\nexport type TemplateContextValues = {\n analytics?: Analytics;\n brandTheme?: any;\n theme: Theme;\n translations: Translations;\n vibration?: Vibration;\n display: {\n statusBarHeight: number;\n };\n};\n\ntype Props = {values: TemplateContextValues; children: any};\n\n// -----------------------------------------------------------------------------\n\nconst Context = createContext({\n theme: defaultTheme,\n translations: {},\n display: {\n statusBarHeight: 42\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst useTemplateContext = (): TemplateContextValues => {\n const context = useContext(Context);\n\n if (!context) {\n throw new Error(\n `❌ [TemplateContext] useTemplateContext must be used within a provider <TemplateContext>`\n );\n }\n\n return context;\n};\n\n// -----------------------------------------------------------------------------\n\nconst TemplateContext = ({values, children}: Props) => {\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\n};\n\n// -----------------------------------------------------------------------------\n\nexport {TemplateContext, useTemplateContext};\n"],"file":"template-context.js"}
@@ -6,6 +6,7 @@ import BattleRequestList from '../../../molecule/dashboard/battle-request-list';
6
6
  import CardsList from '../../../molecule/dashboard/cards-list';
7
7
  import NewsList from '../../../molecule/dashboard/news-list';
8
8
  import StartBattle from '../../../molecule/dashboard/start-battle';
9
+ import CMPopin from '../../../molecule/cm-popin';
9
10
  import style from './style.css';
10
11
  const Hero = React.memo(function Hero({
11
12
  hero,
@@ -24,7 +25,8 @@ const Dashboard = props => {
24
25
  const {
25
26
  sections = [],
26
27
  hero,
27
- welcome
28
+ welcome,
29
+ cookie
28
30
  } = props;
29
31
 
30
32
  const buildSectionComponent = section => {
@@ -72,13 +74,14 @@ const Dashboard = props => {
72
74
  return /*#__PURE__*/React.createElement("div", {
73
75
  className: style.wrapper,
74
76
  "data-name": "dashboard"
75
- }, sectionsList);
77
+ }, sectionsList, cookie ? /*#__PURE__*/React.createElement(CMPopin, cookie) : null);
76
78
  };
77
79
 
78
80
  Dashboard.propTypes = process.env.NODE_ENV !== "production" ? {
79
81
  hero: Hero.propTypes.hero,
80
82
  welcome: Hero.propTypes.welcome,
81
- sections: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape(BattleRequestList.propTypes), PropTypes.shape(CardsList.propTypes), PropTypes.shape(NewsList.propTypes), PropTypes.shape(StartBattle.propTypes)]))
83
+ sections: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape(BattleRequestList.propTypes), PropTypes.shape(CardsList.propTypes), PropTypes.shape(NewsList.propTypes), PropTypes.shape(StartBattle.propTypes)])),
84
+ cookie: PropTypes.shape(CMPopin.propTypes)
82
85
  } : {};
83
86
  export default Dashboard;
84
87
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/common/dashboard/index.js"],"names":["React","PropTypes","Slide","HeroCard","BattleRequestList","CardsList","NewsList","StartBattle","style","Hero","memo","hero","welcome","propTypes","shape","Dashboard","props","sections","buildSectionComponent","section","type","buildSection","index","sectionView","sectionsList","key","map","wrapper","arrayOf","oneOfType"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Slide from '../../../atom/slide';\nimport HeroCard from '../../../molecule/hero';\nimport BattleRequestList from '../../../molecule/dashboard/battle-request-list';\nimport CardsList from '../../../molecule/dashboard/cards-list';\nimport NewsList from '../../../molecule/dashboard/news-list';\nimport StartBattle from '../../../molecule/dashboard/start-battle';\nimport style from './style.css';\n\nconst Hero = React.memo(function Hero({hero, welcome}) {\n return <div className={style.hero}>{hero ? <HeroCard {...hero} /> : <Slide {...welcome} />}</div>;\n});\n\nHero.propTypes = {\n hero: PropTypes.shape(HeroCard.propTypes),\n welcome: PropTypes.shape(Slide.propTypes)\n};\n\nconst Dashboard = props => {\n const {sections = [], hero, welcome} = props;\n\n const buildSectionComponent = section => {\n const {type} = section;\n switch (type) {\n case 'hero':\n return <Hero hero={hero} welcome={welcome} />;\n case 'battleRequests':\n return <BattleRequestList {...section} />;\n case 'cards':\n return <CardsList {...section} />;\n case 'news':\n return <NewsList {...section} />;\n case 'battle':\n return <StartBattle {...section} />;\n default:\n return null;\n }\n };\n\n const buildSection = (section, index) => {\n const sectionView = buildSectionComponent(section);\n\n return <div key={index}>{sectionView}</div>;\n };\n\n const sectionsList = [{type: 'hero', key: 'hero'}, ...sections].map(section => (\n <div key={section.key}>{buildSection(section)}</div>\n ));\n return (\n <div className={style.wrapper} data-name=\"dashboard\">\n {sectionsList}\n </div>\n );\n};\n\nDashboard.propTypes = {\n hero: Hero.propTypes.hero,\n welcome: Hero.propTypes.welcome,\n sections: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape(BattleRequestList.propTypes),\n PropTypes.shape(CardsList.propTypes),\n PropTypes.shape(NewsList.propTypes),\n PropTypes.shape(StartBattle.propTypes)\n ])\n )\n};\nexport default Dashboard;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/template/common/dashboard/index.js"],"names":["React","PropTypes","Slide","HeroCard","BattleRequestList","CardsList","NewsList","StartBattle","CMPopin","style","Hero","memo","hero","welcome","propTypes","shape","Dashboard","props","sections","cookie","buildSectionComponent","section","type","buildSection","index","sectionView","sectionsList","key","map","wrapper","arrayOf","oneOfType"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Slide from '../../../atom/slide';\nimport HeroCard from '../../../molecule/hero';\nimport BattleRequestList from '../../../molecule/dashboard/battle-request-list';\nimport CardsList from '../../../molecule/dashboard/cards-list';\nimport NewsList from '../../../molecule/dashboard/news-list';\nimport StartBattle from '../../../molecule/dashboard/start-battle';\nimport CMPopin from '../../../molecule/cm-popin';\nimport style from './style.css';\n\nconst Hero = React.memo(function Hero({hero, welcome}) {\n return <div className={style.hero}>{hero ? <HeroCard {...hero} /> : <Slide {...welcome} />}</div>;\n});\n\nHero.propTypes = {\n hero: PropTypes.shape(HeroCard.propTypes),\n welcome: PropTypes.shape(Slide.propTypes)\n};\n\nconst Dashboard = props => {\n const {sections = [], hero, welcome, cookie} = props;\n\n const buildSectionComponent = section => {\n const {type} = section;\n switch (type) {\n case 'hero':\n return <Hero hero={hero} welcome={welcome} />;\n case 'battleRequests':\n return <BattleRequestList {...section} />;\n case 'cards':\n return <CardsList {...section} />;\n case 'news':\n return <NewsList {...section} />;\n case 'battle':\n return <StartBattle {...section} />;\n default:\n return null;\n }\n };\n\n const buildSection = (section, index) => {\n const sectionView = buildSectionComponent(section);\n\n return <div key={index}>{sectionView}</div>;\n };\n\n const sectionsList = [{type: 'hero', key: 'hero'}, ...sections].map(section => (\n <div key={section.key}>{buildSection(section)}</div>\n ));\n return (\n <div className={style.wrapper} data-name=\"dashboard\">\n {sectionsList}\n {cookie ? <CMPopin {...cookie} /> : null}\n </div>\n );\n};\n\nDashboard.propTypes = {\n hero: Hero.propTypes.hero,\n welcome: Hero.propTypes.welcome,\n sections: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape(BattleRequestList.propTypes),\n PropTypes.shape(CardsList.propTypes),\n PropTypes.shape(NewsList.propTypes),\n PropTypes.shape(StartBattle.propTypes)\n ])\n ),\n cookie: PropTypes.shape(CMPopin.propTypes)\n};\nexport default Dashboard;\n"],"file":"index.js"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=app-review.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"app-review.d.js"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=progression-engine.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"progression-engine.d.js"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=translations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"translations.js"}
@@ -0,0 +1,9 @@
1
+ import _keys from "lodash/fp/keys";
2
+
3
+ const buildUrlQueryParams = params => _keys(params).map(key => {
4
+ const value = params[key].toString();
5
+ return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
6
+ }).join('&');
7
+
8
+ export default buildUrlQueryParams;
9
+ //# sourceMappingURL=build-query-string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/build-query-string.ts"],"names":["buildUrlQueryParams","params","map","key","value","toString","encodeURIComponent","join"],"mappings":";;AAMA,MAAMA,mBAAmB,GAAIC,MAAD,IAC1B,MAAKA,MAAL,EACGC,GADH,CACOC,GAAG,IAAI;AACV,QAAMC,KAAK,GAAGH,MAAM,CAACE,GAAD,CAAN,CAAYE,QAAZ,EAAd;AACA,SAAQ,GAAEC,kBAAkB,CAACH,GAAD,CAAM,IAAGG,kBAAkB,CAACF,KAAD,CAAQ,EAA/D;AACD,CAJH,EAKGG,IALH,CAKQ,GALR,CADF;;AAQA,eAAeP,mBAAf","sourcesContent":["import {keys} from 'lodash/fp';\n\nexport type QueryParams = {\n [key: string]: string | number | boolean;\n};\n\nconst buildUrlQueryParams = (params: QueryParams) =>\n keys(params)\n .map(key => {\n const value = params[key].toString();\n return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n })\n .join('&');\n\nexport default buildUrlQueryParams;\n"],"file":"build-query-string.js"}
@@ -0,0 +1,4 @@
1
+ const getCleanUri = originalUri => originalUri && originalUri.replace(/(http:|https:|)\/\//g, 'https://');
2
+
3
+ export default getCleanUri;
4
+ //# sourceMappingURL=get-clean-uri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/get-clean-uri.ts"],"names":["getCleanUri","originalUri","replace"],"mappings":"AAAA,MAAMA,WAAW,GAAIC,WAAD,IAClBA,WAAW,IAAIA,WAAW,CAACC,OAAZ,CAAoB,sBAApB,EAA4C,UAA5C,CADjB;;AAGA,eAAeF,WAAf","sourcesContent":["const getCleanUri = (originalUri: string): string =>\n originalUri && originalUri.replace(/(http:|https:|)\\/\\//g, 'https://');\n\nexport default getCleanUri;\n"],"file":"get-clean-uri.js"}