@coorpacademy/components 10.21.4 → 10.22.1

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 (158) hide show
  1. package/README.md +1 -1
  2. package/es/atom/lottie-wrapper/index.js +2 -24
  3. package/es/atom/lottie-wrapper/index.js.map +1 -1
  4. package/es/atom/lottie-wrapper/prop-types.js +26 -0
  5. package/es/atom/lottie-wrapper/prop-types.js.map +1 -0
  6. package/es/atom/review-background/index.js +2 -4
  7. package/es/atom/review-background/index.js.map +1 -1
  8. package/es/atom/review-background/prop-types.js +5 -0
  9. package/es/atom/review-background/prop-types.js.map +1 -0
  10. package/es/atom/review-header-step-item/index.js +2 -6
  11. package/es/atom/review-header-step-item/index.js.map +1 -1
  12. package/es/atom/review-header-step-item/prop-types.js +7 -0
  13. package/es/atom/review-header-step-item/prop-types.js.map +1 -0
  14. package/es/atom/review-presentation/index.js +2 -15
  15. package/es/atom/review-presentation/index.js.map +1 -1
  16. package/es/atom/review-presentation/prop-types.js +18 -0
  17. package/es/atom/review-presentation/prop-types.js.map +1 -0
  18. package/es/atom/tab/index.js +1 -0
  19. package/es/atom/tab/index.js.map +1 -1
  20. package/es/molecule/answer/index.js +5 -26
  21. package/es/molecule/answer/index.js.map +1 -1
  22. package/es/molecule/answer/prop-types.js +32 -0
  23. package/es/molecule/answer/prop-types.js.map +1 -0
  24. package/es/molecule/questions/free-text/index.native.js +88 -0
  25. package/es/molecule/questions/free-text/index.native.js.map +1 -0
  26. package/es/molecule/questions/qcm/index.native.js +47 -0
  27. package/es/molecule/questions/qcm/index.native.js.map +1 -0
  28. package/es/molecule/review-card-congrats/index.js +2 -13
  29. package/es/molecule/review-card-congrats/index.js.map +1 -1
  30. package/es/molecule/review-card-congrats/prop-types.js +15 -0
  31. package/es/molecule/review-card-congrats/prop-types.js.map +1 -0
  32. package/es/molecule/review-correction-popin/index.js +2 -20
  33. package/es/molecule/review-correction-popin/index.js.map +1 -1
  34. package/es/molecule/review-correction-popin/prop-types.js +21 -0
  35. package/es/molecule/review-correction-popin/prop-types.js.map +1 -0
  36. package/es/molecule/review-header-steps/index.js +2 -4
  37. package/es/molecule/review-header-steps/index.js.map +1 -1
  38. package/es/molecule/review-header-steps/prop-types.js +6 -0
  39. package/es/molecule/review-header-steps/prop-types.js.map +1 -0
  40. package/es/molecule/skill-card/index.js +2 -12
  41. package/es/molecule/skill-card/index.js.map +1 -1
  42. package/es/molecule/skill-card/prop-types.js +13 -0
  43. package/es/molecule/skill-card/prop-types.js.map +1 -0
  44. package/es/molecule/video-player/index.js +2 -17
  45. package/es/molecule/video-player/index.js.map +1 -1
  46. package/es/molecule/video-player/jwplayer-prop-types.js +38 -0
  47. package/es/molecule/video-player/jwplayer-prop-types.js.map +1 -0
  48. package/es/molecule/video-player/jwplayer.js +2 -37
  49. package/es/molecule/video-player/jwplayer.js.map +1 -1
  50. package/es/molecule/video-player/prop-types.js +53 -0
  51. package/es/molecule/video-player/prop-types.js.map +1 -0
  52. package/es/organism/review-congrats/index.js +2 -19
  53. package/es/organism/review-congrats/index.js.map +1 -1
  54. package/es/organism/review-congrats/prop-types.js +22 -0
  55. package/es/organism/review-congrats/prop-types.js.map +1 -0
  56. package/es/organism/review-header/index.js +2 -10
  57. package/es/organism/review-header/index.js.map +1 -1
  58. package/es/organism/review-header/prop-types.js +12 -0
  59. package/es/organism/review-header/prop-types.js.map +1 -0
  60. package/es/organism/review-skills/index.js +4 -19
  61. package/es/organism/review-skills/index.js.map +1 -1
  62. package/es/organism/review-skills/prop-types.js +19 -0
  63. package/es/organism/review-skills/prop-types.js.map +1 -0
  64. package/es/template/app-review/index.native.js +26 -20
  65. package/es/template/app-review/index.native.js.map +1 -1
  66. package/es/template/app-review/onboarding/index.native.js +2 -2
  67. package/es/template/app-review/onboarding/index.native.js.map +1 -1
  68. package/es/template/app-review/skills/index.native.js +2 -2
  69. package/es/template/app-review/skills/index.native.js.map +1 -1
  70. package/es/template/app-review/slides/index.js +4 -5
  71. package/es/template/app-review/slides/index.js.map +1 -1
  72. package/es/template/app-review/slides/index.native.js +49 -12
  73. package/es/template/app-review/slides/index.native.js.map +1 -1
  74. package/es/template/app-review/slides/prop-types.js +15 -15
  75. package/es/template/app-review/slides/prop-types.js.map +1 -1
  76. package/es/template/app-review/template-context.js +30 -0
  77. package/es/template/app-review/template-context.js.map +1 -0
  78. package/es/variables/analytics.js +22 -0
  79. package/es/variables/analytics.js.map +1 -0
  80. package/lib/atom/lottie-wrapper/index.js +6 -30
  81. package/lib/atom/lottie-wrapper/index.js.map +1 -1
  82. package/lib/atom/lottie-wrapper/prop-types.js +37 -0
  83. package/lib/atom/lottie-wrapper/prop-types.js.map +1 -0
  84. package/lib/atom/review-background/index.js +3 -5
  85. package/lib/atom/review-background/index.js.map +1 -1
  86. package/lib/atom/review-background/prop-types.js +14 -0
  87. package/lib/atom/review-background/prop-types.js.map +1 -0
  88. package/lib/atom/review-header-step-item/index.js +3 -7
  89. package/lib/atom/review-header-step-item/index.js.map +1 -1
  90. package/lib/atom/review-header-step-item/prop-types.js +16 -0
  91. package/lib/atom/review-header-step-item/prop-types.js.map +1 -0
  92. package/lib/atom/review-presentation/index.js +3 -15
  93. package/lib/atom/review-presentation/index.js.map +1 -1
  94. package/lib/atom/review-presentation/prop-types.js +28 -0
  95. package/lib/atom/review-presentation/prop-types.js.map +1 -0
  96. package/lib/atom/tab/index.js +1 -0
  97. package/lib/atom/tab/index.js.map +1 -1
  98. package/lib/molecule/answer/index.js +14 -35
  99. package/lib/molecule/answer/index.js.map +1 -1
  100. package/lib/molecule/answer/prop-types.js +49 -0
  101. package/lib/molecule/answer/prop-types.js.map +1 -0
  102. package/lib/molecule/questions/free-text/index.native.js +101 -0
  103. package/lib/molecule/questions/free-text/index.native.js.map +1 -0
  104. package/lib/molecule/questions/qcm/index.native.js +58 -0
  105. package/lib/molecule/questions/qcm/index.native.js.map +1 -0
  106. package/lib/molecule/review-card-congrats/index.js +3 -14
  107. package/lib/molecule/review-card-congrats/index.js.map +1 -1
  108. package/lib/molecule/review-card-congrats/prop-types.js +25 -0
  109. package/lib/molecule/review-card-congrats/prop-types.js.map +1 -0
  110. package/lib/molecule/review-correction-popin/index.js +3 -21
  111. package/lib/molecule/review-correction-popin/index.js.map +1 -1
  112. package/lib/molecule/review-correction-popin/prop-types.js +30 -0
  113. package/lib/molecule/review-correction-popin/prop-types.js.map +1 -0
  114. package/lib/molecule/review-header-steps/index.js +3 -5
  115. package/lib/molecule/review-header-steps/index.js.map +1 -1
  116. package/lib/molecule/review-header-steps/prop-types.js +16 -0
  117. package/lib/molecule/review-header-steps/prop-types.js.map +1 -0
  118. package/lib/molecule/skill-card/index.js +3 -13
  119. package/lib/molecule/skill-card/index.js.map +1 -1
  120. package/lib/molecule/skill-card/prop-types.js +22 -0
  121. package/lib/molecule/skill-card/prop-types.js.map +1 -0
  122. package/lib/molecule/video-player/index.js +3 -19
  123. package/lib/molecule/video-player/index.js.map +1 -1
  124. package/lib/molecule/video-player/jwplayer-prop-types.js +48 -0
  125. package/lib/molecule/video-player/jwplayer-prop-types.js.map +1 -0
  126. package/lib/molecule/video-player/jwplayer.js +3 -39
  127. package/lib/molecule/video-player/jwplayer.js.map +1 -1
  128. package/lib/molecule/video-player/prop-types.js +64 -0
  129. package/lib/molecule/video-player/prop-types.js.map +1 -0
  130. package/lib/organism/review-congrats/index.js +3 -20
  131. package/lib/organism/review-congrats/index.js.map +1 -1
  132. package/lib/organism/review-congrats/prop-types.js +33 -0
  133. package/lib/organism/review-congrats/prop-types.js.map +1 -0
  134. package/lib/organism/review-header/index.js +3 -11
  135. package/lib/organism/review-header/index.js.map +1 -1
  136. package/lib/organism/review-header/prop-types.js +22 -0
  137. package/lib/organism/review-header/prop-types.js.map +1 -0
  138. package/lib/organism/review-skills/index.js +10 -23
  139. package/lib/organism/review-skills/index.js.map +1 -1
  140. package/lib/organism/review-skills/prop-types.js +33 -0
  141. package/lib/organism/review-skills/prop-types.js.map +1 -0
  142. package/lib/template/app-review/index.native.js +28 -19
  143. package/lib/template/app-review/index.native.js.map +1 -1
  144. package/lib/template/app-review/onboarding/index.native.js +2 -2
  145. package/lib/template/app-review/onboarding/index.native.js.map +1 -1
  146. package/lib/template/app-review/skills/index.native.js +4 -4
  147. package/lib/template/app-review/skills/index.native.js.map +1 -1
  148. package/lib/template/app-review/slides/index.js +4 -5
  149. package/lib/template/app-review/slides/index.js.map +1 -1
  150. package/lib/template/app-review/slides/index.native.js +60 -25
  151. package/lib/template/app-review/slides/index.native.js.map +1 -1
  152. package/lib/template/app-review/slides/prop-types.js +16 -16
  153. package/lib/template/app-review/slides/prop-types.js.map +1 -1
  154. package/lib/template/app-review/template-context.js +41 -0
  155. package/lib/template/app-review/template-context.js.map +1 -0
  156. package/lib/variables/analytics.js +27 -0
  157. package/lib/variables/analytics.js.map +1 -0
  158. package/package.json +2 -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"}
