@coorpacademy/components 10.21.4 → 10.22.3

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 (222) hide show
  1. package/README.md +1 -1
  2. package/es/atom/header-back-button/index.native.js +75 -0
  3. package/es/atom/header-back-button/index.native.js.map +1 -0
  4. package/es/atom/header-back-icon/index.native.js +27 -0
  5. package/es/atom/header-back-icon/index.native.js.map +1 -0
  6. package/es/atom/lottie-wrapper/index.js +2 -24
  7. package/es/atom/lottie-wrapper/index.js.map +1 -1
  8. package/es/atom/lottie-wrapper/prop-types.js +26 -0
  9. package/es/atom/lottie-wrapper/prop-types.js.map +1 -0
  10. package/es/atom/review-background/index.js +2 -4
  11. package/es/atom/review-background/index.js.map +1 -1
  12. package/es/atom/review-background/prop-types.js +5 -0
  13. package/es/atom/review-background/prop-types.js.map +1 -0
  14. package/es/atom/review-header-step-item/index.js +2 -6
  15. package/es/atom/review-header-step-item/index.js.map +1 -1
  16. package/es/atom/review-header-step-item/prop-types.js +7 -0
  17. package/es/atom/review-header-step-item/prop-types.js.map +1 -0
  18. package/es/atom/review-presentation/index.js +2 -15
  19. package/es/atom/review-presentation/index.js.map +1 -1
  20. package/es/atom/review-presentation/prop-types.js +18 -0
  21. package/es/atom/review-presentation/prop-types.js.map +1 -0
  22. package/es/atom/spinner/index.js +1 -0
  23. package/es/atom/spinner/index.js.map +1 -1
  24. package/es/atom/tab/index.js +1 -0
  25. package/es/atom/tab/index.js.map +1 -1
  26. package/es/hoc/touchable/index.native.js +69 -0
  27. package/es/hoc/touchable/index.native.js.map +1 -0
  28. package/es/molecule/answer/index.js +5 -26
  29. package/es/molecule/answer/index.js.map +1 -1
  30. package/es/molecule/answer/prop-types.js +32 -0
  31. package/es/molecule/answer/prop-types.js.map +1 -0
  32. package/es/molecule/dashboard/battle-request-list/index.js +3 -5
  33. package/es/molecule/dashboard/battle-request-list/index.js.map +1 -1
  34. package/es/molecule/dashboard/news-list/index.js +3 -5
  35. package/es/molecule/dashboard/news-list/index.js.map +1 -1
  36. package/es/molecule/dashboard/review-banner/index.js +3 -5
  37. package/es/molecule/dashboard/review-banner/index.js.map +1 -1
  38. package/es/molecule/dashboard/start-battle/index.js +3 -5
  39. package/es/molecule/dashboard/start-battle/index.js.map +1 -1
  40. package/es/molecule/external-content-viewer/index.js +2 -1
  41. package/es/molecule/external-content-viewer/index.js.map +1 -1
  42. package/es/molecule/questions/free-text/index.native.js +87 -0
  43. package/es/molecule/questions/free-text/index.native.js.map +1 -0
  44. package/es/molecule/questions/qcm/index.native.js +50 -0
  45. package/es/molecule/questions/qcm/index.native.js.map +1 -0
  46. package/es/molecule/review-card-congrats/index.js +2 -13
  47. package/es/molecule/review-card-congrats/index.js.map +1 -1
  48. package/es/molecule/review-card-congrats/prop-types.js +15 -0
  49. package/es/molecule/review-card-congrats/prop-types.js.map +1 -0
  50. package/es/molecule/review-correction-popin/index.js +2 -20
  51. package/es/molecule/review-correction-popin/index.js.map +1 -1
  52. package/es/molecule/review-correction-popin/prop-types.js +21 -0
  53. package/es/molecule/review-correction-popin/prop-types.js.map +1 -0
  54. package/es/molecule/review-header-steps/index.js +2 -4
  55. package/es/molecule/review-header-steps/index.js.map +1 -1
  56. package/es/molecule/review-header-steps/prop-types.js +6 -0
  57. package/es/molecule/review-header-steps/prop-types.js.map +1 -0
  58. package/es/molecule/skill-card/index.js +2 -12
  59. package/es/molecule/skill-card/index.js.map +1 -1
  60. package/es/molecule/skill-card/prop-types.js +13 -0
  61. package/es/molecule/skill-card/prop-types.js.map +1 -0
  62. package/es/molecule/video-player/index.js +2 -17
  63. package/es/molecule/video-player/index.js.map +1 -1
  64. package/es/molecule/video-player/jwplayer-prop-types.js +38 -0
  65. package/es/molecule/video-player/jwplayer-prop-types.js.map +1 -0
  66. package/es/molecule/video-player/jwplayer.js +2 -37
  67. package/es/molecule/video-player/jwplayer.js.map +1 -1
  68. package/es/molecule/video-player/prop-types.js +53 -0
  69. package/es/molecule/video-player/prop-types.js.map +1 -0
  70. package/es/organism/review-congrats/index.js +2 -19
  71. package/es/organism/review-congrats/index.js.map +1 -1
  72. package/es/organism/review-congrats/prop-types.js +22 -0
  73. package/es/organism/review-congrats/prop-types.js.map +1 -0
  74. package/es/organism/review-header/index.js +2 -10
  75. package/es/organism/review-header/index.js.map +1 -1
  76. package/es/organism/review-header/prop-types.js +12 -0
  77. package/es/organism/review-header/prop-types.js.map +1 -0
  78. package/es/organism/review-skills/index.js +4 -19
  79. package/es/organism/review-skills/index.js.map +1 -1
  80. package/es/organism/review-skills/prop-types.js +19 -0
  81. package/es/organism/review-skills/prop-types.js.map +1 -0
  82. package/es/template/app-player/loading/index.js +1 -0
  83. package/es/template/app-player/loading/index.js.map +1 -1
  84. package/es/template/app-review/demo-ts/index.js +2 -0
  85. package/es/template/app-review/demo-ts/index.js.map +1 -1
  86. package/es/template/app-review/demo-ts/index.native.js +9 -0
  87. package/es/template/app-review/demo-ts/index.native.js.map +1 -0
  88. package/es/template/app-review/demo-ts/typings.js +7 -0
  89. package/es/template/app-review/demo-ts/typings.js.map +1 -0
  90. package/es/template/app-review/index.js +4 -0
  91. package/es/template/app-review/index.js.map +1 -1
  92. package/es/template/app-review/index.native.js +24 -28
  93. package/es/template/app-review/index.native.js.map +1 -1
  94. package/es/template/app-review/onboarding/index.native.js +2 -2
  95. package/es/template/app-review/onboarding/index.native.js.map +1 -1
  96. package/es/template/app-review/skills/index.native.js +2 -2
  97. package/es/template/app-review/skills/index.native.js.map +1 -1
  98. package/es/template/app-review/slides/index.js +4 -5
  99. package/es/template/app-review/slides/index.js.map +1 -1
  100. package/es/template/app-review/slides/index.native.js +65 -25
  101. package/es/template/app-review/slides/index.native.js.map +1 -1
  102. package/es/template/app-review/slides/prop-types.js +15 -15
  103. package/es/template/app-review/slides/prop-types.js.map +1 -1
  104. package/es/template/app-review/template-context.js +36 -0
  105. package/es/template/app-review/template-context.js.map +1 -0
  106. package/es/variables/analytics.js +22 -0
  107. package/es/variables/analytics.js.map +1 -0
  108. package/es/variables/theme.native.js +65 -0
  109. package/es/variables/theme.native.js.map +1 -0
  110. package/es/variables/vibration.js +10 -0
  111. package/es/variables/vibration.js.map +1 -0
  112. package/lib/atom/header-back-button/index.native.js +96 -0
  113. package/lib/atom/header-back-button/index.native.js.map +1 -0
  114. package/lib/atom/header-back-icon/index.native.js +38 -0
  115. package/lib/atom/header-back-icon/index.native.js.map +1 -0
  116. package/lib/atom/lottie-wrapper/index.js +6 -30
  117. package/lib/atom/lottie-wrapper/index.js.map +1 -1
  118. package/lib/atom/lottie-wrapper/prop-types.js +37 -0
  119. package/lib/atom/lottie-wrapper/prop-types.js.map +1 -0
  120. package/lib/atom/review-background/index.js +3 -5
  121. package/lib/atom/review-background/index.js.map +1 -1
  122. package/lib/atom/review-background/prop-types.js +14 -0
  123. package/lib/atom/review-background/prop-types.js.map +1 -0
  124. package/lib/atom/review-header-step-item/index.js +3 -7
  125. package/lib/atom/review-header-step-item/index.js.map +1 -1
  126. package/lib/atom/review-header-step-item/prop-types.js +16 -0
  127. package/lib/atom/review-header-step-item/prop-types.js.map +1 -0
  128. package/lib/atom/review-presentation/index.js +3 -15
  129. package/lib/atom/review-presentation/index.js.map +1 -1
  130. package/lib/atom/review-presentation/prop-types.js +28 -0
  131. package/lib/atom/review-presentation/prop-types.js.map +1 -0
  132. package/lib/atom/spinner/index.js +1 -0
  133. package/lib/atom/spinner/index.js.map +1 -1
  134. package/lib/atom/tab/index.js +1 -0
  135. package/lib/atom/tab/index.js.map +1 -1
  136. package/lib/hoc/touchable/index.native.js +83 -0
  137. package/lib/hoc/touchable/index.native.js.map +1 -0
  138. package/lib/molecule/answer/index.js +14 -35
  139. package/lib/molecule/answer/index.js.map +1 -1
  140. package/lib/molecule/answer/prop-types.js +49 -0
  141. package/lib/molecule/answer/prop-types.js.map +1 -0
  142. package/lib/molecule/dashboard/battle-request-list/index.js +3 -5
  143. package/lib/molecule/dashboard/battle-request-list/index.js.map +1 -1
  144. package/lib/molecule/dashboard/news-list/index.js +3 -5
  145. package/lib/molecule/dashboard/news-list/index.js.map +1 -1
  146. package/lib/molecule/dashboard/review-banner/index.js +3 -5
  147. package/lib/molecule/dashboard/review-banner/index.js.map +1 -1
  148. package/lib/molecule/dashboard/start-battle/index.js +3 -5
  149. package/lib/molecule/dashboard/start-battle/index.js.map +1 -1
  150. package/lib/molecule/external-content-viewer/index.js +2 -1
  151. package/lib/molecule/external-content-viewer/index.js.map +1 -1
  152. package/lib/molecule/questions/free-text/index.native.js +100 -0
  153. package/lib/molecule/questions/free-text/index.native.js.map +1 -0
  154. package/lib/molecule/questions/qcm/index.native.js +62 -0
  155. package/lib/molecule/questions/qcm/index.native.js.map +1 -0
  156. package/lib/molecule/review-card-congrats/index.js +3 -14
  157. package/lib/molecule/review-card-congrats/index.js.map +1 -1
  158. package/lib/molecule/review-card-congrats/prop-types.js +25 -0
  159. package/lib/molecule/review-card-congrats/prop-types.js.map +1 -0
  160. package/lib/molecule/review-correction-popin/index.js +3 -21
  161. package/lib/molecule/review-correction-popin/index.js.map +1 -1
  162. package/lib/molecule/review-correction-popin/prop-types.js +30 -0
  163. package/lib/molecule/review-correction-popin/prop-types.js.map +1 -0
  164. package/lib/molecule/review-header-steps/index.js +3 -5
  165. package/lib/molecule/review-header-steps/index.js.map +1 -1
  166. package/lib/molecule/review-header-steps/prop-types.js +16 -0
  167. package/lib/molecule/review-header-steps/prop-types.js.map +1 -0
  168. package/lib/molecule/skill-card/index.js +3 -13
  169. package/lib/molecule/skill-card/index.js.map +1 -1
  170. package/lib/molecule/skill-card/prop-types.js +22 -0
  171. package/lib/molecule/skill-card/prop-types.js.map +1 -0
  172. package/lib/molecule/video-player/index.js +3 -19
  173. package/lib/molecule/video-player/index.js.map +1 -1
  174. package/lib/molecule/video-player/jwplayer-prop-types.js +48 -0
  175. package/lib/molecule/video-player/jwplayer-prop-types.js.map +1 -0
  176. package/lib/molecule/video-player/jwplayer.js +3 -39
  177. package/lib/molecule/video-player/jwplayer.js.map +1 -1
  178. package/lib/molecule/video-player/prop-types.js +64 -0
  179. package/lib/molecule/video-player/prop-types.js.map +1 -0
  180. package/lib/organism/review-congrats/index.js +3 -20
  181. package/lib/organism/review-congrats/index.js.map +1 -1
  182. package/lib/organism/review-congrats/prop-types.js +33 -0
  183. package/lib/organism/review-congrats/prop-types.js.map +1 -0
  184. package/lib/organism/review-header/index.js +3 -11
  185. package/lib/organism/review-header/index.js.map +1 -1
  186. package/lib/organism/review-header/prop-types.js +22 -0
  187. package/lib/organism/review-header/prop-types.js.map +1 -0
  188. package/lib/organism/review-skills/index.js +10 -23
  189. package/lib/organism/review-skills/index.js.map +1 -1
  190. package/lib/organism/review-skills/prop-types.js +33 -0
  191. package/lib/organism/review-skills/prop-types.js.map +1 -0
  192. package/lib/template/app-player/loading/index.js +1 -0
  193. package/lib/template/app-player/loading/index.js.map +1 -1
  194. package/lib/template/app-review/demo-ts/index.js +3 -0
  195. package/lib/template/app-review/demo-ts/index.js.map +1 -1
  196. package/lib/template/app-review/demo-ts/index.native.js +18 -0
  197. package/lib/template/app-review/demo-ts/index.native.js.map +1 -0
  198. package/lib/template/app-review/demo-ts/typings.js +16 -0
  199. package/lib/template/app-review/demo-ts/typings.js.map +1 -0
  200. package/lib/template/app-review/index.js +5 -0
  201. package/lib/template/app-review/index.js.map +1 -1
  202. package/lib/template/app-review/index.native.js +25 -26
  203. package/lib/template/app-review/index.native.js.map +1 -1
  204. package/lib/template/app-review/onboarding/index.native.js +2 -2
  205. package/lib/template/app-review/onboarding/index.native.js.map +1 -1
  206. package/lib/template/app-review/skills/index.native.js +4 -4
  207. package/lib/template/app-review/skills/index.native.js.map +1 -1
  208. package/lib/template/app-review/slides/index.js +4 -5
  209. package/lib/template/app-review/slides/index.js.map +1 -1
  210. package/lib/template/app-review/slides/index.native.js +76 -38
  211. package/lib/template/app-review/slides/index.native.js.map +1 -1
  212. package/lib/template/app-review/slides/prop-types.js +16 -16
  213. package/lib/template/app-review/slides/prop-types.js.map +1 -1
  214. package/lib/template/app-review/template-context.js +50 -0
  215. package/lib/template/app-review/template-context.js.map +1 -0
  216. package/lib/variables/analytics.js +27 -0
  217. package/lib/variables/analytics.js.map +1 -0
  218. package/lib/variables/theme.native.js +70 -0
  219. package/lib/variables/theme.native.js.map +1 -0
  220. package/lib/variables/vibration.js +15 -0
  221. package/lib/variables/vibration.js.map +1 -0
  222. package/package.json +6 -2
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/organism/review-skills/prop-types.js"],"names":["ListSkillsPropTypes","listSkills","PropTypes","arrayOf","shape","SkillCardPropTypes","NoSkillsPropTypes","titleNoSkills","string","textNoSkills","iconSkillAriaLabel","title","isRequired","isLoading","bool","isLoadingAriaLabel"],"mappings":";;;;;AAAA;;AACA;;;;;;AAEO,MAAMA,mBAAmB,GAAG;AACjCC,EAAAA,UAAU,EAAEC,mBAAUC,OAAV,CAAkBD,mBAAUE,KAAV,CAAgBC,mBAAhB,CAAlB;AADqB,CAA5B;;AAIA,MAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,aAAa,EAAEL,mBAAUM,MADM;AAE/BC,EAAAA,YAAY,EAAEP,mBAAUM,MAFO;AAG/BE,EAAAA,kBAAkB,EAAER,mBAAUM;AAHC,CAA1B;;;;AAOL,gBAAcN,mBAAUM,M;AACxBG,EAAAA,KAAK,EAAET,mBAAUM,MAAV,CAAiBI,U;AACxBC,EAAAA,SAAS,EAAEX,mBAAUY,I;AACrBC,EAAAA,kBAAkB,EAAEb,mBAAUM;GAC3BR,mB,GACAM,iB","sourcesContent":["import PropTypes from 'prop-types';\nimport SkillCardPropTypes from '../../molecule/skill-card/prop-types';\n\nexport const ListSkillsPropTypes = {\n listSkills: PropTypes.arrayOf(PropTypes.shape(SkillCardPropTypes))\n};\n\nexport const NoSkillsPropTypes = {\n titleNoSkills: PropTypes.string,\n textNoSkills: PropTypes.string,\n iconSkillAriaLabel: PropTypes.string\n};\n\nexport default {\n 'aria-label': PropTypes.string,\n title: PropTypes.string.isRequired,\n isLoading: PropTypes.bool,\n isLoadingAriaLabel: PropTypes.string,\n ...ListSkillsPropTypes,\n ...NoSkillsPropTypes\n};\n"],"file":"prop-types.js"}
@@ -17,6 +17,7 @@ const PlayerLoading = () => {
17
17
  }, /*#__PURE__*/_react.default.createElement(_loader.default, null));