@@ -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,10 +31,17 @@ const styles = _reactNative.StyleSheet.create({
23
31
  }); // -----------------------------------------------------------------------------
24
32
 
25
33
 
26
- const NavText = ({
27
- viewName,
28
- navigateTo
29
- }) => {
34
+ const Switch = (_ref) => {
35
+ let {
36
+ viewName,
37
+ slides
38
+ } = _ref,
39
+ dispachers = _objectWithoutPropertiesLoose(_ref, ["viewName", "onboarding", "skills", "slides"]);
40
+
41
+ const {
42
+ navigateTo
43
+ } = dispachers;
44
+
30
45
  const handlePress = v => () => navigateTo(v);
31
46
 
32
47
  switch (viewName) {
@@ -41,9 +56,7 @@ const NavText = ({
41
56
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view onboarding"));
42
57
 
43
58
  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"));
59
+ return /*#__PURE__*/_react.default.createElement(_slides.default, _extends({}, slides, dispachers));
47
60
 
48
61
  default:
49
62
  return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view (none selected)");
@@ -51,11 +64,10 @@ const NavText = ({
51
64
  }; // -----------------------------------------------------------------------------
52
65
 
53
66
 
54
- const RootView = ({
55
- viewName,
56
- navigateBack,
57
- navigateTo
58
- }) => {
67
+ const AppReview = props => {
68
+ const {
69
+ navigateBack
70
+ } = props;
59
71
  (0, _react.useEffect)(() => {
60
72
  const backAction = () => {
61
73
  navigateBack();
@@ -69,16 +81,13 @@ const RootView = ({
69
81
  }, [navigateBack]);
70
82
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
71
83
  style: styles.rootView
72
- }, /*#__PURE__*/_react.default.createElement(NavText, {
73
- viewName: viewName,
74
- navigateTo: navigateTo
75
- }));
84
+ }, /*#__PURE__*/_react.default.createElement(Switch, props));
76
85
  }; // -----------------------------------------------------------------------------
77
86
 
78
87
 
79
- RootView.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
80
- NavText.propTypes = process.env.NODE_ENV !== "production" ? RootView.propTypes : {}; // -----------------------------------------------------------------------------
88
+ AppReview.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
89
+ Switch.propTypes = process.env.NODE_ENV !== "production" ? AppReview.propTypes : {}; // -----------------------------------------------------------------------------
81
90
 
82
- var _default = RootView;
91
+ var _default = AppReview;
83
92
  exports.default = _default;
84
93
  //# 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","navigateTo","handlePress","v","ViewNames","home","onboarding","AppReview","props","navigateBack","backAction","backHandler","BackHandler","addEventListener","remove","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA;AAEA,MAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,IAAI,EAAE,CADE;AAERC,IAAAA,UAAU,EAAE,QAFJ;AAGRC,IAAAA,cAAc,EAAE;AAHR;AADqB,CAAlB,CAAf,C,CAQA;;;AAEA,MAAMC,MAAM,GAAG,UAA2D;AAAA,MAA1D;AAACC,IAAAA,QAAD;AAA+BC,IAAAA;AAA/B,GAA0D;AAAA,MAAhBC,UAAgB;;AACxE,QAAM;AAACC,IAAAA;AAAD,MAAeD,UAArB;;AACA,QAAME,WAAW,GAAGC,CAAC,IAAI,MAAMF,UAAU,CAACE,CAAD,CAAzC;;AAEA,UAAQL,QAAR;AACE,SAAKM,qBAAUC,IAAf;AACE,0BACE,6BAAC,sBAAD;AAAW,QAAA,OAAO,EAAEH,WAAW,CAAC,YAAD;AAA/B,sBACE,6BAAC,iBAAD,oBADF,CADF;;AAKF,SAAKE,qBAAUE,UAAf;AACE,0BACE,6BAAC,sBAAD;AAAW,QAAA,OAAO,EAAEJ,WAAW,CAAC,SAAD;AAA/B,sBACE,6BAAC,iBAAD,0BADF,CADF;;AAKF,SAAKE,qBAAUL,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;;AACF;AACE,0BAAO,6BAAC,iBAAD,+BAAP;AAhBJ;AAkBD,CAtBD,C,CAwBA;;;AAEA,MAAMO,SAAS,GAAGC,KAAK,IAAI;AACzB,QAAM;AAACC,IAAAA;AAAD,MAAiBD,KAAvB;AAEA,wBAAU,MAAM;AACd,UAAME,UAAU,GAAG,MAAM;AACvBD,MAAAA,YAAY;AACZ,aAAO,IAAP;AACD,KAHD,CADc,CAMd;;;AACA,UAAME,WAAW,GAAGC,yBAAYC,gBAAZ,CAA6B,mBAA7B,EAAkDH,UAAlD,CAApB;;AAEA,WAAO,MAAMC,WAAW,CAACG,MAAZ,EAAb;AACD,GAVD,EAUG,CAACL,YAAD,CAVH;AAYA,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEnB,MAAM,CAACG;AAApB,kBACE,6BAAC,MAAD,EAAYe,KAAZ,CADF,CADF;AAKD,CApBD,C,CAsBA;;;AAEAD,SAAS,CAACQ,SAAV,2CAAsBA,kBAAtB;AACAlB,MAAM,CAACkB,SAAP,2CAAmBR,SAAS,CAACQ,SAA7B,M,CAEA;;eAEeR,S","sourcesContent":["import React, {useEffect} from 'react';\nimport {Text, StyleSheet, Pressable, View, BackHandler} from 'react-native';\nimport propTypes, {ViewNames} from './prop-types';\nimport Slides from './slides';\n\n// -----------------------------------------------------------------------------\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst Switch = ({viewName, onboarding, skills, slides, ...dispachers}) => {\n const {navigateTo} = dispachers;\n const handlePress = v => () => navigateTo(v);\n\n switch (viewName) {\n case ViewNames.home:\n return (\n <Pressable onPress={handlePress('onboarding')}>\n <Text>view home</Text>\n </Pressable>\n );\n case ViewNames.onboarding:\n return (\n <Pressable onPress={handlePress('quizzer')}>\n <Text>view onboarding</Text>\n </Pressable>\n );\n case ViewNames.slides:\n return <Slides {...slides} {...dispachers} />;\n default:\n return <Text>view (none selected)</Text>;\n }\n};\n\n// -----------------------------------------------------------------------------\n\nconst AppReview = props => {\n const {navigateBack} = props;\n\n useEffect(() => {\n const backAction = () => {\n navigateBack();\n return true;\n };\n\n // https://reactnative.dev/docs/backhandler\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [navigateBack]);\n\n return (\n <View style={styles.rootView}>\n <Switch {...props} />\n </View>\n );\n};\n\n// -----------------------------------------------------------------------------\n\nAppReview.propTypes = propTypes;\nSwitch.propTypes = AppReview.propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default AppReview;\n"],"file":"index.native.js"}
@@ -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":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAKA;AACA;AACA;AACA;AACA;AAEA,MAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,IAAI,EAAE,CADG;AAETC,IAAAA,OAAO,EAAE,EAFA,CAGT;AACA;;AAJS,GADoB;AAO/BC,EAAAA,KAAK,EAAE;AACL;AACA;AACAC,IAAAA,UAAU,EAAE,EAHP,CAIL;AACA;AACA;;AANK,GAPwB;AAe/BC,EAAAA,QAAQ,EAAE,CACR;AACA;AACA;AAHQ,GAfqB;AAoB/BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,QAAQ,EAAE,EADN;AAEJH,IAAAA,UAAU,EAAE,EAFR;AAGJ;AACAI,IAAAA,OAAO,EAAE,GAJL,CAKJ;;AALI,GApByB;AA2B/BC,EAAAA,aAAa,EAAE;AACbR,IAAAA,IAAI,EAAE,CADO;AAEbS,IAAAA,SAAS,EAAE,QAFE;AAGbC,IAAAA,KAAK,EAAE,GAHM;AAIbC,IAAAA,MAAM,EAAE;AAJK,GA3BgB;AAiC/BC,EAAAA,MAAM,EAAE,EAjCuB;AAkC/BC,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,MADJ;AAELC,IAAAA,aAAa,EAAE,KAFV;AAGLC,IAAAA,QAAQ,EAAE,QAHL;AAILC,IAAAA,UAAU,EAAE,QAJP;AAKLN,IAAAA,MAAM,EAAE,GALH;AAMLO,IAAAA,YAAY,EAAE,CANT,CAOL;AACA;AACA;AACA;;AAVK,GAlCwB;AA8C/BC,EAAAA,UAAU,EAAE;AACVnB,IAAAA,IAAI,EAAE,CADI;AAEVe,IAAAA,aAAa,EAAE;AAFL,GA9CmB;AAkD/BK,EAAAA,UAAU,EAAE;AACVd,IAAAA,QAAQ,EAAE,EADA;AAEVe,IAAAA,UAAU,EAAE,KAFF;AAGVlB,IAAAA,UAAU,EAAE,EAHF,CAIV;AACA;;AALU,GAlDmB;AAyD/BmB,EAAAA,SAAS,EAAE;AACThB,IAAAA,QAAQ,EAAE,EADD;AAETH,IAAAA,UAAU,EAAE,EAFH,CAGT;;AAHS,GAzDoB;AA8D/BoB,EAAAA,UAAU,EAAE;AACVZ,IAAAA,MAAM,EAAE;AADE;AA9DmB,CAAlB,CAAf,C,CAmEA;;;AAEA,MAAMa,aAAa,GAAGtB,KAAK,IAAI,MAAM;AACnC;AACAuB,EAAAA,OAAO,CAACC,GAAR,CAAY,YAAZ,EAA0B;AAACxB,IAAAA;AAAD,GAA1B;AACD,CAHD;;AAKA,MAAMyB,UAAU,GAAG,mBAAM,oBAAC,iBAAD;AAAM,EAAA,KAAK,EAAE/B,MAAM,CAAC2B;AAApB,EAAzB;;AAEA,MAAMK,KAAK,GAAG,CAAC;AAAC1B,EAAAA,KAAD;AAAQ2B,EAAAA;AAAR,CAAD,kBACZ,oBAAC,sBAAD;AAAW,EAAA,KAAK,EAAEjC,MAAM,CAACiB,KAAzB;AAAgC,EAAA,OAAO,EAAEW,aAAa,CAACtB,KAAD;AAAtD,gBACE,oBAAC,iBAAD;AAAM,EAAA,KAAK,EAAEN,MAAM,CAACuB;AAApB,gBACE,oBAAC,iBAAD;AAAM,EAAA,KAAK,EAAEvB,MAAM,CAACwB;AAApB,GAAiClB,KAAjC,CADF,eAEE,oBAAC,iBAAD;AAAM,EAAA,KAAK,EAAEN,MAAM,CAAC0B;AAApB,GAAgCO,IAAhC,CAFF,CADF,eAKE,oBAAC,8CAAD;AAAY,EAAA,KAAK,EAAC,SAAlB;AAA4B,EAAA,MAAM,EAAE,EAApC;AAAwC,EAAA,KAAK,EAAE;AAA/C,EALF,CADF;;AAUAD,KAAK,CAACE,SAAN,2CAAkB;AAChB5B,EAAAA,KAAK,EAAE6B,mBAAUC,MADD;AAEhBH,EAAAA,IAAI,EAAEE,mBAAUC;AAFA,CAAlB,M,CAKA;;AAEA,MAAMC,IAAI,GAAG,CAAC;AAACC,EAAAA,IAAI,EAAE;AAAChC,IAAAA,KAAD;AAAQ2B,IAAAA,IAAR;AAAcM,IAAAA,YAAY,GAAG;AAA7B;AAAP,CAAD,KACXA,YAAY,gBAAG,oBAAC,UAAD,OAAH,gBAAoB,oBAAC,KAAD;AAAO,EAAA,KAAK,EAAEjC,KAAd;AAAqB,EAAA,IAAI,EAAE2B;AAA3B,EADlC;;AAGA,MAAMO,IAAI,GAAG,CAAC;AAACxB,EAAAA;AAAD,CAAD,kBACX,oBAAC,qBAAD;AAAU,EAAA,qBAAqB,EAAEhB,MAAM,CAACgB,MAAxC;AAAgD,EAAA,IAAI,EAAEA,MAAtD;AAA8D,EAAA,UAAU,EAAEqB;AAA1E,EADF;;AAIAA,IAAI,CAACH,SAAL,2CAAiB;AACfI,EAAAA,IAAI,EAAEH,mBAAUM,KAAV,CAAgB;AACpBnC,IAAAA,KAAK,EAAE6B,mBAAUC,MADG;AAEpBH,IAAAA,IAAI,EAAEE,mBAAUC,MAFI;AAGpBG,IAAAA,YAAY,EAAEJ,mBAAUO;AAHJ,GAAhB;AADS,CAAjB;AAQAF,IAAI,CAACN,SAAL,2CAAiB;AACflB,EAAAA,MAAM,EAAE2B,gCAAoBC;AADb,CAAjB,M,CAIA;;AAEA;;;;;;;AAMA,MAAMC,QAAQ,GAAG,CAAC;AAACC,EAAAA,aAAD;AAAgBC,EAAAA;AAAhB,CAAD,kBACf,uDACE,oBAAC,iBAAD;AAAM,EAAA,KAAK,EAAE/C,MAAM,CAACQ;AAApB,GAA+BsC,aAA/B,CADF,eAEE,oBAAC,iBAAD;AAAM,EAAA,KAAK,EAAE9C,MAAM,CAACS;AAApB,GAA2BsC,YAA3B,CAFF,CADF;;AAOAF,QAAQ,CAACX,SAAT,2CAAqBc,6BAArB,M,CAEA;AAEA;;AACA,MAAMC,MAAM,GAAGC,KAAK,IAAI;AACtB,QAAM;AAAC5C,IAAAA,KAAD;AAAQsC,IAAAA;AAAR,MAAsBM,KAA5B;AAEA,sBACE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAElD,MAAM,CAACG;AAApB,kBACE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAEH,MAAM,CAACM;AAApB,KAA4BA,KAA5B,CADF,EAEG,CAACsC,UAAD,IAAeA,UAAU,CAACO,MAAX,KAAsB,CAArC,gBACC,oBAAC,QAAD,OADD,gBAGC,oBAAC,IAAD;AAAM,IAAA,MAAM,EAAE,CAAC,GAAGP,UAAJ,EAAgB;AAACL,MAAAA,YAAY,EAAE;AAAf,KAAhB;AAAd,IALJ,CADF;AAUD,CAbD;;AAeAU,MAAM,CAACf,SAAP,2CAAmBA,mBAAnB,M,CAEA;;eAEee,M","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"}
@@ -3,19 +3,19 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
5
 
6
- var React = _interopRequireWildcard(require("react"));
6
+ var _react = _interopRequireDefault(require("react"));
7
7
 
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
10
10
  var _reactNative = require("react-native");
11
11
 
12
- var _propTypes2 = require("./prop-types");
12
+ var _freeText = _interopRequireDefault(require("../../../molecule/questions/free-text"));
13
13
 
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ var _templateContext = require("../template-context");
15
15
 
16
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
16
+ var _propTypes2 = require("./prop-types");
17
17
 
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; }
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
20
20
  // import theme from '../../../modules/theme';
21
21
  // import translations from '../../../translations';
@@ -54,9 +54,10 @@ const SLIDE_HEIGHT = () => (0, _reactNative.useWindowDimensions)().height * 0.75
54
54
  const creatSlideStyle = (num, width, height) => _reactNative.StyleSheet.create({
55
55
  slide: {
56
56
  position: 'absolute',
57
- // backgroundColor: theme.colors.white, @todo with props
58
57
  top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,
59
58
  flex: 1,
59
+ backgroundColor: '#fff',
60
+ // backgroundColor: theme.colors.white, @todo with props and useEffect
60
61
  height: SLIDE_HEIGHT(),
61
62
  width: width - 40 - num * 8,
62
63
  justifyContent: 'space-between',
@@ -147,17 +148,17 @@ const choicesStyle = _reactNative.StyleSheet.create({
147
148
 
148
149
  const Choices = ({
149
150
  choices
150
- }) => /*#__PURE__*/React.createElement(_reactNative.View, {
151
+ }) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
151
152
  style: choicesStyle.container
152
153
  }, choices.map(({
153
154
  text,
154
155
  selected = false
155
156
  }, index) => {
156
157
  const optionStyle = createOptionStyle(selected);
157
- return /*#__PURE__*/React.createElement(_reactNative.View, {
158
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
158
159
  style: optionStyle.box,
159
160
  key: `choice-${index}`
160
- }, /*#__PURE__*/React.createElement(_reactNative.Text, {
161
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
161
162
  style: optionStyle.text
162
163
  }, text, " ", selected));
163
164
  }));
@@ -168,7 +169,6 @@ Choices.propTypes = process.env.NODE_ENV !== "production" ? {
168
169
  selected: _propTypes.default.bool
169
170
  })
170
171
  } : {}; // -----------------------------------------------------------------------------
171
- // const Slide = ({slide, num}: Props) => {
172
172
 
173
173
  const Slide = ({
174
174
  validateSlide,
@@ -181,19 +181,51 @@ const Slide = ({
181
181
  } = (0, _reactNative.useWindowDimensions)();
182
182
  const slideStyle = creatSlideStyle(num, width, height);
183
183
  const validateLabel = '__validate'; // translations.validate
184
- // TODO replace choices with <Answer>; move mobile answers in the package..
185
184
 
186
- return /*#__PURE__*/React.createElement(_reactNative.View, {
185
+ const templateContext = (0, _templateContext.useTemplateContext)();
186
+ const {
187
+ analytics
188
+ } = templateContext;
189
+ const {
190
+ answerUI: {
191
+ isDisabled = false,
192
+ value,
193
+ model: {
194
+ type,
195
+ onChange
196
+ }
197
+ }
198
+ } = slide;
199
+
200
+ switch (type) {
201
+ case 'freeText':
202
+ {
203
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
204
+ style: slideStyle.slide
205
+ }, /*#__PURE__*/_react.default.createElement(_freeText.default, {
206
+ isDisabled: isDisabled,
207
+ onChange: onChange,
208
+ value: value,
209
+ testID: "free-text",
210
+ questionType: "basic",
211
+ analytics: analytics
212
+ }));
213
+ }
214
+
215
+ default:
216
+ }
217
+
218
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
187
219
  style: slideStyle.slide
188
- }, /*#__PURE__*/React.createElement(_reactNative.Text, {
220
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
189
221
  style: slideStyle.category
190
- }, slide.category, " ", num), /*#__PURE__*/React.createElement(_reactNative.Text, {
222
+ }, num), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
191
223
  style: slideStyle.question
192
- }, slide.question), /*#__PURE__*/React.createElement(_reactNative.Text, {
224
+ }, slide.question), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
193
225
  style: slideStyle.instruction
194
- }, slide.instruction), /*#__PURE__*/React.createElement(Choices, {
226
+ }, slide.instruction), /*#__PURE__*/_react.default.createElement(Choices, {
195
227
  choices: slide.choices
196
- }), /*#__PURE__*/React.createElement(_reactNative.Button, {
228
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Button, {
197
229
  style: slideStyle.button,
198
230
  onPress: validateSlide,
199
231
  testID: `button-quizzer-validate`
@@ -208,18 +240,21 @@ Slide.propTypes = process.env.NODE_ENV !== "production" ? {
208
240
  // const Slides = ({slide}: Props) => {
209
241
 
210
242
  const Slides = ({
211
- slide,
243
+ slides,
212
244
  validateSlide
213
245
  }) => {
214
- const slides = [slide, slide, slide, slide, slide];
215
- return /*#__PURE__*/React.createElement(_reactNative.View, {
246
+ if (!slides) {
247
+ return null;
248
+ }
249
+
250
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
216
251
  style: quizzerStyle.container
217
- }, slides.reverse().map((_slide, index) => /*#__PURE__*/React.createElement(Slide, {
252
+ }, /*#__PURE__*/_react.default.createElement(Slide, {
218
253
  validateSlide: validateSlide,
219
- slide: _slide,
220
- num: slides.length - index,
221
- key: `slide-${index}`
222
- })));
254
+ slide: slides[0],
255
+ num: 0,
256
+ key: `slide-${0}`
257
+ }));
223
258
  };
224
259
 
225
260
  Slides.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.SlidesReviewPropTypes : {}; // -----------------------------------------------------------------------------