18
18
  };
19
19
 
20
+ PlayerLoading.propTypes = process.env.NODE_ENV !== "production" ? {} : {};
20
21
  var _default = PlayerLoading;
21
22
  exports.default = _default;
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-player/loading/index.js"],"names":["PlayerLoading","style","wrapper"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;AAEA,MAAMA,aAAa,GAAG,MAAM;AAC1B,sBACE;AAAK,IAAA,SAAS,EAAEC,eAAMC;AAAtB,kBACE,6BAAC,eAAD,OADF,CADF;AAKD,CAND;;eAQeF,a","sourcesContent":["import React from 'react';\nimport Loader from '../../../atom/loader';\nimport style from './style.css';\n\nconst PlayerLoading = () => {\n return (\n <div className={style.wrapper}>\n <Loader />\n </div>\n );\n};\n\nexport default PlayerLoading;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-player/loading/index.js"],"names":["PlayerLoading","style","wrapper","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;AAEA,MAAMA,aAAa,GAAG,MAAM;AAC1B,sBACE;AAAK,IAAA,SAAS,EAAEC,eAAMC;AAAtB,kBACE,6BAAC,eAAD,OADF,CADF;AAKD,CAND;;AAQAF,aAAa,CAACG,SAAd,2CAA0B,EAA1B;eAEeH,a","sourcesContent":["import React from 'react';\nimport Loader from '../../../atom/loader';\nimport style from './style.css';\n\nconst PlayerLoading = () => {\n return (\n <div className={style.wrapper}>\n <Loader />\n </div>\n );\n};\n\nPlayerLoading.propTypes = {};\n\nexport default PlayerLoading;\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"}
@@ -9,10 +9,18 @@ var _reactNative = require("react-native");
9
9
 
10
10
  var _propTypes = _interopRequireWildcard(require("./prop-types"));
11
11
 
12
+ var _slides = _interopRequireDefault(require("./slides"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
12
16
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
13
17
 
14
18
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
19
 
20
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
+
22
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
23
+
16
24
  // -----------------------------------------------------------------------------
17
25
  const styles = _reactNative.StyleSheet.create({
18
26
  rootView: {
@@ -23,27 +31,22 @@ const styles = _reactNative.StyleSheet.create({
23
31
  }); // -----------------------------------------------------------------------------
24
32
 
25
33
 
26
- const NavText = ({
27
- viewName,
28
- navigateTo
29
- }) => {
30
- const handlePress = v => () => navigateTo(v);
34
+ const Switch = (_ref) => {
35
+ let {
36
+ viewName,
37
+ slides
38
+ } = _ref,
39
+ dispachers = _objectWithoutPropertiesLoose(_ref, ["viewName", "onboarding", "skills", "slides"]);
31
40
 
32
41
  switch (viewName) {
33
42
  case _propTypes.ViewNames.home:
34
- return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
35
- onPress: handlePress('onboarding')
36
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view home"));
43
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view home");
37
44
 
38
45
  case _propTypes.ViewNames.onboarding:
39
- return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
40
- onPress: handlePress('quizzer')
41
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view onboarding"));
46
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view onboarding");
42
47
 
43
48
  case _propTypes.ViewNames.slides:
44
- return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
45
- onPress: handlePress('home')
46
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view quizzer"));
49
+ return /*#__PURE__*/_react.default.createElement(_slides.default, _extends({}, slides, dispachers));
47
50
 
48
51
  default:
49
52
  return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view (none selected)");
@@ -51,11 +54,10 @@ const NavText = ({
51
54
  }; // -----------------------------------------------------------------------------
52
55
 
53
56
 
54
- const RootView = ({
55
- viewName,
56
- navigateBack,
57
- navigateTo
58
- }) => {
57
+ const AppReview = props => {
58
+ const {
59
+ navigateBack
60
+ } = props;
59
61
  (0, _react.useEffect)(() => {
60
62
  const backAction = () => {
61
63
  navigateBack();
@@ -69,16 +71,13 @@ const RootView = ({
69
71
  }, [navigateBack]);
70
72
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
71
73
  style: styles.rootView
72
- }, /*#__PURE__*/_react.default.createElement(NavText, {
73
- viewName: viewName,
74
- navigateTo: navigateTo
75
- }));
74
+ }, /*#__PURE__*/_react.default.createElement(Switch, props));
76
75
  }; // -----------------------------------------------------------------------------
77
76
 
78
77
 
79
- RootView.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
80
- NavText.propTypes = process.env.NODE_ENV !== "production" ? RootView.propTypes : {}; // -----------------------------------------------------------------------------
78
+ AppReview.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
79
+ Switch.propTypes = process.env.NODE_ENV !== "production" ? AppReview.propTypes : {}; // -----------------------------------------------------------------------------
81
80
 
82
- var _default = RootView;
81
+ var _default = AppReview;
83
82
  exports.default = _default;
84
83
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/app-review/index.native.js"],"names":["styles","StyleSheet","create","rootView","flex","alignItems","justifyContent","NavText","viewName","navigateTo","handlePress","v","ViewNames","home","onboarding","slides","RootView","navigateBack","backAction","backHandler","BackHandler","addEventListener","remove","propTypes"],"mappings":";;;;;AAAA;;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,OAAO,GAAG,CAAC;AAACC,EAAAA,QAAD;AAAWC,EAAAA;AAAX,CAAD,KAA4B;AAC1C,QAAMC,WAAW,GAAGC,CAAC,IAAI,MAAMF,UAAU,CAACE,CAAD,CAAzC;;AAEA,UAAQH,QAAR;AACE,SAAKI,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,qBAAUG,MAAf;AACE,0BACE,6BAAC,sBAAD;AAAW,QAAA,OAAO,EAAEL,WAAW,CAAC,MAAD;AAA/B,sBACE,6BAAC,iBAAD,uBADF,CADF;;AAKF;AACE,0BAAO,6BAAC,iBAAD,+BAAP;AApBJ;AAsBD,CAzBD,C,CA2BA;;;AAEA,MAAMM,QAAQ,GAAG,CAAC;AAACR,EAAAA,QAAD;AAAWS,EAAAA,YAAX;AAAyBR,EAAAA;AAAzB,CAAD,KAA0C;AACzD,wBAAU,MAAM;AACd,UAAMS,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,EAAEjB,MAAM,CAACG;AAApB,kBACE,6BAAC,OAAD;AAAS,IAAA,QAAQ,EAAEK,QAAnB;AAA6B,IAAA,UAAU,EAAEC;AAAzC,IADF,CADF;AAKD,CAlBD,C,CAoBA;;;AAEAO,QAAQ,CAACO,SAAT,2CAAqBA,kBAArB;AACAhB,OAAO,CAACgB,SAAR,2CAAoBP,QAAQ,CAACO,SAA7B,M,CAEA;;eAEeP,Q","sourcesContent":["import React, {useEffect} from 'react';\nimport {Text, StyleSheet, Pressable, View, BackHandler} from 'react-native';\nimport propTypes, {ViewNames} from './prop-types';\n\n// -----------------------------------------------------------------------------\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst NavText = ({viewName, navigateTo}) => {\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 (\n <Pressable onPress={handlePress('home')}>\n <Text>view quizzer</Text>\n </Pressable>\n );\n default:\n return <Text>view (none selected)</Text>;\n }\n};\n\n// -----------------------------------------------------------------------------\n\nconst RootView = ({viewName, navigateBack, navigateTo}) => {\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 <NavText viewName={viewName} navigateTo={navigateTo} />\n </View>\n );\n};\n\n// -----------------------------------------------------------------------------\n\nRootView.propTypes = propTypes;\nNavText.propTypes = RootView.propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default RootView;\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"}
@@ -7,7 +7,7 @@ var React = _interopRequireWildcard(require("react"));
7
7
 
8
8
  var _reactNative = require("react-native");
9
9
 
10
- var _reviewPresentation = _interopRequireDefault(require("../../../atom/review-presentation"));
10
+ var _propTypes = _interopRequireDefault(require("../../../atom/review-presentation/prop-types"));
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
@@ -94,7 +94,7 @@ const Onboarding = ({
94
94
  style: styles.title
95
95
  }, reviewTitle));
96
96
 
97
- Onboarding.propTypes = process.env.NODE_ENV !== "production" ? _reviewPresentation.default.propTypes : {};
97
+ Onboarding.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
98
98
  var _default = Onboarding;
99
99
  exports.default = _default;
100
100
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/onboarding/index.native.js"],"names":["styles","StyleSheet","create","container","justifyContent","flex","padding","title","height","width","lineHeight","text","opacity","tip","flexDirection","overflow","alignItems","borderRadius","tipText","icon","margin","button","Onboarding","reviewTitle","propTypes","OnboardingWeb"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;;;;;AAEA;AAEA;AACA;AACA;AACA;AAEA,MAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,cAAc,EAAE,eADP;AAETC,IAAAA,IAAI,EAAE,CAFG;AAGTC,IAAAA,OAAO,EAAE,EAHA,CAIT;;AAJS,GADoB;AAO/BC,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAE,EADH;AAELC,IAAAA,KAAK,EAAE,GAFF;AAGL;AACA;AACAC,IAAAA,UAAU,EAAE,EALP,CAML;AACA;;AAPK,GAPwB;AAgB/BC,EAAAA,IAAI,EAAE;AACJ;AACA;AACAC,IAAAA,OAAO,EAAE,GAHL,CAIJ;;AAJI,GAhByB;AAsB/BC,EAAAA,GAAG,EAAE;AACHC,IAAAA,aAAa,EAAE,KADZ;AAEHC,IAAAA,QAAQ,EAAE,QAFP;AAGHC,IAAAA,UAAU,EAAE,QAHT;AAIHR,IAAAA,MAAM,EAAE,EAJL;AAKHS,IAAAA,YAAY,EAAE,CALX,CAMH;AACA;AACA;;AARG,GAtB0B;AAgC/BC,EAAAA,OAAO,EAAE,CACP;AACA;AAFO,GAhCsB;AAoC/BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,MAAM,EAAE;AADJ,GApCyB;AAuC/BC,EAAAA,MAAM,EAAE;AACNb,IAAAA,MAAM,EAAE,EADF;AAENS,IAAAA,YAAY,EAAE,CAFR,CAGN;AACA;;AAJM;AAvCuB,CAAlB,CAAf,C,CA+CA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;;;AACA,MAAMK,UAAU,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBACjB,oBAAC,iBAAD;AAAM,EAAA,KAAK,EAAEvB,MAAM,CAACG;AAApB,gBACE,oBAAC,iBAAD;AAAM,EAAA,KAAK,EAAEH,MAAM,CAACO;AAApB,GAA4BgB,WAA5B,CADF,CADF;;AAMAD,UAAU,CAACE,SAAX,2CAAuBC,4BAAcD,SAArC;eAEeF,U","sourcesContent":["import * as React from 'react';\nimport {View, StyleSheet, Text} from 'react-native';\nimport OnboardingWeb from '../../../atom/review-presentation';\n\n// import {NovaLineSelectionCursorsCursorArrowTarget as TargetIcon} from '@coorpacademy/nova-icons';\n\n// import theme from '../../../modules/theme';\n// import translations from '../../../translations';\n// import Button from '../../../app-shared/components/button';\n// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';\n\nconst styles = StyleSheet.create({\n container: {\n justifyContent: 'space-between',\n flex: 1,\n padding: 20\n // paddingTop: HEADER_HEIGHT + 20\n },\n title: {\n height: 72,\n width: 268,\n // fontSize: theme.fontSize.xxlarge,\n // fontWeight: theme.fontWeight.bold,\n lineHeight: 36\n // color: theme.colors.text.primary,\n // marginBottom: theme.spacing.small\n },\n text: {\n // fontSize: theme.fontSize.large,\n // color: theme.colors.text.primary,\n opacity: 0.7\n // marginBottom: theme.spacing.small\n },\n tip: {\n flexDirection: 'row',\n overflow: 'hidden',\n alignItems: 'center',\n height: 54,\n borderRadius: 8\n // backgroundColor: theme.colors.gray.extra,\n // marginTop: theme.spacing.micro,\n // marginBottom: theme.spacing.micro\n },\n tipText: {\n // fontSize: theme.fontSize.large,\n // color: theme.colors.text.primary\n },\n icon: {\n margin: 10\n },\n button: {\n height: 52,\n borderRadius: 7\n // marginBottom: theme.spacing.large,\n // marginTop: theme.spacing.large\n }\n});\n\n// const Tip = ({Icon, text}) => (\n// <View style={styles.tip}>\n// {/* <Icon height={16} width={16} style={styles.icon} color={theme.colors.text.primary} /> */}\n// <Text style={styles.tipText}>{text}</Text>\n// </View>\n// );\n\n/*\nreviewTitle --> translations.revision.onboarding.title\n*/\n// {/* <Text style={styles.title}>{translations.revision.onboarding.title}</Text>\n// <Text style={styles.text}>{translations.revision.onboarding.intro1}</Text>\n// <Text style={styles.text}>{translations.revision.onboarding.intro2}</Text>\n\n// <Tip Icon={TargetIcon} text={translations.revision.onboarding.tip1} />\n// <Tip Icon={TargetIcon} text={translations.revision.onboarding.tip2} />\n// <Tip Icon={TargetIcon} text={translations.revision.onboarding.tip3} />\n// <Tip Icon={TargetIcon} text={translations.revision.onboarding.tip4} /> */}\n\n// {/* <Button style={styles.button} onPress={onButtonPress} testID={`button-quit-revision-onboarding`}>\n// {translations.revision.onboarding.validate}\n// </Button> */}\nconst Onboarding = ({reviewTitle}) => (\n <View style={styles.container}>\n <Text style={styles.title}>{reviewTitle}</Text>\n </View>\n);\n\nOnboarding.propTypes = OnboardingWeb.propTypes;\n\nexport default Onboarding;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-review/onboarding/index.native.js"],"names":["styles","StyleSheet","create","container","justifyContent","flex","padding","title","height","width","lineHeight","text","opacity","tip","flexDirection","overflow","alignItems","borderRadius","tipText","icon","margin","button","Onboarding","reviewTitle","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;;;;;AAEA;AAEA;AACA;AACA;AACA;AAEA,MAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,cAAc,EAAE,eADP;AAETC,IAAAA,IAAI,EAAE,CAFG;AAGTC,IAAAA,OAAO,EAAE,EAHA,CAIT;;AAJS,GADoB;AAO/BC,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAE,EADH;AAELC,IAAAA,KAAK,EAAE,GAFF;AAGL;AACA;AACAC,IAAAA,UAAU,EAAE,EALP,CAML;AACA;;AAPK,GAPwB;AAgB/BC,EAAAA,IAAI,EAAE;AACJ;AACA;AACAC,IAAAA,OAAO,EAAE,GAHL,CAIJ;;AAJI,GAhByB;AAsB/BC,EAAAA,GAAG,EAAE;AACHC,IAAAA,aAAa,EAAE,KADZ;AAEHC,IAAAA,QAAQ,EAAE,QAFP;AAGHC,IAAAA,UAAU,EAAE,QAHT;AAIHR,IAAAA,MAAM,EAAE,EAJL;AAKHS,IAAAA,YAAY,EAAE,CALX,CAMH;AACA;AACA;;AARG,GAtB0B;AAgC/BC,EAAAA,OAAO,EAAE,CACP;AACA;AAFO,GAhCsB;AAoC/BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,MAAM,EAAE;AADJ,GApCyB;AAuC/BC,EAAAA,MAAM,EAAE;AACNb,IAAAA,MAAM,EAAE,EADF;AAENS,IAAAA,YAAY,EAAE,CAFR,CAGN;AACA;;AAJM;AAvCuB,CAAlB,CAAf,C,CA+CA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;;;AACA,MAAMK,UAAU,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBACjB,oBAAC,iBAAD;AAAM,EAAA,KAAK,EAAEvB,MAAM,CAACG;AAApB,gBACE,oBAAC,iBAAD;AAAM,EAAA,KAAK,EAAEH,MAAM,CAACO;AAApB,GAA4BgB,WAA5B,CADF,CADF;;AAMAD,UAAU,CAACE,SAAX,2CAAuBA,kBAAvB;eAEeF,U","sourcesContent":["import * as React from 'react';\nimport {View, StyleSheet, Text} from 'react-native';\nimport propTypes from '../../../atom/review-presentation/prop-types';\n\n// import {NovaLineSelectionCursorsCursorArrowTarget as TargetIcon} from '@coorpacademy/nova-icons';\n\n// import theme from '../../../modules/theme';\n// import translations from '../../../translations';\n// import Button from '../../../app-shared/components/button';\n// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';\n\nconst styles = StyleSheet.create({\n container: {\n justifyContent: 'space-between',\n flex: 1,\n padding: 20\n // paddingTop: HEADER_HEIGHT + 20\n },\n title: {\n height: 72,\n width: 268,\n // fontSize: theme.fontSize.xxlarge,\n // fontWeight: theme.fontWeight.bold,\n lineHeight: 36\n // color: theme.colors.text.primary,\n // marginBottom: theme.spacing.small\n },\n text: {\n // fontSize: theme.fontSize.large,\n // color: theme.colors.text.primary,\n opacity: 0.7\n // marginBottom: theme.spacing.small\n },\n tip: {\n flexDirection: 'row',\n overflow: 'hidden',\n alignItems: 'center',\n height: 54,\n borderRadius: 8\n // backgroundColor: theme.colors.gray.extra,\n // marginTop: theme.spacing.micro,\n // marginBottom: theme.spacing.micro\n },\n tipText: {\n // fontSize: theme.fontSize.large,\n // color: theme.colors.text.primary\n },\n icon: {\n margin: 10\n },\n button: {\n height: 52,\n borderRadius: 7\n // marginBottom: theme.spacing.large,\n // marginTop: theme.spacing.large\n }\n});\n\n// const Tip = ({Icon, text}) => (\n// <View style={styles.tip}>\n// {/* <Icon height={16} width={16} style={styles.icon} color={theme.colors.text.primary} /> */}\n// <Text style={styles.tipText}>{text}</Text>\n// </View>\n// );\n\n/*\nreviewTitle --> translations.revision.onboarding.title\n*/\n// {/* <Text style={styles.title}>{translations.revision.onboarding.title}</Text>\n// <Text style={styles.text}>{translations.revision.onboarding.intro1}</Text>\n// <Text style={styles.text}>{translations.revision.onboarding.intro2}</Text>\n\n// <Tip Icon={TargetIcon} text={translations.revision.onboarding.tip1} />\n// <Tip Icon={TargetIcon} text={translations.revision.onboarding.tip2} />\n// <Tip Icon={TargetIcon} text={translations.revision.onboarding.tip3} />\n// <Tip Icon={TargetIcon} text={translations.revision.onboarding.tip4} /> */}\n\n// {/* <Button style={styles.button} onPress={onButtonPress} testID={`button-quit-revision-onboarding`}>\n// {translations.revision.onboarding.validate}\n// </Button> */}\nconst Onboarding = ({reviewTitle}) => (\n <View style={styles.container}>\n <Text style={styles.title}>{reviewTitle}</Text>\n </View>\n);\n\nOnboarding.propTypes = propTypes;\n\nexport default Onboarding;\n"],"file":"index.native.js"}
@@ -11,7 +11,7 @@ var _reactNative = require("react-native");
11
11
 
12
12
  var _novaIcons = require("@coorpacademy/nova-icons");
13
13
 
14
- var _reviewSkills = _interopRequireWildcard(require("../../../organism/review-skills"));
14
+ var _propTypes2 = _interopRequireWildcard(require("../../../organism/review-skills/prop-types"));
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
@@ -152,7 +152,7 @@ Item.propTypes = process.env.NODE_ENV !== "production" ? {
152
152
  })
153
153
  } : {};
154
154
  List.propTypes = process.env.NODE_ENV !== "production" ? {
155
- skills: _reviewSkills.ListSkillsPropTypes.listSkills
155
+ skills: _propTypes2.ListSkillsPropTypes.listSkills
156
156
  } : {}; // -----------------------------------------------------------------------------
157
157
 
158
158
  /*
@@ -171,7 +171,7 @@ const NoSkills = ({
171
171
  style: styles.text
172
172
  }, textNoSkills));
173
173
 
174
- NoSkills.propTypes = process.env.NODE_ENV !== "production" ? _reviewSkills.NoSkillsPropTypes : {}; // -----------------------------------------------------------------------------
174
+ NoSkills.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.NoSkillsPropTypes : {}; // -----------------------------------------------------------------------------
175
175
  // title --> translations.revision.home.title
176
176
 
177
177
  const Skills = props => {
@@ -190,7 +190,7 @@ const Skills = props => {
190
190
  }));
191
191
  };
192
192
 
193
- Skills.propTypes = process.env.NODE_ENV !== "production" ? _reviewSkills.default.propTypes : {}; // -----------------------------------------------------------------------------
193
+ Skills.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.default : {}; // -----------------------------------------------------------------------------
194
194
 
195
195
  var _default = Skills;
196
196
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/skills/index.native.js"],"names":["styles","StyleSheet","create","container","flex","padding","title","lineHeight","subtitle","text","fontSize","opacity","noSkillsImage","alignSelf","width","height","skills","skill","display","flexDirection","overflow","alignItems","borderRadius","skillTexts","skillTitle","fontWeight","skillInfo","extraSpace","onSelectSkill","console","log","ExtraSpace","Skill","info","propTypes","PropTypes","string","Item","item","isExtraSpace","List","shape","bool","ListSkillsPropTypes","listSkills","NoSkills","titleNoSkills","textNoSkills","NoSkillsPropTypes","Skills","props","length","SkillsWeb"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport {View, FlatList, Pressable, StyleSheet, Text} from 'react-native';\nimport {NovaCompositionNavigationArrowRight as ArrowRight} from '@coorpacademy/nova-icons';\nimport SkillsWeb, {ListSkillsPropTypes, NoSkillsPropTypes} from '../../../organism/review-skills';\n\n// import theme from '../../../modules/theme';\n// import translations from '../../../translations';\n// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';\n// import noSkillsImage from '../../../assets/images/revision-no-skills.png';\n// import Touchable from '../../../app-shared/components/touchable';\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20\n // paddingTop: HEADER_HEIGHT + 20,\n // backgroundColor: theme.colors.white\n },\n title: {\n // fontSize: theme.fontSize.xlarge,\n // fontWeight: theme.fontWeight.bold,\n lineHeight: 28\n // color: theme.colors.text.primary,\n // marginBottom: theme.spacing.base,\n // marginTop: theme.spacing.small\n },\n subtitle: {\n // fontSize: theme.fontSize.xlarge,\n // color: theme.colors.text.primary,\n // marginBottom: theme.spacing.tiny\n },\n text: {\n fontSize: 16,\n lineHeight: 22,\n // color: theme.colors.text.primary,\n opacity: 0.7\n // marginBottom: theme.spacing.base\n },\n noSkillsImage: {\n flex: 1,\n alignSelf: 'center',\n width: 320,\n height: 300\n },\n skills: {},\n skill: {\n display: 'flex',\n flexDirection: 'row',\n overflow: 'hidden',\n alignItems: 'center',\n height: 118,\n borderRadius: 8\n // backgroundColor: theme.colors.gray.lighter,\n // marginTop: theme.spacing.micro,\n // marginBottom: theme.spacing.micro,\n // padding: theme.spacing.base\n },\n skillTexts: {\n flex: 1,\n flexDirection: 'column'\n },\n skillTitle: {\n fontSize: 18,\n fontWeight: '600',\n lineHeight: 22\n // color: theme.colors.text.primary,\n // marginBottom: theme.spacing.tiny\n },\n skillInfo: {\n fontSize: 12,\n lineHeight: 16\n // color: theme.colors.gray.medium\n },\n extraSpace: {\n height: 100\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst onSelectSkill = title => () => {\n // eslint-disable-next-line no-console\n console.log('pressed on', {title});\n};\n\nconst ExtraSpace = () => <View style={styles.extraSpace} />;\n\nconst Skill = ({title, info}) => (\n <Pressable style={styles.skill} onPress={onSelectSkill(title)}>\n <View style={styles.skillTexts}>\n <Text style={styles.skillTitle}>{title}</Text>\n <Text style={styles.skillInfo}>{info}</Text>\n </View>\n <ArrowRight color=\"#ededed\" height={20} width={20} />\n </Pressable>\n);\n\nSkill.propTypes = {\n title: PropTypes.string,\n info: PropTypes.string\n};\n\n// -----------------------------------------------------------------------------\n\nconst Item = ({item: {title, info, isExtraSpace = false}}) =>\n isExtraSpace ? <ExtraSpace /> : <Skill title={title} info={info} />;\n\nconst List = ({skills}) => (\n <FlatList contentContainerStyle={styles.skills} data={skills} renderItem={Item} />\n);\n\nItem.propTypes = {\n item: PropTypes.shape({\n title: PropTypes.string,\n info: PropTypes.string,\n isExtraSpace: PropTypes.bool\n })\n};\n\nList.propTypes = {\n skills: ListSkillsPropTypes.listSkills\n};\n\n// -----------------------------------------------------------------------------\n\n/*\n title: translations.revision.home.noSkills\n text: translations.revision.home.noSkillsDetails\n image: use web svg\n <ImageBackground source={noSkillsImage} style={styles.noSkillsImage} />\n*/\nconst NoSkills = ({titleNoSkills, textNoSkills}) => (\n <>\n <Text style={styles.subtitle}>{titleNoSkills}</Text>\n <Text style={styles.text}>{textNoSkills}</Text>\n </>\n);\n\nNoSkills.propTypes = NoSkillsPropTypes;\n\n// -----------------------------------------------------------------------------\n\n// title --> translations.revision.home.title\nconst Skills = props => {\n const {title, listSkills} = props;\n\n return (\n <View style={styles.container}>\n <Text style={styles.title}>{title}</Text>\n {!listSkills || listSkills.length === 0 ? (\n <NoSkills />\n ) : (\n <List skills={[...listSkills, {isExtraSpace: true}]} />\n )}\n </View>\n );\n};\n\nSkills.propTypes = SkillsWeb.propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default Skills;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-review/skills/index.native.js"],"names":["styles","StyleSheet","create","container","flex","padding","title","lineHeight","subtitle","text","fontSize","opacity","noSkillsImage","alignSelf","width","height","skills","skill","display","flexDirection","overflow","alignItems","borderRadius","skillTexts","skillTitle","fontWeight","skillInfo","extraSpace","onSelectSkill","console","log","ExtraSpace","Skill","info","propTypes","PropTypes","string","Item","item","isExtraSpace","List","shape","bool","ListSkillsPropTypes","listSkills","NoSkills","titleNoSkills","textNoSkills","NoSkillsPropTypes","Skills","props","length"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport {View, FlatList, Pressable, StyleSheet, Text} from 'react-native';\nimport {NovaCompositionNavigationArrowRight as ArrowRight} from '@coorpacademy/nova-icons';\nimport propTypes, {\n ListSkillsPropTypes,\n NoSkillsPropTypes\n} from '../../../organism/review-skills/prop-types';\n\n// import theme from '../../../modules/theme';\n// import translations from '../../../translations';\n// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';\n// import noSkillsImage from '../../../assets/images/revision-no-skills.png';\n// import Touchable from '../../../app-shared/components/touchable';\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20\n // paddingTop: HEADER_HEIGHT + 20,\n // backgroundColor: theme.colors.white\n },\n title: {\n // fontSize: theme.fontSize.xlarge,\n // fontWeight: theme.fontWeight.bold,\n lineHeight: 28\n // color: theme.colors.text.primary,\n // marginBottom: theme.spacing.base,\n // marginTop: theme.spacing.small\n },\n subtitle: {\n // fontSize: theme.fontSize.xlarge,\n // color: theme.colors.text.primary,\n // marginBottom: theme.spacing.tiny\n },\n text: {\n fontSize: 16,\n lineHeight: 22,\n // color: theme.colors.text.primary,\n opacity: 0.7\n // marginBottom: theme.spacing.base\n },\n noSkillsImage: {\n flex: 1,\n alignSelf: 'center',\n width: 320,\n height: 300\n },\n skills: {},\n skill: {\n display: 'flex',\n flexDirection: 'row',\n overflow: 'hidden',\n alignItems: 'center',\n height: 118,\n borderRadius: 8\n // backgroundColor: theme.colors.gray.lighter,\n // marginTop: theme.spacing.micro,\n // marginBottom: theme.spacing.micro,\n // padding: theme.spacing.base\n },\n skillTexts: {\n flex: 1,\n flexDirection: 'column'\n },\n skillTitle: {\n fontSize: 18,\n fontWeight: '600',\n lineHeight: 22\n // color: theme.colors.text.primary,\n // marginBottom: theme.spacing.tiny\n },\n skillInfo: {\n fontSize: 12,\n lineHeight: 16\n // color: theme.colors.gray.medium\n },\n extraSpace: {\n height: 100\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst onSelectSkill = title => () => {\n // eslint-disable-next-line no-console\n console.log('pressed on', {title});\n};\n\nconst ExtraSpace = () => <View style={styles.extraSpace} />;\n\nconst Skill = ({title, info}) => (\n <Pressable style={styles.skill} onPress={onSelectSkill(title)}>\n <View style={styles.skillTexts}>\n <Text style={styles.skillTitle}>{title}</Text>\n <Text style={styles.skillInfo}>{info}</Text>\n </View>\n <ArrowRight color=\"#ededed\" height={20} width={20} />\n </Pressable>\n);\n\nSkill.propTypes = {\n title: PropTypes.string,\n info: PropTypes.string\n};\n\n// -----------------------------------------------------------------------------\n\nconst Item = ({item: {title, info, isExtraSpace = false}}) =>\n isExtraSpace ? <ExtraSpace /> : <Skill title={title} info={info} />;\n\nconst List = ({skills}) => (\n <FlatList contentContainerStyle={styles.skills} data={skills} renderItem={Item} />\n);\n\nItem.propTypes = {\n item: PropTypes.shape({\n title: PropTypes.string,\n info: PropTypes.string,\n isExtraSpace: PropTypes.bool\n })\n};\n\nList.propTypes = {\n skills: ListSkillsPropTypes.listSkills\n};\n\n// -----------------------------------------------------------------------------\n\n/*\n title: translations.revision.home.noSkills\n text: translations.revision.home.noSkillsDetails\n image: use web svg\n <ImageBackground source={noSkillsImage} style={styles.noSkillsImage} />\n*/\nconst NoSkills = ({titleNoSkills, textNoSkills}) => (\n <>\n <Text style={styles.subtitle}>{titleNoSkills}</Text>\n <Text style={styles.text}>{textNoSkills}</Text>\n </>\n);\n\nNoSkills.propTypes = NoSkillsPropTypes;\n\n// -----------------------------------------------------------------------------\n\n// title --> translations.revision.home.title\nconst Skills = props => {\n const {title, listSkills} = props;\n\n return (\n <View style={styles.container}>\n <Text style={styles.title}>{title}</Text>\n {!listSkills || listSkills.length === 0 ? (\n <NoSkills />\n ) : (\n <List skills={[...listSkills, {isExtraSpace: true}]} />\n )}\n </View>\n );\n};\n\nSkills.propTypes = propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default Skills;\n"],"file":"index.native.js"}
@@ -104,11 +104,10 @@ const Slide = ({
104
104
 
105
105
  /*
106
106
  slide validation action, this will trigger the correction popin
107
- (with the useEffect that fires the dispatchers, if there is a nextSlide content,
107
+ (with the useEffect that fires the dispatchers, if there is a nextContent content,
108
108
  it will be loaded here) but will not trigger any animations unless the endReview
109
109
  signal is received (all slides will disappear, also fired in a useEffect),
110
-
111
- if it is the last slide and the content needs to be different, then that update will
110
+ if it is the last slide and the content needs to be different, then that update will
112
111
  be handled on the next slide logic but the content will be carried from here.
113
112
  */
114
113
  onClick: async () => {
@@ -298,7 +297,7 @@ const SlidesReview = ({
298
297
  const position = (0, _get.default)(`${slideNumber}.position`, slides);
299
298
  const isCorrect = (0, _get.default)('isCorrect', progression);
300
299
  const exitNode = (0, _get.default)('exitNode', progression);
301
- const nextSlide = (0, _get.default)('nextSlide', progression);
300
+ const nextContent = (0, _get.default)('nextContent', progression);
302
301
  updateSlidesOnValidation({
303
302
  slideNumber,
304
303
  newSlideContent: {
@@ -308,7 +307,7 @@ const SlidesReview = ({
308
307
  endReview: !!exitNode
309
308
  },
310
309
  numberOfFinishedSlides: finishedSlidesSize,
311
- nextSlide
310
+ nextContent
312
311
  });
313
312
  updateStepItemsOnValidation({
314
313
  stepNumber: slideNumber,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/slides/index.js"],"names":["stylesByPosition","style","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","SlidePropTypes","StackedSlides","stackedSlides","slide","push","StackedSlidesPropTypes","SlidesReview","headerProps","reviewBackgroundAriaLabel","stepItems","reviewStatus","congratsProps","updateSlidesOnValidation","updateStepItemsOnValidation","updateFinishedSlides","context","skin","size","shouldMountSlides","updateShouldMountSlides","nextSlide","icon","ICON_VALUES","right","wrong","value","setTimeout","stepItemsArray","stepItem","_headerProps","steps","key","hiddenSteps","slidesRevisionContainer","playerBackground","reviewHeaderContainer","stackedSlidesYAxisOverflowContainer","stackedSlidesContainer","congrats","SlidesReviewPropTypes"],"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 nextSlide 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 nextSlide = get('nextSlide', progression);\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n isCorrect,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlidesSize,\n nextSlide\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":["stylesByPosition","style","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","SlidePropTypes","StackedSlides","stackedSlides","slide","push","StackedSlidesPropTypes","SlidesReview","headerProps","reviewBackgroundAriaLabel","stepItems","reviewStatus","congratsProps","updateSlidesOnValidation","updateStepItemsOnValidation","updateFinishedSlides","context","skin","size","shouldMountSlides","updateShouldMountSlides","nextContent","icon","ICON_VALUES","right","wrong","value","setTimeout","stepItemsArray","stepItem","_headerProps","steps","key","hiddenSteps","slidesRevisionContainer","playerBackground","reviewHeaderContainer","stackedSlidesYAxisOverflowContainer","stackedSlidesContainer","congrats","SlidesReviewPropTypes"],"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"}