@coorpacademy/components 10.22.1 → 10.22.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/es/atom/drag-and-drop/index.js +2 -1
  2. package/es/atom/drag-and-drop/index.js.map +1 -1
  3. package/es/atom/header-back-button/index.native.js +74 -0
  4. package/es/atom/header-back-button/index.native.js.map +1 -0
  5. package/es/atom/header-back-icon/index.native.js +27 -0
  6. package/es/atom/header-back-icon/index.native.js.map +1 -0
  7. package/es/atom/html/index.native.js +153 -0
  8. package/es/atom/html/index.native.js.map +1 -0
  9. package/es/atom/input-checkbox/index.js +3 -2
  10. package/es/atom/input-checkbox/index.js.map +1 -1
  11. package/es/atom/input-switch/index.js +2 -1
  12. package/es/atom/input-switch/index.js.map +1 -1
  13. package/es/atom/select-modal/index.native.js +113 -0
  14. package/es/atom/select-modal/index.native.js.map +1 -0
  15. package/es/atom/space/index.native.js +21 -0
  16. package/es/atom/space/index.native.js.map +1 -0
  17. package/es/atom/spinner/index.js +1 -0
  18. package/es/atom/spinner/index.js.map +1 -1
  19. package/es/atom/text/index.native.js +29 -0
  20. package/es/atom/text/index.native.js.map +1 -0
  21. package/es/hoc/modal/index.native.js +97 -0
  22. package/es/hoc/modal/index.native.js.map +1 -0
  23. package/es/hoc/modal/select/index.native.js +85 -0
  24. package/es/hoc/modal/select/index.native.js.map +1 -0
  25. package/es/hoc/modal/select-item/index.native.js +54 -0
  26. package/es/hoc/modal/select-item/index.native.js.map +1 -0
  27. package/es/hoc/touchable/index.native.js +69 -0
  28. package/es/hoc/touchable/index.native.js.map +1 -0
  29. package/es/index.js +2 -1
  30. package/es/index.js.map +1 -1
  31. package/es/molecule/cm-popin/index.js +27 -8
  32. package/es/molecule/cm-popin/index.js.map +1 -1
  33. package/es/molecule/cm-popin/style.css +24 -1
  34. package/es/molecule/dashboard/battle-request-list/index.js +3 -5
  35. package/es/molecule/dashboard/battle-request-list/index.js.map +1 -1
  36. package/es/molecule/dashboard/news-list/index.js +3 -5
  37. package/es/molecule/dashboard/news-list/index.js.map +1 -1
  38. package/es/molecule/dashboard/review-banner/index.js +3 -5
  39. package/es/molecule/dashboard/review-banner/index.js.map +1 -1
  40. package/es/molecule/dashboard/start-battle/index.js +3 -5
  41. package/es/molecule/dashboard/start-battle/index.js.map +1 -1
  42. package/es/molecule/external-content-viewer/index.js +2 -1
  43. package/es/molecule/external-content-viewer/index.js.map +1 -1
  44. package/es/molecule/feedback/index.js +7 -3
  45. package/es/molecule/feedback/index.js.map +1 -1
  46. package/es/molecule/feedback/style.css +24 -0
  47. package/es/molecule/questions/free-text/index.native.js +5 -6
  48. package/es/molecule/questions/free-text/index.native.js.map +1 -1
  49. package/es/molecule/questions/qcm/index.native.js +6 -3
  50. package/es/molecule/questions/qcm/index.native.js.map +1 -1
  51. package/es/molecule/skill-card/prop-types.js +1 -1
  52. package/es/molecule/skill-card/prop-types.js.map +1 -1
  53. package/es/template/app-player/loading/index.js +1 -0
  54. package/es/template/app-player/loading/index.js.map +1 -1
  55. package/es/template/app-player/player/index.js +6 -3
  56. package/es/template/app-player/player/index.js.map +1 -1
  57. package/es/template/app-player/popin-end/index.js +21 -6
  58. package/es/template/app-player/popin-end/index.js.map +1 -1
  59. package/es/template/app-player/popin-end/style.css +1 -1
  60. package/es/template/app-player/popin-end/summary.css +65 -0
  61. package/es/template/app-player/popin-end/summary.js +57 -7
  62. package/es/template/app-player/popin-end/summary.js.map +1 -1
  63. package/es/template/app-player/popin-header/index.js +33 -12
  64. package/es/template/app-player/popin-header/index.js.map +1 -1
  65. package/es/template/app-player/popin-header/style.css +93 -0
  66. package/es/template/app-player/popin-no-access/index.js +27 -0
  67. package/es/template/app-player/popin-no-access/index.js.map +1 -0
  68. package/es/template/app-review/demo-ts/index.js +2 -0
  69. package/es/template/app-review/demo-ts/index.js.map +1 -1
  70. package/es/template/app-review/demo-ts/index.native.js +9 -0
  71. package/es/template/app-review/demo-ts/index.native.js.map +1 -0
  72. package/es/template/app-review/demo-ts/typings.js +7 -0
  73. package/es/template/app-review/demo-ts/typings.js.map +1 -0
  74. package/es/template/app-review/index.js +4 -0
  75. package/es/template/app-review/index.js.map +1 -1
  76. package/es/template/app-review/index.native.js +3 -13
  77. package/es/template/app-review/index.native.js.map +1 -1
  78. package/es/template/app-review/prop-types.js +2 -1
  79. package/es/template/app-review/prop-types.js.map +1 -1
  80. package/es/template/app-review/slides/index.js +2 -2
  81. package/es/template/app-review/slides/index.js.map +1 -1
  82. package/es/template/app-review/slides/index.native.js +17 -14
  83. package/es/template/app-review/slides/index.native.js.map +1 -1
  84. package/es/template/app-review/template-context.js +9 -3
  85. package/es/template/app-review/template-context.js.map +1 -1
  86. package/es/types/progression-engine.d.js +2 -0
  87. package/es/types/progression-engine.d.js.map +1 -0
  88. package/es/variables/analytics.js.map +1 -1
  89. package/es/variables/theme.native.js +66 -0
  90. package/es/variables/theme.native.js.map +1 -0
  91. package/es/variables/vibration.js +10 -0
  92. package/es/variables/vibration.js.map +1 -0
  93. package/lib/atom/drag-and-drop/index.js +2 -1
  94. package/lib/atom/drag-and-drop/index.js.map +1 -1
  95. package/lib/atom/header-back-button/index.native.js +95 -0
  96. package/lib/atom/header-back-button/index.native.js.map +1 -0
  97. package/lib/atom/header-back-icon/index.native.js +38 -0
  98. package/lib/atom/header-back-icon/index.native.js.map +1 -0
  99. package/lib/atom/html/index.native.js +170 -0
  100. package/lib/atom/html/index.native.js.map +1 -0
  101. package/lib/atom/input-checkbox/index.js +2 -1
  102. package/lib/atom/input-checkbox/index.js.map +1 -1
  103. package/lib/atom/input-switch/index.js +2 -1
  104. package/lib/atom/input-switch/index.js.map +1 -1
  105. package/lib/atom/select-modal/index.native.js +135 -0
  106. package/lib/atom/select-modal/index.native.js.map +1 -0
  107. package/lib/atom/space/index.native.js +33 -0
  108. package/lib/atom/space/index.native.js.map +1 -0
  109. package/lib/atom/spinner/index.js +1 -0
  110. package/lib/atom/spinner/index.js.map +1 -1
  111. package/lib/atom/text/index.native.js +44 -0
  112. package/lib/atom/text/index.native.js.map +1 -0
  113. package/lib/hoc/modal/index.native.js +114 -0
  114. package/lib/hoc/modal/index.native.js.map +1 -0
  115. package/lib/hoc/modal/select/index.native.js +101 -0
  116. package/lib/hoc/modal/select/index.native.js.map +1 -0
  117. package/lib/hoc/modal/select-item/index.native.js +70 -0
  118. package/lib/hoc/modal/select-item/index.native.js.map +1 -0
  119. package/lib/hoc/touchable/index.native.js +83 -0
  120. package/lib/hoc/touchable/index.native.js.map +1 -0
  121. package/lib/index.js +4 -0
  122. package/lib/index.js.map +1 -1
  123. package/lib/molecule/cm-popin/index.js +27 -8
  124. package/lib/molecule/cm-popin/index.js.map +1 -1
  125. package/lib/molecule/cm-popin/style.css +24 -1
  126. package/lib/molecule/dashboard/battle-request-list/index.js +3 -5
  127. package/lib/molecule/dashboard/battle-request-list/index.js.map +1 -1
  128. package/lib/molecule/dashboard/news-list/index.js +3 -5
  129. package/lib/molecule/dashboard/news-list/index.js.map +1 -1
  130. package/lib/molecule/dashboard/review-banner/index.js +3 -5
  131. package/lib/molecule/dashboard/review-banner/index.js.map +1 -1
  132. package/lib/molecule/dashboard/start-battle/index.js +3 -5
  133. package/lib/molecule/dashboard/start-battle/index.js.map +1 -1
  134. package/lib/molecule/external-content-viewer/index.js +2 -1
  135. package/lib/molecule/external-content-viewer/index.js.map +1 -1
  136. package/lib/molecule/feedback/index.js +7 -3
  137. package/lib/molecule/feedback/index.js.map +1 -1
  138. package/lib/molecule/feedback/style.css +24 -0
  139. package/lib/molecule/questions/free-text/index.native.js +5 -6
  140. package/lib/molecule/questions/free-text/index.native.js.map +1 -1
  141. package/lib/molecule/questions/qcm/index.native.js +7 -3
  142. package/lib/molecule/questions/qcm/index.native.js.map +1 -1
  143. package/lib/molecule/skill-card/prop-types.js +1 -1
  144. package/lib/molecule/skill-card/prop-types.js.map +1 -1
  145. package/lib/template/app-player/loading/index.js +1 -0
  146. package/lib/template/app-player/loading/index.js.map +1 -1
  147. package/lib/template/app-player/player/index.js +7 -3
  148. package/lib/template/app-player/player/index.js.map +1 -1
  149. package/lib/template/app-player/popin-end/index.js +21 -6
  150. package/lib/template/app-player/popin-end/index.js.map +1 -1
  151. package/lib/template/app-player/popin-end/style.css +1 -1
  152. package/lib/template/app-player/popin-end/summary.css +65 -0
  153. package/lib/template/app-player/popin-end/summary.js +58 -7
  154. package/lib/template/app-player/popin-end/summary.js.map +1 -1
  155. package/lib/template/app-player/popin-header/index.js +32 -11
  156. package/lib/template/app-player/popin-header/index.js.map +1 -1
  157. package/lib/template/app-player/popin-header/style.css +93 -0
  158. package/lib/template/app-player/popin-no-access/index.js +37 -0
  159. package/lib/template/app-player/popin-no-access/index.js.map +1 -0
  160. package/lib/template/app-review/demo-ts/index.js +3 -0
  161. package/lib/template/app-review/demo-ts/index.js.map +1 -1
  162. package/lib/template/app-review/demo-ts/index.native.js +18 -0
  163. package/lib/template/app-review/demo-ts/index.native.js.map +1 -0
  164. package/lib/template/app-review/demo-ts/typings.js +16 -0
  165. package/lib/template/app-review/demo-ts/typings.js.map +1 -0
  166. package/lib/template/app-review/index.js +5 -0
  167. package/lib/template/app-review/index.js.map +1 -1
  168. package/lib/template/app-review/index.native.js +2 -12
  169. package/lib/template/app-review/index.native.js.map +1 -1
  170. package/lib/template/app-review/prop-types.js +2 -1
  171. package/lib/template/app-review/prop-types.js.map +1 -1
  172. package/lib/template/app-review/slides/index.js +2 -2
  173. package/lib/template/app-review/slides/index.js.map +1 -1
  174. package/lib/template/app-review/slides/index.native.js +17 -14
  175. package/lib/template/app-review/slides/index.native.js.map +1 -1
  176. package/lib/template/app-review/template-context.js +10 -1
  177. package/lib/template/app-review/template-context.js.map +1 -1
  178. package/lib/types/progression-engine.d.js +2 -0
  179. package/lib/types/progression-engine.d.js.map +1 -0
  180. package/lib/variables/analytics.js.map +1 -1
  181. package/lib/variables/theme.native.js +72 -0
  182. package/lib/variables/theme.native.js.map +1 -0
  183. package/lib/variables/vibration.js +15 -0
  184. package/lib/variables/vibration.js.map +1 -0
  185. package/package.json +9 -3
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import CMPopin from '../../../molecule/cm-popin';
4
+
5
+ const PopinNoAccess = props => {
6
+ const {
7
+ content,
8
+ icon,
9
+ backgroundImageUrl,
10
+ descriptionText
11
+ } = props;
12
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(CMPopin, {
13
+ content: content,
14
+ icon: icon,
15
+ backgroundImageUrl: backgroundImageUrl,
16
+ descriptionText: descriptionText
17
+ }));
18
+ };
19
+
20
+ PopinNoAccess.propTypes = process.env.NODE_ENV !== "production" ? {
21
+ content: PropTypes.string,
22
+ icon: PropTypes.string,
23
+ backgroundImageUrl: PropTypes.string,
24
+ descriptionText: PropTypes.string
25
+ } : {};
26
+ export default PopinNoAccess;
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/template/app-player/popin-no-access/index.js"],"names":["React","PropTypes","CMPopin","PopinNoAccess","props","content","icon","backgroundImageUrl","descriptionText","propTypes","string"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,OAAP,MAAoB,4BAApB;;AAEA,MAAMC,aAAa,GAAGC,KAAK,IAAI;AAC7B,QAAM;AAACC,IAAAA,OAAD;AAAUC,IAAAA,IAAV;AAAgBC,IAAAA,kBAAhB;AAAoCC,IAAAA;AAApC,MAAuDJ,KAA7D;AACA,sBACE,8CACE,oBAAC,OAAD;AACE,IAAA,OAAO,EAAEC,OADX;AAEE,IAAA,IAAI,EAAEC,IAFR;AAGE,IAAA,kBAAkB,EAAEC,kBAHtB;AAIE,IAAA,eAAe,EAAEC;AAJnB,IADF,CADF;AAUD,CAZD;;AAcAL,aAAa,CAACM,SAAd,2CAA0B;AACxBJ,EAAAA,OAAO,EAAEJ,SAAS,CAACS,MADK;AAExBJ,EAAAA,IAAI,EAAEL,SAAS,CAACS,MAFQ;AAGxBH,EAAAA,kBAAkB,EAAEN,SAAS,CAACS,MAHN;AAIxBF,EAAAA,eAAe,EAAEP,SAAS,CAACS;AAJH,CAA1B;AAOA,eAAeP,aAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CMPopin from '../../../molecule/cm-popin';\n\nconst PopinNoAccess = props => {\n const {content, icon, backgroundImageUrl, descriptionText} = props;\n return (\n <div>\n <CMPopin\n content={content}\n icon={icon}\n backgroundImageUrl={backgroundImageUrl}\n descriptionText={descriptionText}\n />\n </div>\n );\n};\n\nPopinNoAccess.propTypes = {\n content: PropTypes.string,\n icon: PropTypes.string,\n backgroundImageUrl: PropTypes.string,\n descriptionText: PropTypes.string\n};\n\nexport default PopinNoAccess;\n"],"file":"index.js"}
@@ -1,8 +1,10 @@
1
1
  import React from 'react';
2
+ import { propTypes } from './typings';
2
3
 
3
4
  const DemoTs = ({
4
5
  plop
5
6
  }) => /*#__PURE__*/React.createElement("p", null, plop);
6
7
 
8
+ DemoTs.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
7
9
  export default DemoTs;
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/demo-ts/index.tsx"],"names":["React","DemoTs","plop"],"mappings":"AAAA,OAAOA,KAAP,MAAuC,OAAvC;;AAIA,MAAMC,MAAyB,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBAAmB,+BAAIA,IAAJ,CAArD;;AAEA,eAAeD,MAAf","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":["React","propTypes","DemoTs","plop"],"mappings":"AAAA,OAAOA,KAAP,MAAuC,OAAvC;AACA,SAAeC,SAAf,QAA+B,WAA/B;;AAEA,MAAMC,MAAgC,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBAAmB,+BAAIA,IAAJ,CAA5D;;AAEAD,MAAM,CAACD,SAAP,2CAAmBA,SAAnB;AAEA,eAAeC,MAAf","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,9 @@
1
+ import React from 'react';
2
+ import { View, Text } from 'react-native';
3
+
4
+ const DemoTs = ({
5
+ plop
6
+ }) => /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Text, null, plop));
7
+
8
+ export default DemoTs;
9
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/template/app-review/demo-ts/index.native.tsx"],"names":["React","View","Text","DemoTs","plop"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAAQC,IAAR,EAAcC,IAAd,QAAyB,cAAzB;;AAGA,MAAMC,MAAM,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBACb,oBAAC,IAAD,qBACE,oBAAC,IAAD,QAAOA,IAAP,CADF,CADF;;AAMA,eAAeD,MAAf","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,7 @@
1
+ import PropTypes from 'prop-types';
2
+ export const propTypes = {
3
+ plop: PropTypes.string,
4
+ plip: PropTypes.number,
5
+ onClick: PropTypes.func
6
+ };
7
+ //# sourceMappingURL=typings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/template/app-review/demo-ts/typings.ts"],"names":["PropTypes","propTypes","plop","string","plip","number","onClick","func"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAEF,SAAS,CAACG,MADO;AAEvBC,EAAAA,IAAI,EAAEJ,SAAS,CAACK,MAFO;AAGvBC,EAAAA,OAAO,EAAEN,SAAS,CAACO;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"}
@@ -3,6 +3,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
3
3
  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; }
4
4
 
5
5
  import React from 'react';
6
+ import Loader from '../../atom/loader';
6
7
  import Onboarding from './onboarding';
7
8
  import Skills from './skills';
8
9
  import Slides from './slides';
@@ -26,6 +27,9 @@ const AppReview = (_ref) => {
26
27
 
27
28
  case ViewNames.slides:
28
29
  return /*#__PURE__*/React.createElement(Slides, _extends({}, slides, dispachers));
30
+
31
+ default:
32
+ return /*#__PURE__*/React.createElement(Loader, null);
29
33
  }
30
34
  };
31
35
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/app-review/index.js"],"names":["React","Onboarding","Skills","Slides","propTypes","ViewNames","AppReview","viewName","onboarding","skills","slides","dispachers"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,SAAP,IAAmBC,SAAnB,QAAmC,cAAnC,C,CAEA;;AAEA,MAAMC,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,SAAKF,SAAS,CAACI,MAAf;AACE,0BAAO,oBAAC,MAAD,eAAYA,MAAZ,EAAwBE,UAAxB,EAAP;;AACF,SAAKN,SAAS,CAACG,UAAf;AACE,0BAAO,oBAAC,UAAD,eAAgBA,UAAhB,EAAgCG,UAAhC,EAAP;;AACF,SAAKN,SAAS,CAACK,MAAf;AACE,0BAAO,oBAAC,MAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;AANJ;AAQD,CATD;;AAWAL,SAAS,CAACF,SAAV,2CAAsBA,SAAtB,M,CAEA;;AAEA,eAAeE,SAAf","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":["React","Loader","Onboarding","Skills","Slides","propTypes","ViewNames","AppReview","viewName","onboarding","skills","slides","dispachers"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,SAAP,IAAmBC,SAAnB,QAAmC,cAAnC,C,CAEA;;AAEA,MAAMC,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,SAAKF,SAAS,CAACI,MAAf;AACE,0BAAO,oBAAC,MAAD,eAAYA,MAAZ,EAAwBE,UAAxB,EAAP;;AACF,SAAKN,SAAS,CAACG,UAAf;AACE,0BAAO,oBAAC,UAAD,eAAgBA,UAAhB,EAAgCG,UAAhC,EAAP;;AACF,SAAKN,SAAS,CAACK,MAAf;AACE,0BAAO,oBAAC,MAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;;AACF;AACE,0BAAO,oBAAC,MAAD,OAAP;AARJ;AAUD,CAXD;;AAaAL,SAAS,CAACF,SAAV,2CAAsBA,SAAtB,M,CAEA;;AAEA,eAAeE,SAAf","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"}
@@ -3,7 +3,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
3
3
  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; }
4
4
 
5
5
  import React, { useEffect } from 'react';
6
- import { Text, StyleSheet, Pressable, View, BackHandler } from 'react-native';
6
+ import { Text, StyleSheet, View, BackHandler } from 'react-native';
7
7
  import propTypes, { ViewNames } from './prop-types';
8
8
  import Slides from './slides'; // -----------------------------------------------------------------------------
9
9
 
@@ -22,22 +22,12 @@ const Switch = (_ref) => {
22
22
  } = _ref,
23
23
  dispachers = _objectWithoutPropertiesLoose(_ref, ["viewName", "onboarding", "skills", "slides"]);
24
24
 
25
- const {
26
- navigateTo
27
- } = dispachers;
28
-
29
- const handlePress = v => () => navigateTo(v);
30
-
31
25
  switch (viewName) {
32
26
  case ViewNames.home:
33
- return /*#__PURE__*/React.createElement(Pressable, {
34
- onPress: handlePress('onboarding')
35
- }, /*#__PURE__*/React.createElement(Text, null, "view home"));
27
+ return /*#__PURE__*/React.createElement(Text, null, "view home");
36
28
 
37
29
  case ViewNames.onboarding:
38
- return /*#__PURE__*/React.createElement(Pressable, {
39
- onPress: handlePress('quizzer')
40
- }, /*#__PURE__*/React.createElement(Text, null, "view onboarding"));
30
+ return /*#__PURE__*/React.createElement(Text, null, "view onboarding");
41
31
 
42
32
  case ViewNames.slides:
43
33
  return /*#__PURE__*/React.createElement(Slides, _extends({}, slides, dispachers));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/app-review/index.native.js"],"names":["React","useEffect","Text","StyleSheet","Pressable","View","BackHandler","propTypes","ViewNames","Slides","styles","create","rootView","flex","alignItems","justifyContent","Switch","viewName","slides","dispachers","navigateTo","handlePress","v","home","onboarding","AppReview","props","navigateBack","backAction","backHandler","addEventListener","remove"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAeC,SAAf,QAA+B,OAA/B;AACA,SAAQC,IAAR,EAAcC,UAAd,EAA0BC,SAA1B,EAAqCC,IAArC,EAA2CC,WAA3C,QAA6D,cAA7D;AACA,OAAOC,SAAP,IAAmBC,SAAnB,QAAmC,cAAnC;AACA,OAAOC,MAAP,MAAmB,UAAnB,C,CAEA;;AAEA,MAAMC,MAAM,GAAGP,UAAU,CAACQ,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,SAAKT,SAAS,CAACe,IAAf;AACE,0BACE,oBAAC,SAAD;AAAW,QAAA,OAAO,EAAEF,WAAW,CAAC,YAAD;AAA/B,sBACE,oBAAC,IAAD,oBADF,CADF;;AAKF,SAAKb,SAAS,CAACgB,UAAf;AACE,0BACE,oBAAC,SAAD;AAAW,QAAA,OAAO,EAAEH,WAAW,CAAC,SAAD;AAA/B,sBACE,oBAAC,IAAD,0BADF,CADF;;AAKF,SAAKb,SAAS,CAACU,MAAf;AACE,0BAAO,oBAAC,MAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;;AACF;AACE,0BAAO,oBAAC,IAAD,+BAAP;AAhBJ;AAkBD,CAtBD,C,CAwBA;;;AAEA,MAAMM,SAAS,GAAGC,KAAK,IAAI;AACzB,QAAM;AAACC,IAAAA;AAAD,MAAiBD,KAAvB;AAEAzB,EAAAA,SAAS,CAAC,MAAM;AACd,UAAM2B,UAAU,GAAG,MAAM;AACvBD,MAAAA,YAAY;AACZ,aAAO,IAAP;AACD,KAHD,CADc,CAMd;;;AACA,UAAME,WAAW,GAAGvB,WAAW,CAACwB,gBAAZ,CAA6B,mBAA7B,EAAkDF,UAAlD,CAApB;AAEA,WAAO,MAAMC,WAAW,CAACE,MAAZ,EAAb;AACD,GAVQ,EAUN,CAACJ,YAAD,CAVM,CAAT;AAYA,sBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEjB,MAAM,CAACE;AAApB,kBACE,oBAAC,MAAD,EAAYc,KAAZ,CADF,CADF;AAKD,CApBD,C,CAsBA;;;AAEAD,SAAS,CAAClB,SAAV,2CAAsBA,SAAtB;AACAS,MAAM,CAACT,SAAP,2CAAmBkB,SAAS,CAAClB,SAA7B,M,CAEA;;AAEA,eAAekB,SAAf","sourcesContent":["import React, {useEffect} from 'react';\nimport {Text, StyleSheet, Pressable, View, BackHandler} from 'react-native';\nimport propTypes, {ViewNames} from './prop-types';\nimport Slides from './slides';\n\n// -----------------------------------------------------------------------------\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst Switch = ({viewName, onboarding, skills, slides, ...dispachers}) => {\n const {navigateTo} = dispachers;\n const handlePress = v => () => navigateTo(v);\n\n switch (viewName) {\n case ViewNames.home:\n return (\n <Pressable onPress={handlePress('onboarding')}>\n <Text>view home</Text>\n </Pressable>\n );\n case ViewNames.onboarding:\n return (\n <Pressable onPress={handlePress('quizzer')}>\n <Text>view onboarding</Text>\n </Pressable>\n );\n case ViewNames.slides:\n return <Slides {...slides} {...dispachers} />;\n default:\n return <Text>view (none selected)</Text>;\n }\n};\n\n// -----------------------------------------------------------------------------\n\nconst AppReview = props => {\n const {navigateBack} = props;\n\n useEffect(() => {\n const backAction = () => {\n navigateBack();\n return true;\n };\n\n // https://reactnative.dev/docs/backhandler\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [navigateBack]);\n\n return (\n <View style={styles.rootView}>\n <Switch {...props} />\n </View>\n );\n};\n\n// -----------------------------------------------------------------------------\n\nAppReview.propTypes = propTypes;\nSwitch.propTypes = AppReview.propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default AppReview;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../src/template/app-review/index.native.js"],"names":["React","useEffect","Text","StyleSheet","View","BackHandler","propTypes","ViewNames","Slides","styles","create","rootView","flex","alignItems","justifyContent","Switch","viewName","slides","dispachers","home","onboarding","AppReview","props","navigateBack","backAction","backHandler","addEventListener","remove"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAeC,SAAf,QAA+B,OAA/B;AACA,SAAQC,IAAR,EAAcC,UAAd,EAA0BC,IAA1B,EAAgCC,WAAhC,QAAkD,cAAlD;AACA,OAAOC,SAAP,IAAmBC,SAAnB,QAAmC,cAAnC;AACA,OAAOC,MAAP,MAAmB,UAAnB,C,CAEA;;AAEA,MAAMC,MAAM,GAAGN,UAAU,CAACO,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,SAAKT,SAAS,CAACY,IAAf;AACE,0BAAO,oBAAC,IAAD,oBAAP;;AACF,SAAKZ,SAAS,CAACa,UAAf;AACE,0BAAO,oBAAC,IAAD,0BAAP;;AACF,SAAKb,SAAS,CAACU,MAAf;AACE,0BAAO,oBAAC,MAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;;AACF;AACE,0BAAO,oBAAC,IAAD,+BAAP;AARJ;AAUD,CAXD,C,CAaA;;;AAEA,MAAMG,SAAS,GAAGC,KAAK,IAAI;AACzB,QAAM;AAACC,IAAAA;AAAD,MAAiBD,KAAvB;AAEArB,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMuB,UAAU,GAAG,MAAM;AACvBD,MAAAA,YAAY;AACZ,aAAO,IAAP;AACD,KAHD,CADc,CAMd;;;AACA,UAAME,WAAW,GAAGpB,WAAW,CAACqB,gBAAZ,CAA6B,mBAA7B,EAAkDF,UAAlD,CAApB;AAEA,WAAO,MAAMC,WAAW,CAACE,MAAZ,EAAb;AACD,GAVQ,EAUN,CAACJ,YAAD,CAVM,CAAT;AAYA,sBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEd,MAAM,CAACE;AAApB,kBACE,oBAAC,MAAD,EAAYW,KAAZ,CADF,CADF;AAKD,CApBD,C,CAsBA;;;AAEAD,SAAS,CAACf,SAAV,2CAAsBA,SAAtB;AACAS,MAAM,CAACT,SAAP,2CAAmBe,SAAS,CAACf,SAA7B,M,CAEA;;AAEA,eAAee,SAAf","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"}
@@ -8,7 +8,8 @@ import Slides from './slides';
8
8
  export const ViewNames = {
9
9
  skills: 'skills',
10
10
  onboarding: 'onboarding',
11
- slides: 'slides'
11
+ slides: 'slides',
12
+ default: 'loader'
12
13
  };
13
14
  export default {
14
15
  viewName: PropTypes.oneOf(keys(ViewNames)),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/app-review/prop-types.js"],"names":["PropTypes","keys","Onboarding","Skills","Slides","ViewNames","skills","onboarding","slides","viewName","oneOf","shape","propTypes"],"mappings":";;AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,MAAM,EAAE,QADe;AAEvBC,EAAAA,UAAU,EAAE,YAFW;AAGvBC,EAAAA,MAAM,EAAE;AAHe,CAAlB;AAMP,eAAe;AACbC,EAAAA,QAAQ,EAAET,SAAS,CAACU,KAAV,CAAgBT,IAAI,CAACI,SAAD,CAApB,CADG;AAEbE,EAAAA,UAAU,EAAEP,SAAS,CAACW,KAAV,cAAoBT,UAAU,CAACU,SAA/B,EAFC;AAGbN,EAAAA,MAAM,EAAEN,SAAS,CAACW,KAAV,cAAoBR,MAAM,CAACS,SAA3B,EAHK;AAIbJ,EAAAA,MAAM,EAAER,SAAS,CAACW,KAAV,cAAoBP,MAAM,CAACQ,SAA3B;AAJK,CAAf","sourcesContent":["import PropTypes from 'prop-types';\nimport keys from 'lodash/fp/keys';\nimport Onboarding from './onboarding';\nimport Skills from './skills';\nimport Slides from './slides';\n\nexport const ViewNames = {\n skills: 'skills',\n onboarding: 'onboarding',\n slides: 'slides'\n};\n\nexport default {\n viewName: PropTypes.oneOf(keys(ViewNames)),\n onboarding: PropTypes.shape({...Onboarding.propTypes}),\n skills: PropTypes.shape({...Skills.propTypes}),\n slides: PropTypes.shape({...Slides.propTypes})\n};\n"],"file":"prop-types.js"}
1
+ {"version":3,"sources":["../../../src/template/app-review/prop-types.js"],"names":["PropTypes","keys","Onboarding","Skills","Slides","ViewNames","skills","onboarding","slides","default","viewName","oneOf","shape","propTypes"],"mappings":";;AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,MAAM,EAAE,QADe;AAEvBC,EAAAA,UAAU,EAAE,YAFW;AAGvBC,EAAAA,MAAM,EAAE,QAHe;AAIvBC,EAAAA,OAAO,EAAE;AAJc,CAAlB;AAOP,eAAe;AACbC,EAAAA,QAAQ,EAAEV,SAAS,CAACW,KAAV,CAAgBV,IAAI,CAACI,SAAD,CAApB,CADG;AAEbE,EAAAA,UAAU,EAAEP,SAAS,CAACY,KAAV,cAAoBV,UAAU,CAACW,SAA/B,EAFC;AAGbP,EAAAA,MAAM,EAAEN,SAAS,CAACY,KAAV,cAAoBT,MAAM,CAACU,SAA3B,EAHK;AAIbL,EAAAA,MAAM,EAAER,SAAS,CAACY,KAAV,cAAoBR,MAAM,CAACS,SAA3B;AAJK,CAAf","sourcesContent":["import PropTypes from 'prop-types';\nimport keys from 'lodash/fp/keys';\nimport Onboarding from './onboarding';\nimport Skills from './skills';\nimport Slides from './slides';\n\nexport const ViewNames = {\n skills: 'skills',\n onboarding: 'onboarding',\n slides: 'slides',\n default: 'loader'\n};\n\nexport default {\n viewName: PropTypes.oneOf(keys(ViewNames)),\n onboarding: PropTypes.shape({...Onboarding.propTypes}),\n skills: PropTypes.shape({...Skills.propTypes}),\n slides: PropTypes.shape({...Slides.propTypes})\n};\n"],"file":"prop-types.js"}
@@ -257,9 +257,9 @@ const SlidesReview = ({
257
257
  useEffect(
258
258
  /* istanbul ignore next */
259
259
  () => {
260
- const slideNumber = get('slideNumber', progression);
260
+ const slideNumber = get('slideNumber', progression); // temporal fix, should check for new slides in the state && then update
261
261
 
262
- if (progression) {
262
+ if (progression && slideNumber !== 0) {
263
263
  const hidden = getOr(false, `${slideNumber}.hidden`, slides);
264
264
  const endReview = getOr(false, `${slideNumber}.endReview`, slides);
265
265
  const position = get(`${slideNumber}.position`, slides);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/slides/index.js"],"names":["React","useState","useMemo","useEffect","classnames","get","getOr","isNil","map","omit","pipe","size","ICON_VALUES","ReviewBackground","ReviewCongrats","ReviewHeader","ReviewCorrectionPopin","Answer","ButtonLink","style","SlidesReviewPropTypes","SlidePropTypes","StackedSlidesPropTypes","stylesByPosition","position0","position1","position2","position3","position4","TOTAL_SLIDES_STACK","HIGHEST_INDEX","getSlideAnimation","action","position","hidden","slideOutHideAndIn","slideOutAndIn","hiddenSlide","Slide","slideNumber","slides","primarySkinColor","validate","validateSlide","finishedSlides","finishedSlidesSize","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnNext","progression","correctionPopinProps","endReview","animationType","isSlideCorrect","questionText","answerUI","validateLabel","validateButtonProps","customStyle","backgroundColor","onClick","label","className","validateButton","disabled","klf","information","message","next","successLabel","failureLabel","_correctionPopinProps","exitNode","newSlideContent","isCorrect","numberOfFinishedSlides","stepNumber","current","type","resultLabel","questionOrigin","answerProps","model","answers","choices","slideBase","slideContentContainer","question","help","answerContainer","validateButtonWrapper","correctionPopinWrapper","hiddenCorrectionPopinWrapper","display","propTypes","StackedSlides","stackedSlides","slide","push","SlidesReview","headerProps","reviewBackgroundAriaLabel","stepItems","reviewStatus","congratsProps","updateSlidesOnValidation","updateStepItemsOnValidation","updateFinishedSlides","context","skin","shouldMountSlides","updateShouldMountSlides","nextContent","icon","right","wrong","value","setTimeout","stepItemsArray","stepItem","_headerProps","steps","key","hiddenSteps","slidesRevisionContainer","playerBackground","reviewHeaderContainer","stackedSlidesYAxisOverflowContainer","stackedSlidesContainer","congrats"],"mappings":"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","sourcesContent":["import React, {useState, useMemo, useEffect} from 'react';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport isNil from 'lodash/fp/isNil';\nimport map from 'lodash/fp/map';\nimport omit from 'lodash/fp/omit';\nimport pipe from 'lodash/fp/pipe';\nimport size from 'lodash/fp/size';\nimport {ICON_VALUES} from '../../../atom/review-header-step-item';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewHeader from '../../../organism/review-header';\nimport ReviewCorrectionPopin from '../../../molecule/review-correction-popin';\nimport Answer from '../../../molecule/answer';\nimport ButtonLink from '../../../atom/button-link';\nimport style from './style.css';\nimport {SlidesReviewPropTypes, SlidePropTypes, StackedSlidesPropTypes} from './prop-types';\n\nconst stylesByPosition = {\n 0: style.position0,\n 1: style.position1,\n 2: style.position2,\n 3: style.position3,\n 4: style.position4\n};\n\nexport const TOTAL_SLIDES_STACK = 5;\nexport const HIGHEST_INDEX = TOTAL_SLIDES_STACK - 1;\n\nconst getSlideAnimation = (action, position, hidden) => {\n switch (action) {\n /* istanbul ignore next */\n case 'unstack':\n return style.slideOutHideAndIn;\n /* istanbul ignore next */\n case 'restack':\n return style.slideOutAndIn;\n default:\n return hidden ? style.hiddenSlide : stylesByPosition[position];\n }\n};\n\nconst Slide = ({\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const animationType = getOr(false, `${slideNumber}.animationType`, slides);\n const isSlideCorrect = getOr(null, `${slideNumber}.isCorrect`, slides);\n const questionText = get(`${slideNumber}.questionText`, slides);\n const answerUI = get(`${slideNumber}.answerUI`, slides);\n\n const validateLabel = getOr('', 'label', validate);\n\n const validateButtonProps = {\n customStyle: {\n backgroundColor: primarySkinColor\n },\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextContent content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slides will disappear, also fired in a useEffect),\n\n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n */\n onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n 'aria-label': validateLabel,\n label: validateLabel,\n 'data-name': `slide-validate-button-${slideNumber}`,\n className: style.validateButton,\n disabled: !isNil(isSlideCorrect)\n };\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const successLabel = getOr('', 'successLabel', correctionPopinProps);\n const failureLabel = getOr('', 'failureLabel', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n /*\n next slide action, this will trigger the slides animations\n if it is the last slide AND the content needs to be different, then that update\n of the content will be handled here (and in the validate as it happens normally )\n from the content carried from the validate action.\n */\n onClick: () => {\n const exitNode = get('exitNode', progression);\n\n updateSlidesOnNext({\n slideNumber,\n newSlideContent: {\n hidden: !!isSlideCorrect,\n position: HIGHEST_INDEX - finishedSlidesSize, // to restack the slide\n animationType: isSlideCorrect ? 'unstack' : 'restack',\n isCorrect: isSlideCorrect,\n endReview: !!exitNode,\n answerUI,\n questionText\n },\n numberOfFinishedSlides: finishedSlidesSize\n });\n updateStepItemsOnNext({\n stepNumber: slideNumber,\n finishedSlides,\n current:\n finishedSlidesSize === HIGHEST_INDEX && /* istanbul ignore next */ !isSlideCorrect\n });\n\n if (finishedSlidesSize === TOTAL_SLIDES_STACK) updateReviewStatus('finished');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideNumber}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: isSlideCorrect ? 'right' : 'wrong',\n resultLabel: isSlideCorrect ? successLabel : failureLabel\n };\n\n const questionOrigin = 'From \"Master Design Thinking to become more agile\" course';\n const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div\n key={`slide-${slideNumber}`}\n data-name={`slide-${slideNumber}`}\n className={classnames(\n style.slideBase,\n getSlideAnimation(animationType, position, hidden),\n endReview ? style.endReview : null\n )}\n >\n {answerUI && questionText ? (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div key=\"title\" className={style.question}>\n {questionText}\n </div>\n <div key=\"help\" className={style.help}>\n {answerUI.help}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} key=\"answer\" />\n </div>\n </div>\n ) : null}\n\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n <div\n className={\n isSlideCorrect ? style.correctionPopinWrapper : style.hiddenCorrectionPopinWrapper\n }\n style={{\n ...(finishedSlidesSize !== HIGHEST_INDEX &&\n !isSlideCorrect && {\n display: 'none'\n })\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n </div>\n );\n};\n\nSlide.propTypes = SlidePropTypes;\n\nconst StackedSlides = ({\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const stackedSlides = [];\n // eslint-disable-next-line fp/no-loops\n for (let slideNumber = 0; slideNumber < TOTAL_SLIDES_STACK; slideNumber++) {\n const slide = (\n <Slide\n {...{\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n key={slideNumber}\n />\n );\n stackedSlides.push(slide);\n }\n\n return stackedSlides;\n};\n\nStackedSlides.propTypes = StackedSlidesPropTypes;\n\nconst SlidesReview = (\n {\n headerProps,\n reviewBackgroundAriaLabel,\n validate,\n correctionPopinProps,\n slides,\n finishedSlides,\n stepItems,\n reviewStatus,\n congratsProps,\n validateSlide,\n updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\n progression\n },\n context\n) => {\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n\n const finishedSlidesSize = useMemo(() => pipe(omit('slideNumbers'), size)(finishedSlides), [\n finishedSlides\n ]);\n\n /*\n ||-------> the slides have an slightly longer lifespan than the \"ongoing\" review State,\n after reviewState changes to \"finished\" the slides don't have to unmount until the last\n slide-out animation is finished, the slides have to be unmounted to be RGAA complaint.\n (if they are only invisible -but- still mounted, then they will be found by the assisting\n tools & clutter them)\n */\n const [shouldMountSlides, updateShouldMountSlides] = useState(true);\n\n useEffect(\n /* istanbul ignore next */ () => {\n const slideNumber = get('slideNumber', progression);\n if (progression) {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const isCorrect = get('isCorrect', progression);\n const exitNode = get('exitNode', progression);\n const nextContent = get('nextContent', progression);\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n isCorrect,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlidesSize,\n nextContent\n });\n updateStepItemsOnValidation({\n stepNumber: slideNumber,\n icon: isCorrect ? ICON_VALUES.right : ICON_VALUES.wrong\n });\n if (isCorrect) updateFinishedSlides({slideNumber, value: true});\n if (endReview) {\n updateReviewStatus('finished');\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [progression]\n );\n\n useEffect(\n /* istanbul ignore next */ () => {\n if (reviewStatus === 'finished') {\n setTimeout(() => updateShouldMountSlides(false), 2000);\n }\n },\n [finishedSlidesSize, reviewStatus, updateReviewStatus]\n );\n\n // ||-------> transform the step items state to Array\n const stepItemsArray = useMemo(\n () =>\n pipe(\n omit('slideNumbers'),\n map(stepItem => stepItem)\n )(stepItems),\n [stepItems]\n );\n\n const _headerProps = {\n ...headerProps,\n steps: stepItemsArray,\n key: 'review-header',\n hiddenSteps: reviewStatus !== 'ongoing'\n };\n\n return (\n <div\n key=\"slides-revision-container\"\n data-name=\"slides-revision-container\"\n className={style.slidesRevisionContainer}\n >\n <div key=\"player-background-container\" className={style.playerBackground}>\n <ReviewBackground aria-label={reviewBackgroundAriaLabel} />\n </div>\n\n <div key=\"review-header-wrapper\" className={style.reviewHeaderContainer}>\n <ReviewHeader {..._headerProps} />\n </div>\n\n {shouldMountSlides ? (\n <div\n key=\"stacked-slides-container-y-overflow\"\n className={style.stackedSlidesYAxisOverflowContainer}\n >\n <div\n key=\"stacked-slides-container\"\n data-name=\"stacked-slides-container\"\n className={style.stackedSlidesContainer}\n >\n <StackedSlides\n {...{\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n />\n </div>\n </div>\n ) : /* istanbul ignore next */ null}\n\n {reviewStatus === 'finished' ? (\n <div className={style.congrats} data-name=\"congrats-container\">\n <ReviewCongrats {...congratsProps} />\n </div>\n ) : null}\n </div>\n );\n};\n\nSlidesReview.propTypes = SlidesReviewPropTypes;\n\nexport default SlidesReview;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-review/slides/index.js"],"names":["React","useState","useMemo","useEffect","classnames","get","getOr","isNil","map","omit","pipe","size","ICON_VALUES","ReviewBackground","ReviewCongrats","ReviewHeader","ReviewCorrectionPopin","Answer","ButtonLink","style","SlidesReviewPropTypes","SlidePropTypes","StackedSlidesPropTypes","stylesByPosition","position0","position1","position2","position3","position4","TOTAL_SLIDES_STACK","HIGHEST_INDEX","getSlideAnimation","action","position","hidden","slideOutHideAndIn","slideOutAndIn","hiddenSlide","Slide","slideNumber","slides","primarySkinColor","validate","validateSlide","finishedSlides","finishedSlidesSize","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnNext","progression","correctionPopinProps","endReview","animationType","isSlideCorrect","questionText","answerUI","validateLabel","validateButtonProps","customStyle","backgroundColor","onClick","label","className","validateButton","disabled","klf","information","message","next","successLabel","failureLabel","_correctionPopinProps","exitNode","newSlideContent","isCorrect","numberOfFinishedSlides","stepNumber","current","type","resultLabel","questionOrigin","answerProps","model","answers","choices","slideBase","slideContentContainer","question","help","answerContainer","validateButtonWrapper","correctionPopinWrapper","hiddenCorrectionPopinWrapper","display","propTypes","StackedSlides","stackedSlides","slide","push","SlidesReview","headerProps","reviewBackgroundAriaLabel","stepItems","reviewStatus","congratsProps","updateSlidesOnValidation","updateStepItemsOnValidation","updateFinishedSlides","context","skin","shouldMountSlides","updateShouldMountSlides","nextContent","icon","right","wrong","value","setTimeout","stepItemsArray","stepItem","_headerProps","steps","key","hiddenSteps","slidesRevisionContainer","playerBackground","reviewHeaderContainer","stackedSlidesYAxisOverflowContainer","stackedSlidesContainer","congrats"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,OAAzB,EAAkCC,SAAlC,QAAkD,OAAlD;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,SAAQC,WAAR,QAA0B,uCAA1B;AACA,OAAOC,gBAAP,MAA6B,iCAA7B;AACA,OAAOC,cAAP,MAA2B,mCAA3B;AACA,OAAOC,YAAP,MAAyB,iCAAzB;AACA,OAAOC,qBAAP,MAAkC,2CAAlC;AACA,OAAOC,MAAP,MAAmB,0BAAnB;AACA,OAAOC,UAAP,MAAuB,2BAAvB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,SAAQC,qBAAR,EAA+BC,cAA/B,EAA+CC,sBAA/C,QAA4E,cAA5E;AAEA,MAAMC,gBAAgB,GAAG;AACvB,KAAGJ,KAAK,CAACK,SADc;AAEvB,KAAGL,KAAK,CAACM,SAFc;AAGvB,KAAGN,KAAK,CAACO,SAHc;AAIvB,KAAGP,KAAK,CAACQ,SAJc;AAKvB,KAAGR,KAAK,CAACS;AALc,CAAzB;AAQA,OAAO,MAAMC,kBAAkB,GAAG,CAA3B;AACP,OAAO,MAAMC,aAAa,GAAGD,kBAAkB,GAAG,CAA3C;;AAEP,MAAME,iBAAiB,GAAG,CAACC,MAAD,EAASC,QAAT,EAAmBC,MAAnB,KAA8B;AACtD,UAAQF,MAAR;AACE;AACA,SAAK,SAAL;AACE,aAAOb,KAAK,CAACgB,iBAAb;;AACF;;AACA,SAAK,SAAL;AACE,aAAOhB,KAAK,CAACiB,aAAb;;AACF;AACE,aAAOF,MAAM,GAAGf,KAAK,CAACkB,WAAT,GAAuBd,gBAAgB,CAACU,QAAD,CAApD;AARJ;AAUD,CAXD;;AAaA,MAAMK,KAAK,GAAG,CAAC;AACbC,EAAAA,WADa;AAEbC,EAAAA,MAFa;AAGbC,EAAAA,gBAHa;AAIbC,EAAAA,QAJa;AAKbC,EAAAA,aALa;AAMbC,EAAAA,cANa;AAObC,EAAAA,kBAPa;AAQbC,EAAAA,kBARa;AASbC,EAAAA,kBATa;AAUbC,EAAAA,qBAVa;AAWbC,EAAAA,WAXa;AAYbC,EAAAA;AAZa,CAAD,KAaR;AACJ,QAAMhB,MAAM,GAAG5B,KAAK,CAAC,KAAD,EAAS,GAAEiC,WAAY,SAAvB,EAAiCC,MAAjC,CAApB;AACA,QAAMW,SAAS,GAAG7C,KAAK,CAAC,KAAD,EAAS,GAAEiC,WAAY,YAAvB,EAAoCC,MAApC,CAAvB;AACA,QAAMP,QAAQ,GAAG5B,GAAG,CAAE,GAAEkC,WAAY,WAAhB,EAA4BC,MAA5B,CAApB;AACA,QAAMY,aAAa,GAAG9C,KAAK,CAAC,KAAD,EAAS,GAAEiC,WAAY,gBAAvB,EAAwCC,MAAxC,CAA3B;AACA,QAAMa,cAAc,GAAG/C,KAAK,CAAC,IAAD,EAAQ,GAAEiC,WAAY,YAAtB,EAAmCC,MAAnC,CAA5B;AACA,QAAMc,YAAY,GAAGjD,GAAG,CAAE,GAAEkC,WAAY,eAAhB,EAAgCC,MAAhC,CAAxB;AACA,QAAMe,QAAQ,GAAGlD,GAAG,CAAE,GAAEkC,WAAY,WAAhB,EAA4BC,MAA5B,CAApB;AAEA,QAAMgB,aAAa,GAAGlD,KAAK,CAAC,EAAD,EAAK,OAAL,EAAcoC,QAAd,CAA3B;AAEA,QAAMe,mBAAmB,GAAG;AAC1BC,IAAAA,WAAW,EAAE;AACXC,MAAAA,eAAe,EAAElB;AADN,KADa;;AAI1B;;;;;;;;AASAmB,IAAAA,OAAO,EAAE,YAAY;AACnB;AACA,YAAMjB,aAAa,EAAnB;AACD,KAhByB;AAiB1B,kBAAca,aAjBY;AAkB1BK,IAAAA,KAAK,EAAEL,aAlBmB;AAmB1B,iBAAc,yBAAwBjB,WAAY,EAnBxB;AAoB1BuB,IAAAA,SAAS,EAAE3C,KAAK,CAAC4C,cApBS;AAqB1BC,IAAAA,QAAQ,EAAE,CAACzD,KAAK,CAAC8C,cAAD;AArBU,GAA5B;AAwBA,QAAMY,GAAG,GAAG3D,KAAK,CAAC,EAAD,EAAK,KAAL,EAAY4C,oBAAZ,CAAjB;AACA,QAAMgB,WAAW,GAAG5D,KAAK,CAAC;AAACuD,IAAAA,KAAK,EAAE,EAAR;AAAYM,IAAAA,OAAO,EAAE;AAArB,GAAD,EAA2B,aAA3B,EAA0CjB,oBAA1C,CAAzB;AACA,QAAMkB,IAAI,GAAG/D,GAAG,CAAC,MAAD,EAAS6C,oBAAT,CAAhB;AACA,QAAMmB,YAAY,GAAG/D,KAAK,CAAC,EAAD,EAAK,cAAL,EAAqB4C,oBAArB,CAA1B;AACA,QAAMoB,YAAY,GAAGhE,KAAK,CAAC,EAAD,EAAK,cAAL,EAAqB4C,oBAArB,CAA1B;AAEA,QAAMqB,qBAAqB,GAAG;AAC5BH,IAAAA,IAAI,EAAE;AACJ;;;;;;AAMAR,MAAAA,OAAO,EAAE,MAAM;AACb,cAAMY,QAAQ,GAAGnE,GAAG,CAAC,UAAD,EAAa4C,WAAb,CAApB;AAEAH,QAAAA,kBAAkB,CAAC;AACjBP,UAAAA,WADiB;AAEjBkC,UAAAA,eAAe,EAAE;AACfvC,YAAAA,MAAM,EAAE,CAAC,CAACmB,cADK;AAEfpB,YAAAA,QAAQ,EAAEH,aAAa,GAAGe,kBAFX;AAE+B;AAC9CO,YAAAA,aAAa,EAAEC,cAAc,GAAG,SAAH,GAAe,SAH7B;AAIfqB,YAAAA,SAAS,EAAErB,cAJI;AAKfF,YAAAA,SAAS,EAAE,CAAC,CAACqB,QALE;AAMfjB,YAAAA,QANe;AAOfD,YAAAA;AAPe,WAFA;AAWjBqB,UAAAA,sBAAsB,EAAE9B;AAXP,SAAD,CAAlB;AAaAG,QAAAA,qBAAqB,CAAC;AACpB4B,UAAAA,UAAU,EAAErC,WADQ;AAEpBK,UAAAA,cAFoB;AAGpBiC,UAAAA,OAAO,EACLhC,kBAAkB,KAAKf,aAAvB;AAAwC;AAA2B,WAACuB;AAJlD,SAAD,CAArB;AAOA,YAAIR,kBAAkB,KAAKhB,kBAA3B,EAA+CkB,kBAAkB,CAAC,UAAD,CAAlB;AAChD,OA/BG;AAgCJc,MAAAA,KAAK,EAAEO,IAAI,IAAIA,IAAI,CAACP,KAhChB;AAiCJ,mBAAc,wBAAuBtB,WAAY,EAjC7C;AAkCJ,oBAAc6B,IAAI,IAAIA,IAAI,CAAC,YAAD;AAlCtB,KADsB;AAqC5BH,IAAAA,GArC4B;AAsC5BC,IAAAA,WAtC4B;AAuC5BY,IAAAA,IAAI,EAAEzB,cAAc,GAAG,OAAH,GAAa,OAvCL;AAwC5B0B,IAAAA,WAAW,EAAE1B,cAAc,GAAGgB,YAAH,GAAkBC;AAxCjB,GAA9B;AA2CA,QAAMU,cAAc,GAAG,2DAAvB;AACA,QAAMC,WAAW,GAAG5E,GAAG,CAAC,CAAC,OAAD,EAAU,SAAV,CAAD,EAAuBkD,QAAvB,CAAH;AAChB;AADgB,wBAEXA,QAFW;AAGd2B,IAAAA,KAAK,wBACA3B,QAAQ,CAAC2B,KADT;AAEHC,MAAAA,OAAO,EAAE5B,QAAQ,CAAC2B,KAAT,CAAeE;AAFrB;AAHS,OAQhB7B,QARJ;AAUA,sBACE;AACE,IAAA,GAAG,EAAG,SAAQhB,WAAY,EAD5B;AAEE,iBAAY,SAAQA,WAAY,EAFlC;AAGE,IAAA,SAAS,EAAEnC,UAAU,CACnBe,KAAK,CAACkE,SADa,EAEnBtD,iBAAiB,CAACqB,aAAD,EAAgBnB,QAAhB,EAA0BC,MAA1B,CAFE,EAGnBiB,SAAS,GAAGhC,KAAK,CAACgC,SAAT,GAAqB,IAHX;AAHvB,KASGI,QAAQ,IAAID,YAAZ,gBACC;AAAK,IAAA,GAAG,EAAC,mBAAT;AAA6B,IAAA,SAAS,EAAEnC,KAAK,CAACmE;AAA9C,kBACE;AAAK,IAAA,GAAG,EAAC,aAAT;AAAuB,IAAA,SAAS,EAAEnE,KAAK,CAAC6D;AAAxC,KACGA,cADH,CADF,eAIE;AAAK,IAAA,GAAG,EAAC,OAAT;AAAiB,IAAA,SAAS,EAAE7D,KAAK,CAACoE;AAAlC,KACGjC,YADH,CAJF,eAOE;AAAK,IAAA,GAAG,EAAC,MAAT;AAAgB,IAAA,SAAS,EAAEnC,KAAK,CAACqE;AAAjC,KACGjC,QAAQ,CAACiC,IADZ,CAPF,eAUE;AAAK,IAAA,GAAG,EAAC,kBAAT;AAA4B,IAAA,SAAS,EAAErE,KAAK,CAACsE;AAA7C,kBACE,oBAAC,MAAD,eAAYR,WAAZ;AAAyB,IAAA,GAAG,EAAC;AAA7B,KADF,CAVF,CADD,GAeG,IAxBN,eA0BE;AAAK,IAAA,GAAG,EAAC,gBAAT;AAA0B,IAAA,SAAS,EAAE9D,KAAK,CAACuE;AAA3C,kBACE,oBAAC,UAAD,EAAgBjC,mBAAhB,CADF,CA1BF,eA6BE;AACE,IAAA,SAAS,EACPJ,cAAc,GAAGlC,KAAK,CAACwE,sBAAT,GAAkCxE,KAAK,CAACyE,4BAF1D;AAIE,IAAA,KAAK,eACC/C,kBAAkB,KAAKf,aAAvB,IACF,CAACuB,cADC,IACiB;AACjBwC,MAAAA,OAAO,EAAE;AADQ,KAFlB;AAJP,kBAWE,oBAAC,qBAAD,EAA2BtB,qBAA3B,CAXF,CA7BF,CADF;AA6CD,CAzJD;;AA2JAjC,KAAK,CAACwD,SAAN,2CAAkBzE,cAAlB;;AAEA,MAAM0E,aAAa,GAAG,CAAC;AACrBvD,EAAAA,MADqB;AAErBC,EAAAA,gBAFqB;AAGrBC,EAAAA,QAHqB;AAIrBC,EAAAA,aAJqB;AAKrBC,EAAAA,cALqB;AAMrBC,EAAAA,kBANqB;AAOrBC,EAAAA,kBAPqB;AAQrBC,EAAAA,kBARqB;AASrBC,EAAAA,qBATqB;AAUrBC,EAAAA,WAVqB;AAWrBC,EAAAA;AAXqB,CAAD,KAYhB;AACJ,QAAM8C,aAAa,GAAG,EAAtB,CADI,CAEJ;;AACA,OAAK,IAAIzD,WAAW,GAAG,CAAvB,EAA0BA,WAAW,GAAGV,kBAAxC,EAA4DU,WAAW,EAAvE,EAA2E;AACzE,UAAM0D,KAAK,gBACT,oBAAC,KAAD,WACM;AACF1D,MAAAA,WADE;AAEFC,MAAAA,MAFE;AAGFC,MAAAA,gBAHE;AAIFC,MAAAA,QAJE;AAKFC,MAAAA,aALE;AAMFC,MAAAA,cANE;AAOFC,MAAAA,kBAPE;AAQFC,MAAAA,kBARE;AASFC,MAAAA,kBATE;AAUFC,MAAAA,qBAVE;AAWFC,MAAAA,WAXE;AAYFC,MAAAA;AAZE,KADN;AAeE,MAAA,GAAG,EAAEX;AAfP,OADF;AAmBAyD,IAAAA,aAAa,CAACE,IAAd,CAAmBD,KAAnB;AACD;;AAED,SAAOD,aAAP;AACD,CAvCD;;AAyCAD,aAAa,CAACD,SAAd,2CAA0BxE,sBAA1B;;AAEA,MAAM6E,YAAY,GAAG,CACnB;AACEC,EAAAA,WADF;AAEEC,EAAAA,yBAFF;AAGE3D,EAAAA,QAHF;AAIEQ,EAAAA,oBAJF;AAKEV,EAAAA,MALF;AAMEI,EAAAA,cANF;AAOE0D,EAAAA,SAPF;AAQEC,EAAAA,YARF;AASEC,EAAAA,aATF;AAUE7D,EAAAA,aAVF;AAWE8D,EAAAA,wBAXF;AAYE3D,EAAAA,kBAZF;AAaEC,EAAAA,kBAbF;AAcE2D,EAAAA,2BAdF;AAeE1D,EAAAA,qBAfF;AAgBE2D,EAAAA,oBAhBF;AAiBE1D,EAAAA;AAjBF,CADmB,EAoBnB2D,OApBmB,KAqBhB;AACH,QAAM;AAACC,IAAAA;AAAD,MAASD,OAAf;AACA,QAAMnE,gBAAgB,GAAGvC,OAAO,CAAC,MAAMI,KAAK,CAAC,SAAD,EAAY,gBAAZ,EAA8BuG,IAA9B,CAAZ,EAAiD,CAACA,IAAD,CAAjD,CAAhC;AAEA,QAAMhE,kBAAkB,GAAG3C,OAAO,CAAC,MAAMQ,IAAI,CAACD,IAAI,CAAC,cAAD,CAAL,EAAuBE,IAAvB,CAAJ,CAAiCiC,cAAjC,CAAP,EAAyD,CACzFA,cADyF,CAAzD,CAAlC;AAIA;;;;;;;;AAOA,QAAM,CAACkE,iBAAD,EAAoBC,uBAApB,IAA+C9G,QAAQ,CAAC,IAAD,CAA7D;AAEAE,EAAAA,SAAS;AACP;AAA2B,QAAM;AAC/B,UAAMoC,WAAW,GAAGlC,GAAG,CAAC,aAAD,EAAgB4C,WAAhB,CAAvB,CAD+B,CAE/B;;AACA,QAAIA,WAAW,IAAIV,WAAW,KAAK,CAAnC,EAAsC;AACpC,YAAML,MAAM,GAAG5B,KAAK,CAAC,KAAD,EAAS,GAAEiC,WAAY,SAAvB,EAAiCC,MAAjC,CAApB;AACA,YAAMW,SAAS,GAAG7C,KAAK,CAAC,KAAD,EAAS,GAAEiC,WAAY,YAAvB,EAAoCC,MAApC,CAAvB;AACA,YAAMP,QAAQ,GAAG5B,GAAG,CAAE,GAAEkC,WAAY,WAAhB,EAA4BC,MAA5B,CAApB;AACA,YAAMkC,SAAS,GAAGrE,GAAG,CAAC,WAAD,EAAc4C,WAAd,CAArB;AACA,YAAMuB,QAAQ,GAAGnE,GAAG,CAAC,UAAD,EAAa4C,WAAb,CAApB;AACA,YAAM+D,WAAW,GAAG3G,GAAG,CAAC,aAAD,EAAgB4C,WAAhB,CAAvB;AACAwD,MAAAA,wBAAwB,CAAC;AACvBlE,QAAAA,WADuB;AAEvBkC,QAAAA,eAAe,EAAE;AACfvC,UAAAA,MADe;AAEfD,UAAAA,QAFe;AAGfyC,UAAAA,SAHe;AAIfvB,UAAAA,SAAS,EAAE,CAAC,CAACqB;AAJE,SAFM;AAQvBG,QAAAA,sBAAsB,EAAE9B,kBARD;AASvBmE,QAAAA;AATuB,OAAD,CAAxB;AAWAN,MAAAA,2BAA2B,CAAC;AAC1B9B,QAAAA,UAAU,EAAErC,WADc;AAE1B0E,QAAAA,IAAI,EAAEvC,SAAS,GAAG9D,WAAW,CAACsG,KAAf,GAAuBtG,WAAW,CAACuG;AAFxB,OAAD,CAA3B;AAIA,UAAIzC,SAAJ,EAAeiC,oBAAoB,CAAC;AAACpE,QAAAA,WAAD;AAAc6E,QAAAA,KAAK,EAAE;AAArB,OAAD,CAApB;;AACf,UAAIjE,SAAJ,EAAe;AACbJ,QAAAA,kBAAkB,CAAC,UAAD,CAAlB;AACD;AACF;AACF,GA/BM,EAgCP;AACA,GAACE,WAAD,CAjCO,CAAT;AAoCA9C,EAAAA,SAAS;AACP;AAA2B,QAAM;AAC/B,QAAIoG,YAAY,KAAK,UAArB,EAAiC;AAC/Bc,MAAAA,UAAU,CAAC,MAAMN,uBAAuB,CAAC,KAAD,CAA9B,EAAuC,IAAvC,CAAV;AACD;AACF,GALM,EAMP,CAAClE,kBAAD,EAAqB0D,YAArB,EAAmCxD,kBAAnC,CANO,CAAT,CArDG,CA8DH;;AACA,QAAMuE,cAAc,GAAGpH,OAAO,CAC5B,MACEQ,IAAI,CACFD,IAAI,CAAC,cAAD,CADF,EAEFD,GAAG,CAAC+G,QAAQ,IAAIA,QAAb,CAFD,CAAJ,CAGEjB,SAHF,CAF0B,EAM5B,CAACA,SAAD,CAN4B,CAA9B;;AASA,QAAMkB,YAAY,yBACbpB,WADa;AAEhBqB,IAAAA,KAAK,EAAEH,cAFS;AAGhBI,IAAAA,GAAG,EAAE,eAHW;AAIhBC,IAAAA,WAAW,EAAEpB,YAAY,KAAK;AAJd,IAAlB;;AAOA,sBACE;AACE,IAAA,GAAG,EAAC,2BADN;AAEE,iBAAU,2BAFZ;AAGE,IAAA,SAAS,EAAEpF,KAAK,CAACyG;AAHnB,kBAKE;AAAK,IAAA,GAAG,EAAC,6BAAT;AAAuC,IAAA,SAAS,EAAEzG,KAAK,CAAC0G;AAAxD,kBACE,oBAAC,gBAAD;AAAkB,kBAAYxB;AAA9B,IADF,CALF,eASE;AAAK,IAAA,GAAG,EAAC,uBAAT;AAAiC,IAAA,SAAS,EAAElF,KAAK,CAAC2G;AAAlD,kBACE,oBAAC,YAAD,EAAkBN,YAAlB,CADF,CATF,EAaGV,iBAAiB,gBAChB;AACE,IAAA,GAAG,EAAC,qCADN;AAEE,IAAA,SAAS,EAAE3F,KAAK,CAAC4G;AAFnB,kBAIE;AACE,IAAA,GAAG,EAAC,0BADN;AAEE,iBAAU,0BAFZ;AAGE,IAAA,SAAS,EAAE5G,KAAK,CAAC6G;AAHnB,kBAKE,oBAAC,aAAD,EACM;AACFxF,IAAAA,MADE;AAEFC,IAAAA,gBAFE;AAGFC,IAAAA,QAHE;AAIFC,IAAAA,aAJE;AAKFC,IAAAA,cALE;AAMFC,IAAAA,kBANE;AAOFC,IAAAA,kBAPE;AAQFC,IAAAA,kBARE;AASFC,IAAAA,qBATE;AAUFC,IAAAA,WAVE;AAWFC,IAAAA;AAXE,GADN,CALF,CAJF,CADgB;AA2Bd;AAA2B,MAxCjC,EA0CGqD,YAAY,KAAK,UAAjB,gBACC;AAAK,IAAA,SAAS,EAAEpF,KAAK,CAAC8G,QAAtB;AAAgC,iBAAU;AAA1C,kBACE,oBAAC,cAAD,EAAoBzB,aAApB,CADF,CADD,GAIG,IA9CN,CADF;AAkDD,CAtJD;;AAwJAL,YAAY,CAACL,SAAb,2CAAyB1E,qBAAzB;AAEA,eAAe+E,YAAf","sourcesContent":["import React, {useState, useMemo, useEffect} from 'react';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport isNil from 'lodash/fp/isNil';\nimport map from 'lodash/fp/map';\nimport omit from 'lodash/fp/omit';\nimport pipe from 'lodash/fp/pipe';\nimport size from 'lodash/fp/size';\nimport {ICON_VALUES} from '../../../atom/review-header-step-item';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewHeader from '../../../organism/review-header';\nimport ReviewCorrectionPopin from '../../../molecule/review-correction-popin';\nimport Answer from '../../../molecule/answer';\nimport ButtonLink from '../../../atom/button-link';\nimport style from './style.css';\nimport {SlidesReviewPropTypes, SlidePropTypes, StackedSlidesPropTypes} from './prop-types';\n\nconst stylesByPosition = {\n 0: style.position0,\n 1: style.position1,\n 2: style.position2,\n 3: style.position3,\n 4: style.position4\n};\n\nexport const TOTAL_SLIDES_STACK = 5;\nexport const HIGHEST_INDEX = TOTAL_SLIDES_STACK - 1;\n\nconst getSlideAnimation = (action, position, hidden) => {\n switch (action) {\n /* istanbul ignore next */\n case 'unstack':\n return style.slideOutHideAndIn;\n /* istanbul ignore next */\n case 'restack':\n return style.slideOutAndIn;\n default:\n return hidden ? style.hiddenSlide : stylesByPosition[position];\n }\n};\n\nconst Slide = ({\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const animationType = getOr(false, `${slideNumber}.animationType`, slides);\n const isSlideCorrect = getOr(null, `${slideNumber}.isCorrect`, slides);\n const questionText = get(`${slideNumber}.questionText`, slides);\n const answerUI = get(`${slideNumber}.answerUI`, slides);\n\n const validateLabel = getOr('', 'label', validate);\n\n const validateButtonProps = {\n customStyle: {\n backgroundColor: primarySkinColor\n },\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextContent content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slides will disappear, also fired in a useEffect),\n\n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n */\n onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n 'aria-label': validateLabel,\n label: validateLabel,\n 'data-name': `slide-validate-button-${slideNumber}`,\n className: style.validateButton,\n disabled: !isNil(isSlideCorrect)\n };\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const successLabel = getOr('', 'successLabel', correctionPopinProps);\n const failureLabel = getOr('', 'failureLabel', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n /*\n next slide action, this will trigger the slides animations\n if it is the last slide AND the content needs to be different, then that update\n of the content will be handled here (and in the validate as it happens normally )\n from the content carried from the validate action.\n */\n onClick: () => {\n const exitNode = get('exitNode', progression);\n\n updateSlidesOnNext({\n slideNumber,\n newSlideContent: {\n hidden: !!isSlideCorrect,\n position: HIGHEST_INDEX - finishedSlidesSize, // to restack the slide\n animationType: isSlideCorrect ? 'unstack' : 'restack',\n isCorrect: isSlideCorrect,\n endReview: !!exitNode,\n answerUI,\n questionText\n },\n numberOfFinishedSlides: finishedSlidesSize\n });\n updateStepItemsOnNext({\n stepNumber: slideNumber,\n finishedSlides,\n current:\n finishedSlidesSize === HIGHEST_INDEX && /* istanbul ignore next */ !isSlideCorrect\n });\n\n if (finishedSlidesSize === TOTAL_SLIDES_STACK) updateReviewStatus('finished');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideNumber}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: isSlideCorrect ? 'right' : 'wrong',\n resultLabel: isSlideCorrect ? successLabel : failureLabel\n };\n\n const questionOrigin = 'From \"Master Design Thinking to become more agile\" course';\n const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div\n key={`slide-${slideNumber}`}\n data-name={`slide-${slideNumber}`}\n className={classnames(\n style.slideBase,\n getSlideAnimation(animationType, position, hidden),\n endReview ? style.endReview : null\n )}\n >\n {answerUI && questionText ? (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div key=\"title\" className={style.question}>\n {questionText}\n </div>\n <div key=\"help\" className={style.help}>\n {answerUI.help}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} key=\"answer\" />\n </div>\n </div>\n ) : null}\n\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n <div\n className={\n isSlideCorrect ? style.correctionPopinWrapper : style.hiddenCorrectionPopinWrapper\n }\n style={{\n ...(finishedSlidesSize !== HIGHEST_INDEX &&\n !isSlideCorrect && {\n display: 'none'\n })\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n </div>\n );\n};\n\nSlide.propTypes = SlidePropTypes;\n\nconst StackedSlides = ({\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const stackedSlides = [];\n // eslint-disable-next-line fp/no-loops\n for (let slideNumber = 0; slideNumber < TOTAL_SLIDES_STACK; slideNumber++) {\n const slide = (\n <Slide\n {...{\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n key={slideNumber}\n />\n );\n stackedSlides.push(slide);\n }\n\n return stackedSlides;\n};\n\nStackedSlides.propTypes = StackedSlidesPropTypes;\n\nconst SlidesReview = (\n {\n headerProps,\n reviewBackgroundAriaLabel,\n validate,\n correctionPopinProps,\n slides,\n finishedSlides,\n stepItems,\n reviewStatus,\n congratsProps,\n validateSlide,\n updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\n progression\n },\n context\n) => {\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n\n const finishedSlidesSize = useMemo(() => pipe(omit('slideNumbers'), size)(finishedSlides), [\n finishedSlides\n ]);\n\n /*\n ||-------> the slides have an slightly longer lifespan than the \"ongoing\" review State,\n after reviewState changes to \"finished\" the slides don't have to unmount until the last\n slide-out animation is finished, the slides have to be unmounted to be RGAA complaint.\n (if they are only invisible -but- still mounted, then they will be found by the assisting\n tools & clutter them)\n */\n const [shouldMountSlides, updateShouldMountSlides] = useState(true);\n\n useEffect(\n /* istanbul ignore next */ () => {\n const slideNumber = get('slideNumber', progression);\n // temporal fix, should check for new slides in the state && then update\n if (progression && slideNumber !== 0) {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const isCorrect = get('isCorrect', progression);\n const exitNode = get('exitNode', progression);\n const nextContent = get('nextContent', progression);\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n isCorrect,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlidesSize,\n nextContent\n });\n updateStepItemsOnValidation({\n stepNumber: slideNumber,\n icon: isCorrect ? ICON_VALUES.right : ICON_VALUES.wrong\n });\n if (isCorrect) updateFinishedSlides({slideNumber, value: true});\n if (endReview) {\n updateReviewStatus('finished');\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [progression]\n );\n\n useEffect(\n /* istanbul ignore next */ () => {\n if (reviewStatus === 'finished') {\n setTimeout(() => updateShouldMountSlides(false), 2000);\n }\n },\n [finishedSlidesSize, reviewStatus, updateReviewStatus]\n );\n\n // ||-------> transform the step items state to Array\n const stepItemsArray = useMemo(\n () =>\n pipe(\n omit('slideNumbers'),\n map(stepItem => stepItem)\n )(stepItems),\n [stepItems]\n );\n\n const _headerProps = {\n ...headerProps,\n steps: stepItemsArray,\n key: 'review-header',\n hiddenSteps: reviewStatus !== 'ongoing'\n };\n\n return (\n <div\n key=\"slides-revision-container\"\n data-name=\"slides-revision-container\"\n className={style.slidesRevisionContainer}\n >\n <div key=\"player-background-container\" className={style.playerBackground}>\n <ReviewBackground aria-label={reviewBackgroundAriaLabel} />\n </div>\n\n <div key=\"review-header-wrapper\" className={style.reviewHeaderContainer}>\n <ReviewHeader {..._headerProps} />\n </div>\n\n {shouldMountSlides ? (\n <div\n key=\"stacked-slides-container-y-overflow\"\n className={style.stackedSlidesYAxisOverflowContainer}\n >\n <div\n key=\"stacked-slides-container\"\n data-name=\"stacked-slides-container\"\n className={style.stackedSlidesContainer}\n >\n <StackedSlides\n {...{\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n />\n </div>\n </div>\n ) : /* istanbul ignore next */ null}\n\n {reviewStatus === 'finished' ? (\n <div className={style.congrats} data-name=\"congrats-container\">\n <ReviewCongrats {...congratsProps} />\n </div>\n ) : null}\n </div>\n );\n};\n\nSlidesReview.propTypes = SlidesReviewPropTypes;\n\nexport default SlidesReview;\n"],"file":"index.js"}
@@ -133,7 +133,7 @@ const choicesStyle = StyleSheet.create({
133
133
  /* {choices.map(({text, selected = false}: _Choice_) => { */
134
134
 
135
135
  const Choices = ({
136
- choices
136
+ choices = []
137
137
  }) => /*#__PURE__*/React.createElement(View, {
138
138
  style: choicesStyle.container
139
139
  }, choices.map(({
@@ -156,11 +156,12 @@ Choices.propTypes = process.env.NODE_ENV !== "production" ? {
156
156
  })
157
157
  } : {}; // -----------------------------------------------------------------------------
158
158
 
159
- const Slide = ({
160
- validateSlide,
161
- slide,
162
- num
163
- }) => {
159
+ const Slide = props => {
160
+ const {
161
+ validateSlide,
162
+ slide,
163
+ num
164
+ } = props;
164
165
  const {
165
166
  width,
166
167
  height
@@ -175,11 +176,18 @@ const Slide = ({
175
176
  const {
176
177
  answerUI: {
177
178
  isDisabled = false,
178
- value,
179
+ value = '',
179
180
  model: {
180
181
  type,
181
182
  onChange
182
183
  }
184
+ } = {
185
+ isDisabled: false,
186
+ value: '',
187
+ model: {
188
+ type: 'freeText',
189
+ onChange: () => null
190
+ }
183
191
  }
184
192
  } = slide;
185
193
 
@@ -216,15 +224,10 @@ const Slide = ({
216
224
  onPress: validateSlide,
217
225
  testID: `button-quizzer-validate`
218
226
  }, validateLabel));
219
- };
220
-
221
- Slide.propTypes = process.env.NODE_ENV !== "production" ? {
222
- slide: SlidesReviewPropTypes.slide,
223
- validateSlide: SlidesReviewPropTypes.validateSlide,
224
- num: PropTypes.number
225
- } : {}; // -----------------------------------------------------------------------------
227
+ }; // -----------------------------------------------------------------------------
226
228
  // const Slides = ({slide}: Props) => {
227
229
 
230
+
228
231
  const Slides = ({
229
232
  slides,
230
233
  validateSlide
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/slides/index.native.tsx"],"names":["React","PropTypes","View","StyleSheet","Text","useWindowDimensions","Button","FreeText","useTemplateContext","SlidesReviewPropTypes","quizzerStyle","create","container","flex","padding","justifyContent","alignItems","SLIDE_HEIGHT","height","creatSlideStyle","num","width","slide","position","top","backgroundColor","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","category","fontSize","lineHeight","textAlign","question","fontWeight","instruction","button","createOptionStyle","selected","box","marginTop","marginBottom","text","choicesStyle","Choices","choices","map","index","optionStyle","propTypes","arrayOf","bool","Slide","validateSlide","slideStyle","validateLabel","templateContext","analytics","answerUI","isDisabled","value","model","type","onChange","number","Slides","slides"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAAQC,IAAR,EAAcC,UAAd,EAA0BC,IAA1B,EAAgCC,mBAAhC,EAAqDC,MAArD,QAAkE,cAAlE;AAEA,OAAOC,QAAP,MAAqB,uCAArB;AACA,SAAQC,kBAAR,QAAiC,qBAAjC;AACA,SAAQC,qBAAR,QAAoC,cAApC,C,CAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AAEA,MAAMC,YAAY,GAAGP,UAAU,CAACQ,MAAX,CAAkB;AACrCC,EAAAA,SAAS,EAAE;AACTC,IAAAA,IAAI,EAAE,CADG;AAETC,IAAAA,OAAO,EAAE,EAFA;AAGT;AACA;AACAC,IAAAA,cAAc,EAAE,eALP;AAMTC,IAAAA,UAAU,EAAE;AANH;AAD0B,CAAlB,CAArB;;AAWA,MAAMC,YAAY,GAAG,MAAMZ,mBAAmB,GAAGa,MAAtB,GAA+B,IAA1D,C,CAEA;;;AACA,MAAMC,eAAe,GAAG,CAACC,GAAD,EAAMC,KAAN,EAAaH,MAAb,KACtBf,UAAU,CAACQ,MAAX,CAAkB;AAChBW,EAAAA,KAAK,EAAE;AACLC,IAAAA,QAAQ,EAAE,UADL;AAELC,IAAAA,GAAG,EAAEN,MAAM,GAAG,CAAT,GAAaD,YAAY,KAAK,CAA9B,GAAkCG,GAAG,GAAG,CAFxC;AAGLP,IAAAA,IAAI,EAAE,CAHD;AAILY,IAAAA,eAAe,EAAE,MAJZ;AAKL;AACAP,IAAAA,MAAM,EAAED,YAAY,EANf;AAOLI,IAAAA,KAAK,EAAEA,KAAK,GAAG,EAAR,GAAaD,GAAG,GAAG,CAPrB;AAQLL,IAAAA,cAAc,EAAE,eARX;AASLC,IAAAA,UAAU,EAAE,QATP;AAULF,IAAAA,OAAO,EAAE,EAVJ;AAWLY,IAAAA,WAAW,EAAE,MAXR;AAYLC,IAAAA,YAAY,EAAE;AAACN,MAAAA,KAAK,EAAE,CAAR;AAAWH,MAAAA,MAAM,EAAE,CAAC;AAApB,KAZT;AAaLU,IAAAA,aAAa,EAAE,IAbV;AAcLC,IAAAA,YAAY,EAAE,EAdT;AAeLC,IAAAA,SAAS,EAAE,KAAKV,GAAG,GAAG,CAfjB;AAgBLW,IAAAA,YAAY,EAAE;AAhBT,GADS;AAmBhBC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,QAAQ,EAAE,EADF;AAERC,IAAAA,UAAU,EAAE,EAFJ;AAGR;AACA;AACA;AACAC,IAAAA,SAAS,EAAE;AANH,GAnBM;AA2BhBC,EAAAA,QAAQ,EAAE;AACRH,IAAAA,QAAQ,EAAE,EADF;AAERC,IAAAA,UAAU,EAAE,EAFJ;AAGRG,IAAAA,UAAU,EAAE,KAHJ;AAIR;AACAF,IAAAA,SAAS,EAAE;AALH,GA3BM;AAkChBG,EAAAA,WAAW,EAAE;AACXL,IAAAA,QAAQ,EAAE,EADC;AAEXC,IAAAA,UAAU,EAAE,EAFD;AAGX;AACA;AACA;AACAC,IAAAA,SAAS,EAAE;AANA,GAlCG;AA0ChBI,EAAAA,MAAM,EAAE;AACNlB,IAAAA,KAAK,EAAE,GADD;AAENH,IAAAA,MAAM,EAAE,EAFF;AAGNa,IAAAA,YAAY,EAAE,CAHR,CAIN;;AAJM;AA1CQ,CAAlB,CADF;;AAmDA,MAAMS,iBAAiB,GAAGC,QAAQ,IAAI;AACpC;AAEA,SAAOtC,UAAU,CAACQ,MAAX,CAAkB;AACvB+B,IAAAA,GAAG,EAAE;AACHrB,MAAAA,KAAK,EAAE,MADJ;AAEH;AACAK,MAAAA,WAAW,EAAE,MAHV;AAIHC,MAAAA,YAAY,EAAE;AAACN,QAAAA,KAAK,EAAE,CAAR;AAAWH,QAAAA,MAAM,EAAE,CAAC;AAApB,OAJX;AAKHU,MAAAA,aAAa,EAAE,GALZ;AAMHC,MAAAA,YAAY,EAAE,EANX;AAOHC,MAAAA,SAAS,EAAE,CAPR;AAQH;AACAhB,MAAAA,OAAO,EAAE,EATN;AAUH6B,MAAAA,SAAS,EAAE,CAVR;AAWHC,MAAAA,YAAY,EAAE,CAXX;AAYHb,MAAAA,YAAY,EAAE;AAZX,KADkB;AAevBc,IAAAA,IAAI,EAAE;AACJZ,MAAAA,QAAQ,EAAE,EADN;AAEJI,MAAAA,UAAU,EAAE,MAFR;AAGJH,MAAAA,UAAU,EAAE,EAHR;AAIJ;AACAC,MAAAA,SAAS,EAAE;AALP;AAfiB,GAAlB,CAAP;AAuBD,CA1BD;;AA4BA,MAAMW,YAAY,GAAG3C,UAAU,CAACQ,MAAX,CAAkB;AACrCC,EAAAA,SAAS,EAAE;AACTC,IAAAA,IAAI,EAAE,CADG;AAETQ,IAAAA,KAAK,EAAE,MAFE;AAGTN,IAAAA,cAAc,EAAE,QAHP;AAITC,IAAAA,UAAU,EAAE;AAJH;AAD0B,CAAlB,CAArB,C,CASA;;AAEA;;AACA,MAAM+B,OAAO,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBACd,oBAAC,IAAD;AAAM,EAAA,KAAK,EAAEF,YAAY,CAAClC;AAA1B,GACGoC,OAAO,CAACC,GAAR,CAAY,CAAC;AAACJ,EAAAA,IAAD;AAAOJ,EAAAA,QAAQ,GAAG;AAAlB,CAAD,EAA2BS,KAA3B,KAAqC;AAChD,QAAMC,WAAW,GAAGX,iBAAiB,CAACC,QAAD,CAArC;AACA,sBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEU,WAAW,CAACT,GAAzB;AAA8B,IAAA,GAAG,EAAG,UAASQ,KAAM;AAAnD,kBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEC,WAAW,CAACN;AAAzB,KACGA,IADH,OACUJ,QADV,CADF,CADF;AAOD,CATA,CADH,CADF;;AAeAM,OAAO,CAACK,SAAR,2CAAoB;AAClBJ,EAAAA,OAAO,EAAE/C,SAAS,CAACoD,OAAV,CAAkB;AACzBR,IAAAA,IAAI,EAAE5C,SAAS,CAAC4C,IADS;AAEzBJ,IAAAA,QAAQ,EAAExC,SAAS,CAACqD;AAFK,GAAlB;AADS,CAApB,M,CAOA;;AAEA,MAAMC,KAAK,GAAG,CAAC;AAACC,EAAAA,aAAD;AAAgBlC,EAAAA,KAAhB;AAAuBF,EAAAA;AAAvB,CAAD,KAAiC;AAC7C,QAAM;AAACC,IAAAA,KAAD;AAAQH,IAAAA;AAAR,MAAkBb,mBAAmB,EAA3C;AACA,QAAMoD,UAAU,GAAGtC,eAAe,CAACC,GAAD,EAAMC,KAAN,EAAaH,MAAb,CAAlC;AACA,QAAMwC,aAAa,GAAG,YAAtB,CAH6C,CAGT;;AAEpC,QAAMC,eAAe,GAAGnD,kBAAkB,EAA1C;AACA,QAAM;AAACoD,IAAAA;AAAD,MAAcD,eAApB;AAEA,QAAM;AACJE,IAAAA,QAAQ,EAAE;AACRC,MAAAA,UAAU,GAAG,KADL;AAERC,MAAAA,KAFQ;AAGRC,MAAAA,KAAK,EAAE;AAACC,QAAAA,IAAD;AAAOC,QAAAA;AAAP;AAHC;AADN,MAMF5C,KANJ;;AAQA,UAAQ2C,IAAR;AACE,SAAK,UAAL;AAAiB;AACf,4BACE,oBAAC,IAAD;AAAM,UAAA,KAAK,EAAER,UAAU,CAACnC;AAAxB,wBACE,oBAAC,QAAD;AACE,UAAA,UAAU,EAAEwC,UADd;AAEE,UAAA,QAAQ,EAAEI,QAFZ;AAGE,UAAA,KAAK,EAAEH,KAHT;AAIE,UAAA,MAAM,EAAC,WAJT;AAKE,UAAA,YAAY,EAAC,OALf;AAME,UAAA,SAAS,EAAEH;AANb,UADF,CADF;AAYD;;AACD;AAfF;;AAkBA,sBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEH,UAAU,CAACnC;AAAxB,kBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEmC,UAAU,CAACzB;AAAxB,KAAmCZ,GAAnC,CADF,eAEE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEqC,UAAU,CAACrB;AAAxB,KAAmCd,KAAK,CAACc,QAAzC,CAFF,eAGE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEqB,UAAU,CAACnB;AAAxB,KAAsChB,KAAK,CAACgB,WAA5C,CAHF,eAKE,oBAAC,OAAD;AAAS,IAAA,OAAO,EAAEhB,KAAK,CAAC0B;AAAxB,IALF,eAOE,oBAAC,MAAD;AAAQ,IAAA,KAAK,EAAES,UAAU,CAAClB,MAA1B;AAAkC,IAAA,OAAO,EAAEiB,aAA3C;AAA0D,IAAA,MAAM,EAAG;AAAnE,KACGE,aADH,CAPF,CADF;AAaD,CA/CD;;AAiDAH,KAAK,CAACH,SAAN,2CAAkB;AAChB9B,EAAAA,KAAK,EAAEb,qBAAqB,CAACa,KADb;AAEhBkC,EAAAA,aAAa,EAAE/C,qBAAqB,CAAC+C,aAFrB;AAGhBpC,EAAAA,GAAG,EAAEnB,SAAS,CAACkE;AAHC,CAAlB,M,CAMA;AAEA;;AACA,MAAMC,MAAM,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASb,EAAAA;AAAT,CAAD,KAA6B;AAC1C,MAAI,CAACa,MAAL,EAAa;AACX,WAAO,IAAP;AACD;;AAED,sBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE3D,YAAY,CAACE;AAA1B,kBACE,oBAAC,KAAD;AAAO,IAAA,aAAa,EAAE4C,aAAtB;AAAqC,IAAA,KAAK,EAAEa,MAAM,CAAC,CAAD,CAAlD;AAAuD,IAAA,GAAG,EAAE,CAA5D;AAA+D,IAAA,GAAG,EAAG,SAAQ,CAAE;AAA/E,IADF,CADF;AAaD,CAlBD;;AAoBAD,MAAM,CAAChB,SAAP,2CAAmB3C,qBAAnB,M,CAEA;;AAEA,eAAe2D,MAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {View, StyleSheet, Text, useWindowDimensions, Button} from 'react-native';\n\nimport FreeText from '../../../molecule/questions/free-text';\nimport {useTemplateContext} from '../template-context';\nimport {SlidesReviewPropTypes} from './prop-types';\n\n// import theme from '../../../modules/theme';\n// import translations from '../../../translations';\n// import {BrandThemeContext} from '../../../app-shared/components/brand-theme-provider';\n// import Button from '../../../app-shared/components/button';\n// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';\n\n// export type _Choice_ = {\n// text?: string,\n// selected: boolean\n// };\n\n// export type _Slide_ = {\n// category: string,\n// question: string,\n// instruction: string,\n// type: 'multiSelection' | 'singleSelection' | 'trueOrFalse',\n// choices?: _Choice_[]\n// };\n\n// interface Props {\n// slide: _Slide_;\n// num: number;\n// }\n\nconst quizzerStyle = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n // paddingTop: HEADER_HEIGHT + 20, @todo with props\n // backgroundColor: theme.colors.white, @todo with props\n justifyContent: 'space-between',\n alignItems: 'center'\n }\n});\n\nconst SLIDE_HEIGHT = () => useWindowDimensions().height * 0.75;\n\n// const creatSlideStyle = (num: number) =>\nconst creatSlideStyle = (num, width, height) =>\n StyleSheet.create({\n slide: {\n position: 'absolute',\n top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,\n flex: 1,\n backgroundColor: '#fff',\n // backgroundColor: theme.colors.white, @todo with props and useEffect\n height: SLIDE_HEIGHT(),\n width: width - 40 - num * 8,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n },\n category: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.text.primary, @todo with props\n // marginBottom: theme.spacing.tiny, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n question: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n // color: theme.colors.text.primary, @todo with props\n textAlign: 'center'\n },\n instruction: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.gray.medium, @todo with props\n // marginBottom: theme.spacing.base, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n button: {\n width: 287,\n height: 52,\n borderRadius: 7\n // marginTop: theme.spacing.base @todo with props\n }\n });\n\nconst createOptionStyle = selected => {\n // const brandTheme = React.useContext(BrandThemeContext); @todo with props\n\n return StyleSheet.create({\n box: {\n width: '100%',\n // https://stackoverflow.com/a/66561995/959219\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.2,\n shadowRadius: 16,\n elevation: 8,\n // backgroundColor: selected ? brandTheme.colors.primary : theme.colors.white, @todo with props\n padding: 12,\n marginTop: 4,\n marginBottom: 4,\n borderRadius: 8\n },\n text: {\n fontSize: 15,\n fontWeight: 'bold',\n lineHeight: 24,\n // color: selected ? theme.colors.white : theme.colors.text.primary, @todo with props\n textAlign: 'center'\n }\n });\n};\n\nconst choicesStyle = StyleSheet.create({\n container: {\n flex: 1,\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\n/* {choices.map(({text, selected = false}: _Choice_) => { */\nconst Choices = ({choices}) => (\n <View style={choicesStyle.container}>\n {choices.map(({text, selected = false}, index) => {\n const optionStyle = createOptionStyle(selected);\n return (\n <View style={optionStyle.box} key={`choice-${index}`}>\n <Text style={optionStyle.text}>\n {text} {selected}\n </Text>\n </View>\n );\n })}\n </View>\n);\n\nChoices.propTypes = {\n choices: PropTypes.arrayOf({\n text: PropTypes.text,\n selected: PropTypes.bool\n })\n};\n\n// -----------------------------------------------------------------------------\n\nconst Slide = ({validateSlide, slide, num}) => {\n const {width, height} = useWindowDimensions();\n const slideStyle = creatSlideStyle(num, width, height);\n const validateLabel = '__validate'; // translations.validate\n\n const templateContext = useTemplateContext();\n const {analytics} = templateContext;\n\n const {\n answerUI: {\n isDisabled = false,\n value,\n model: {type, onChange}\n }\n } = slide;\n\n switch (type) {\n case 'freeText': {\n return (\n <View style={slideStyle.slide}>\n <FreeText\n isDisabled={isDisabled}\n onChange={onChange}\n value={value}\n testID=\"free-text\"\n questionType=\"basic\"\n analytics={analytics}\n />\n </View>\n );\n }\n default:\n }\n\n return (\n <View style={slideStyle.slide}>\n <Text style={slideStyle.category}>{num}</Text>\n <Text style={slideStyle.question}>{slide.question}</Text>\n <Text style={slideStyle.instruction}>{slide.instruction}</Text>\n\n <Choices choices={slide.choices} />\n\n <Button style={slideStyle.button} onPress={validateSlide} testID={`button-quizzer-validate`}>\n {validateLabel}\n </Button>\n </View>\n );\n};\n\nSlide.propTypes = {\n slide: SlidesReviewPropTypes.slide,\n validateSlide: SlidesReviewPropTypes.validateSlide,\n num: PropTypes.number\n};\n\n// -----------------------------------------------------------------------------\n\n// const Slides = ({slide}: Props) => {\nconst Slides = ({slides, validateSlide}) => {\n if (!slides) {\n return null;\n }\n\n return (\n <View style={quizzerStyle.container}>\n <Slide validateSlide={validateSlide} slide={slides[0]} num={0} key={`slide-${0}`} />\n {/* {slides.reverse().map((_slide, index) => (\n <Slide\n validateSlide={validateSlide}\n slide={_slide}\n num={slides.length - index}\n key={`slide-${index}`}\n />\n ))} */}\n </View>\n );\n};\n\nSlides.propTypes = SlidesReviewPropTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default Slides;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-review/slides/index.native.tsx"],"names":["React","PropTypes","View","StyleSheet","Text","useWindowDimensions","Button","FreeText","useTemplateContext","SlidesReviewPropTypes","quizzerStyle","create","container","flex","padding","justifyContent","alignItems","SLIDE_HEIGHT","height","creatSlideStyle","num","width","slide","position","top","backgroundColor","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","category","fontSize","lineHeight","textAlign","question","fontWeight","instruction","button","createOptionStyle","selected","box","marginTop","marginBottom","text","choicesStyle","Choices","choices","map","index","optionStyle","propTypes","arrayOf","bool","Slide","props","validateSlide","slideStyle","validateLabel","templateContext","analytics","answerUI","isDisabled","value","model","type","onChange","Slides","slides"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {View, StyleSheet, Text, useWindowDimensions, Button} from 'react-native';\n\nimport FreeText from '../../../molecule/questions/free-text';\nimport {useTemplateContext} from '../template-context';\nimport {SlidesReviewPropTypes} from './prop-types';\n\n// import theme from '../../../modules/theme';\n// import translations from '../../../translations';\n// import {BrandThemeContext} from '../../../app-shared/components/brand-theme-provider';\n// import Button from '../../../app-shared/components/button';\n// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';\n\n// export type _Choice_ = {\n// text?: string,\n// selected: boolean\n// };\n\n// export type _Slide_ = {\n// category: string,\n// question: string,\n// instruction: string,\n// type: 'multiSelection' | 'singleSelection' | 'trueOrFalse',\n// choices?: _Choice_[]\n// };\n\n// interface Props {\n// slide: _Slide_;\n// num: number;\n// }\n\nconst quizzerStyle = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n // paddingTop: HEADER_HEIGHT + 20, @todo with props\n // backgroundColor: theme.colors.white, @todo with props\n justifyContent: 'space-between',\n alignItems: 'center'\n }\n});\n\nconst SLIDE_HEIGHT = () => useWindowDimensions().height * 0.75;\n\n// const creatSlideStyle = (num: number) =>\nconst creatSlideStyle = (num, width, height) =>\n StyleSheet.create({\n slide: {\n position: 'absolute',\n top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,\n flex: 1,\n backgroundColor: '#fff',\n // backgroundColor: theme.colors.white, @todo with props and useEffect\n height: SLIDE_HEIGHT(),\n width: width - 40 - num * 8,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n },\n category: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.text.primary, @todo with props\n // marginBottom: theme.spacing.tiny, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n question: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n // color: theme.colors.text.primary, @todo with props\n textAlign: 'center'\n },\n instruction: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.gray.medium, @todo with props\n // marginBottom: theme.spacing.base, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n button: {\n width: 287,\n height: 52,\n borderRadius: 7\n // marginTop: theme.spacing.base @todo with props\n }\n });\n\nconst createOptionStyle = selected => {\n // const brandTheme = React.useContext(BrandThemeContext); @todo with props\n\n return StyleSheet.create({\n box: {\n width: '100%',\n // https://stackoverflow.com/a/66561995/959219\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.2,\n shadowRadius: 16,\n elevation: 8,\n // backgroundColor: selected ? brandTheme.colors.primary : theme.colors.white, @todo with props\n padding: 12,\n marginTop: 4,\n marginBottom: 4,\n borderRadius: 8\n },\n text: {\n fontSize: 15,\n fontWeight: 'bold',\n lineHeight: 24,\n // color: selected ? theme.colors.white : theme.colors.text.primary, @todo with props\n textAlign: 'center'\n }\n });\n};\n\nconst choicesStyle = StyleSheet.create({\n container: {\n flex: 1,\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\n/* {choices.map(({text, selected = false}: _Choice_) => { */\nconst Choices = ({choices = []}) => (\n <View style={choicesStyle.container}>\n {choices.map(({text, selected = false}, index) => {\n const optionStyle = createOptionStyle(selected);\n return (\n <View style={optionStyle.box} key={`choice-${index}`}>\n <Text style={optionStyle.text}>\n {text} {selected}\n </Text>\n </View>\n );\n })}\n </View>\n);\n\nChoices.propTypes = {\n choices: PropTypes.arrayOf({\n text: PropTypes.text,\n selected: PropTypes.bool\n })\n};\n\n// -----------------------------------------------------------------------------\n\nconst Slide = props => {\n const {validateSlide, slide, num} = props;\n const {width, height} = useWindowDimensions();\n\n const slideStyle = creatSlideStyle(num, width, height);\n const validateLabel = '__validate'; // translations.validate\n\n const templateContext = useTemplateContext();\n const {analytics} = templateContext;\n\n const {\n answerUI: {isDisabled = false, value = '', model: {type, onChange}} = {\n isDisabled: false,\n value: '',\n model: {type: 'freeText', onChange: () => null}\n }\n } = slide;\n\n switch (type) {\n case 'freeText': {\n return (\n <View style={slideStyle.slide}>\n <FreeText\n isDisabled={isDisabled}\n onChange={onChange}\n value={value}\n testID=\"free-text\"\n questionType=\"basic\"\n analytics={analytics}\n />\n </View>\n );\n }\n default:\n }\n\n return (\n <View style={slideStyle.slide}>\n <Text style={slideStyle.category}>{num}</Text>\n <Text style={slideStyle.question}>{slide.question}</Text>\n <Text style={slideStyle.instruction}>{slide.instruction}</Text>\n\n <Choices choices={slide.choices} />\n\n <Button style={slideStyle.button} onPress={validateSlide} testID={`button-quizzer-validate`}>\n {validateLabel}\n </Button>\n </View>\n );\n};\n\n// -----------------------------------------------------------------------------\n\n// const Slides = ({slide}: Props) => {\nconst Slides = ({slides, validateSlide}) => {\n if (!slides) {\n return null;\n }\n\n return (\n <View style={quizzerStyle.container}>\n <Slide validateSlide={validateSlide} slide={slides[0]} num={0} key={`slide-${0}`} />\n {/* {slides.reverse().map((_slide, index) => (\n <Slide\n validateSlide={validateSlide}\n slide={_slide}\n num={slides.length - index}\n key={`slide-${index}`}\n />\n ))} */}\n </View>\n );\n};\n\nSlides.propTypes = SlidesReviewPropTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default Slides;\n"],"file":"index.native.js"}
@@ -1,9 +1,15 @@
1
1
  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); }
2
2
 
3
3
  // -----------------------------------------------------------------------------
4
- import React, { createContext, useContext } from 'react'; // -----------------------------------------------------------------------------
5
-
6
- const Context = createContext({}); // -----------------------------------------------------------------------------
4
+ import React, { createContext, useContext } from 'react';
5
+ import defaultTheme from '../../variables/theme.native';
6
+ // -----------------------------------------------------------------------------
7
+ const Context = createContext({
8
+ theme: defaultTheme,
9
+ display: {
10
+ statusBarHeight: 42
11
+ }
12
+ }); // -----------------------------------------------------------------------------
7
13
 
8
14
  const useTemplateContext = () => {
9
15
  const context = useContext(Context);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/app-review/template-context.tsx"],"names":["React","createContext","useContext","Context","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;AAAA;AAEA,OAAOA,KAAP,IAAeC,aAAf,EAA8BC,UAA9B,QAA+C,OAA/C,C,CAEA;;AAEA,MAAMC,OAAO,GAAGF,aAAa,CAAC,EAAD,CAA7B,C,CAEA;;AAEA,MAAMG,kBAAkB,GAAG,MAAM;AAC/B,QAAMC,OAAO,GAAGH,UAAU,CAACC,OAAD,CAA1B;;AAEA,MAAI,CAACE,OAAL,EAAc;AACZ,UAAM,IAAIC,KAAJ,CACH,yFADG,CAAN;AAGD;;AAED,SAAOD,OAAP;AACD,CAVD,C,CAYA;;;AASA,MAAME,eAAe,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA;AAAT,CAAD,KAA+B;AACrD,sBAAO,oBAAC,OAAD,CAAS,QAAT;AAAkB,IAAA,KAAK,eAAMD,MAAN;AAAvB,KAAuCC,QAAvC,CAAP;AACD,CAFD,C,CAIA;;;AAEA,SAAQF,eAAR,EAAyBH,kBAAzB","sourcesContent":["// -----------------------------------------------------------------------------\n\nimport React, {createContext, useContext} from 'react';\n\n// -----------------------------------------------------------------------------\n\nconst Context = createContext({});\n\n// -----------------------------------------------------------------------------\n\nconst useTemplateContext = () => {\n const context = useContext(Context);\n\n if (!context) {\n throw new Error(\n `❌ [TemplateContext] useTemplateContext must be used within a provider <TemplateContext>`\n );\n }\n\n return context;\n};\n\n// -----------------------------------------------------------------------------\ntype TemplateContextValues = {\n brandTheme: any;\n theme: any; // TODO type Theme\n translations: any; // TODO type Translations\n};\n\ntype Props = {values: TemplateContextValues; children: any};\n\nconst TemplateContext = ({values, children}: Props) => {\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\n};\n\n// -----------------------------------------------------------------------------\n\nexport {TemplateContext, useTemplateContext};\n"],"file":"template-context.js"}
1
+ {"version":3,"sources":["../../../src/template/app-review/template-context.tsx"],"names":["React","createContext","useContext","defaultTheme","Context","theme","display","statusBarHeight","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;AAAA;AAEA,OAAOA,KAAP,IAAeC,aAAf,EAA8BC,UAA9B,QAA+C,OAA/C;AAEA,OAAOC,YAAP,MAAkC,8BAAlC;AAeA;AAEA,MAAMC,OAAO,GAAGH,aAAa,CAAC;AAC5BI,EAAAA,KAAK,EAAEF,YADqB;AAE5BG,EAAAA,OAAO,EAAE;AACPC,IAAAA,eAAe,EAAE;AADV;AAFmB,CAAD,CAA7B,C,CAOA;;AAEA,MAAMC,kBAAkB,GAAG,MAA6B;AACtD,QAAMC,OAAO,GAAGP,UAAU,CAACE,OAAD,CAA1B;;AAEA,MAAI,CAACK,OAAL,EAAc;AACZ,UAAM,IAAIC,KAAJ,CACH,yFADG,CAAN;AAGD;;AAED,SAAOD,OAAP;AACD,CAVD,C,CAYA;;;AAEA,MAAME,eAAe,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA;AAAT,CAAD,KAA+B;AACrD,sBAAO,oBAAC,OAAD,CAAS,QAAT;AAAkB,IAAA,KAAK,eAAMD,MAAN;AAAvB,KAAuCC,QAAvC,CAAP;AACD,CAFD,C,CAIA;;;AAEA,SAAQF,eAAR,EAAyBH,kBAAzB","sourcesContent":["// -----------------------------------------------------------------------------\n\nimport React, {createContext, useContext} from 'react';\nimport {Analytics} from '../../variables/analytics';\nimport defaultTheme, {Theme} from '../../variables/theme.native';\nimport {Vibration} from '../../variables/vibration';\n\nexport type TemplateContextValues = {\n analytics?: Analytics;\n brandTheme?: any;\n theme: Theme;\n vibration?: Vibration;\n display: {\n statusBarHeight: number;\n };\n};\n\ntype Props = {values: TemplateContextValues; children: any};\n\n// -----------------------------------------------------------------------------\n\nconst Context = createContext({\n theme: defaultTheme,\n display: {\n statusBarHeight: 42\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst useTemplateContext = (): TemplateContextValues => {\n const context = useContext(Context);\n\n if (!context) {\n throw new Error(\n `❌ [TemplateContext] useTemplateContext must be used within a provider <TemplateContext>`\n );\n }\n\n return context;\n};\n\n// -----------------------------------------------------------------------------\n\nconst TemplateContext = ({values, children}: Props) => {\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\n};\n\n// -----------------------------------------------------------------------------\n\nexport {TemplateContext, useTemplateContext};\n"],"file":"template-context.js"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=progression-engine.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"progression-engine.d.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/variables/analytics.tsx"],"names":["ANALYTICS_EVENT_TYPE","PRESS","SWIPE","LONG_PRESS","SLIDE","MEDIA_VIEWED","START_PROGRESSION","OPEN_SELECT","CLOSE_SELECT","INPUT_BLUR","INPUT_FOCUS","FINISH_PROGRESSION","SIGN_IN","SIGN_OUT","NAVIGATE","VALIDATE_ANSWER","PERMISSION","NOTIFICATIONS_MAYBE_LATER","NOTIFICATIONS_YES_NOTIFY_ME","NOTIFICATIONS"],"mappings":"AAAA,OAAO,MAAMA,oBAAoB,GAAG;AAClCC,EAAAA,KAAK,EAAE,OAD2B;AAElCC,EAAAA,KAAK,EAAE,OAF2B;AAGlCC,EAAAA,UAAU,EAAE,WAHsB;AAIlCC,EAAAA,KAAK,EAAE,OAJ2B;AAKlCC,EAAAA,YAAY,EAAE,aALoB;AAMlCC,EAAAA,iBAAiB,EAAE,kBANe;AAOlCC,EAAAA,WAAW,EAAE,YAPqB;AAQlCC,EAAAA,YAAY,EAAE,aARoB;AASlCC,EAAAA,UAAU,EAAE,WATsB;AAUlCC,EAAAA,WAAW,EAAE,YAVqB;AAWlCC,EAAAA,kBAAkB,EAAE,mBAXc;AAYlCC,EAAAA,OAAO,EAAE,QAZyB;AAalCC,EAAAA,QAAQ,EAAE,SAbwB;AAclCC,EAAAA,QAAQ,EAAE,UAdwB;AAelCC,EAAAA,eAAe,EAAE,gBAfiB;AAgBlCC,EAAAA,UAAU,EAAE,YAhBsB;AAiBlCC,EAAAA,yBAAyB,EAAE,yBAjBO;AAkBlCC,EAAAA,2BAA2B,EAAE,0BAlBK;AAmBlCC,EAAAA,aAAa,EAAE;AAnBmB,CAA7B","sourcesContent":["export const ANALYTICS_EVENT_TYPE = {\n PRESS: 'press',\n SWIPE: 'swipe',\n LONG_PRESS: 'longPress',\n SLIDE: 'slide',\n MEDIA_VIEWED: 'mediaViewed',\n START_PROGRESSION: 'startProgression',\n OPEN_SELECT: 'openSelect',\n CLOSE_SELECT: 'closeSelect',\n INPUT_BLUR: 'inputBlur',\n INPUT_FOCUS: 'inputFocus',\n FINISH_PROGRESSION: 'finishProgression',\n SIGN_IN: 'signIn',\n SIGN_OUT: 'signOut',\n NAVIGATE: 'navigate',\n VALIDATE_ANSWER: 'validateAnswer',\n PERMISSION: 'permission',\n NOTIFICATIONS_MAYBE_LATER: 'notificationsMaybeLater',\n NOTIFICATIONS_YES_NOTIFY_ME: 'notificationsYesNotifyMe',\n NOTIFICATIONS: 'notifications'\n};\n\nexport type Analytics = {\n logEvent: Function;\n};\n"],"file":"analytics.js"}
1
+ {"version":3,"sources":["../../src/variables/analytics.tsx"],"names":["ANALYTICS_EVENT_TYPE","PRESS","SWIPE","LONG_PRESS","SLIDE","MEDIA_VIEWED","START_PROGRESSION","OPEN_SELECT","CLOSE_SELECT","INPUT_BLUR","INPUT_FOCUS","FINISH_PROGRESSION","SIGN_IN","SIGN_OUT","NAVIGATE","VALIDATE_ANSWER","PERMISSION","NOTIFICATIONS_MAYBE_LATER","NOTIFICATIONS_YES_NOTIFY_ME","NOTIFICATIONS"],"mappings":"AAAA,OAAO,MAAMA,oBAAoB,GAAG;AAClCC,EAAAA,KAAK,EAAE,OAD2B;AAElCC,EAAAA,KAAK,EAAE,OAF2B;AAGlCC,EAAAA,UAAU,EAAE,WAHsB;AAIlCC,EAAAA,KAAK,EAAE,OAJ2B;AAKlCC,EAAAA,YAAY,EAAE,aALoB;AAMlCC,EAAAA,iBAAiB,EAAE,kBANe;AAOlCC,EAAAA,WAAW,EAAE,YAPqB;AAQlCC,EAAAA,YAAY,EAAE,aARoB;AASlCC,EAAAA,UAAU,EAAE,WATsB;AAUlCC,EAAAA,WAAW,EAAE,YAVqB;AAWlCC,EAAAA,kBAAkB,EAAE,mBAXc;AAYlCC,EAAAA,OAAO,EAAE,QAZyB;AAalCC,EAAAA,QAAQ,EAAE,SAbwB;AAclCC,EAAAA,QAAQ,EAAE,UAdwB;AAelCC,EAAAA,eAAe,EAAE,gBAfiB;AAgBlCC,EAAAA,UAAU,EAAE,YAhBsB;AAiBlCC,EAAAA,yBAAyB,EAAE,yBAjBO;AAkBlCC,EAAAA,2BAA2B,EAAE,0BAlBK;AAmBlCC,EAAAA,aAAa,EAAE;AAnBmB,CAA7B","sourcesContent":["export const ANALYTICS_EVENT_TYPE = {\n PRESS: 'press',\n SWIPE: 'swipe',\n LONG_PRESS: 'longPress',\n SLIDE: 'slide',\n MEDIA_VIEWED: 'mediaViewed',\n START_PROGRESSION: 'startProgression',\n OPEN_SELECT: 'openSelect',\n CLOSE_SELECT: 'closeSelect',\n INPUT_BLUR: 'inputBlur',\n INPUT_FOCUS: 'inputFocus',\n FINISH_PROGRESSION: 'finishProgression',\n SIGN_IN: 'signIn',\n SIGN_OUT: 'signOut',\n NAVIGATE: 'navigate',\n VALIDATE_ANSWER: 'validateAnswer',\n PERMISSION: 'permission',\n NOTIFICATIONS_MAYBE_LATER: 'notificationsMaybeLater',\n NOTIFICATIONS_YES_NOTIFY_ME: 'notificationsYesNotifyMe',\n NOTIFICATIONS: 'notifications'\n};\n\nexport type Analytics = {\n logEvent: Function;\n};\n\nexport type AnalyticsEventParams = {\n [key: string]: string | number;\n};\n"],"file":"analytics.js"}
@@ -0,0 +1,66 @@
1
+ export const HTML_ANCHOR_TEXT_COLOR = '#002BDB';
2
+ const defaultTheme = {
3
+ colors: {
4
+ border: 'rgba(0, 0, 0, 0.1)',
5
+ gray: {
6
+ extra: '#FAFAFA',
7
+ lighter: '#F4F4F5',
8
+ light: '#ededed',
9
+ lightMedium: '#CFD8DC',
10
+ medium: '#90A4AE',
11
+ dark: '#546E7A',
12
+ extraDark: '#323232'
13
+ },
14
+ text: {
15
+ primary: '#06265B'
16
+ },
17
+ background: {},
18
+ cta: '#0061FF',
19
+ negative: '#F73F52',
20
+ positive: '#3EC483',
21
+ white: '#FFFFFF',
22
+ black: '#14171A',
23
+ battle: '#FFDE03',
24
+ notification: '#FF7043',
25
+ salmon: '#FDE2E5'
26
+ },
27
+ spacing: {
28
+ micro: 4,
29
+ tiny: 8,
30
+ small: 16,
31
+ base: 24,
32
+ medium: 32,
33
+ large: 48,
34
+ xlarge: 64
35
+ },
36
+ radius: {
37
+ common: 3,
38
+ card: 5,
39
+ regular: 8,
40
+ medium: 12,
41
+ search: 24,
42
+ button: 32,
43
+ thumbnail: 1000
44
+ },
45
+ fontWeight: {
46
+ regular: '400',
47
+ semiBold: '500',
48
+ bold: '700',
49
+ extraBold: '900'
50
+ },
51
+ fontSize: {
52
+ extraSmall: 10,
53
+ small: 12,
54
+ medium: 13,
55
+ regular: 15,
56
+ large: 17,
57
+ xlarge: 22,
58
+ xxlarge: 28,
59
+ xxxlarge: 40
60
+ },
61
+ letterSpacing: {
62
+ header: 5
63
+ }
64
+ };
65
+ export default defaultTheme;
66
+ //# sourceMappingURL=theme.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/variables/theme.native.ts"],"names":["HTML_ANCHOR_TEXT_COLOR","defaultTheme","colors","border","gray","extra","lighter","light","lightMedium","medium","dark","extraDark","text","primary","background","cta","negative","positive","white","black","battle","notification","salmon","spacing","micro","tiny","small","base","large","xlarge","radius","common","card","regular","search","button","thumbnail","fontWeight","semiBold","bold","extraBold","fontSize","extraSmall","xxlarge","xxxlarge","letterSpacing","header"],"mappings":"AAEA,OAAO,MAAMA,sBAAsB,GAAG,SAA/B;AAuDP,MAAMC,YAAmB,GAAG;AAC1BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,MAAM,EAAE,oBADF;AAENC,IAAAA,IAAI,EAAE;AACJC,MAAAA,KAAK,EAAE,SADH;AAEJC,MAAAA,OAAO,EAAE,SAFL;AAGJC,MAAAA,KAAK,EAAE,SAHH;AAIJC,MAAAA,WAAW,EAAE,SAJT;AAKJC,MAAAA,MAAM,EAAE,SALJ;AAMJC,MAAAA,IAAI,EAAE,SANF;AAOJC,MAAAA,SAAS,EAAE;AAPP,KAFA;AAWNC,IAAAA,IAAI,EAAE;AACJC,MAAAA,OAAO,EAAE;AADL,KAXA;AAcNC,IAAAA,UAAU,EAAE,EAdN;AAeNC,IAAAA,GAAG,EAAE,SAfC;AAgBNC,IAAAA,QAAQ,EAAE,SAhBJ;AAiBNC,IAAAA,QAAQ,EAAE,SAjBJ;AAkBNC,IAAAA,KAAK,EAAE,SAlBD;AAmBNC,IAAAA,KAAK,EAAE,SAnBD;AAoBNC,IAAAA,MAAM,EAAE,SApBF;AAqBNC,IAAAA,YAAY,EAAE,SArBR;AAsBNC,IAAAA,MAAM,EAAE;AAtBF,GADkB;AAyB1BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,KAAK,EAAE,CADA;AAEPC,IAAAA,IAAI,EAAE,CAFC;AAGPC,IAAAA,KAAK,EAAE,EAHA;AAIPC,IAAAA,IAAI,EAAE,EAJC;AAKPlB,IAAAA,MAAM,EAAE,EALD;AAMPmB,IAAAA,KAAK,EAAE,EANA;AAOPC,IAAAA,MAAM,EAAE;AAPD,GAzBiB;AAkC1BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,MAAM,EAAE,CADF;AAENC,IAAAA,IAAI,EAAE,CAFA;AAGNC,IAAAA,OAAO,EAAE,CAHH;AAINxB,IAAAA,MAAM,EAAE,EAJF;AAKNyB,IAAAA,MAAM,EAAE,EALF;AAMNC,IAAAA,MAAM,EAAE,EANF;AAONC,IAAAA,SAAS,EAAE;AAPL,GAlCkB;AA2C1BC,EAAAA,UAAU,EAAE;AACVJ,IAAAA,OAAO,EAAE,KADC;AAEVK,IAAAA,QAAQ,EAAE,KAFA;AAGVC,IAAAA,IAAI,EAAE,KAHI;AAIVC,IAAAA,SAAS,EAAE;AAJD,GA3Cc;AAiD1BC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,UAAU,EAAE,EADJ;AAERhB,IAAAA,KAAK,EAAE,EAFC;AAGRjB,IAAAA,MAAM,EAAE,EAHA;AAIRwB,IAAAA,OAAO,EAAE,EAJD;AAKRL,IAAAA,KAAK,EAAE,EALC;AAMRC,IAAAA,MAAM,EAAE,EANA;AAORc,IAAAA,OAAO,EAAE,EAPD;AAQRC,IAAAA,QAAQ,EAAE;AARF,GAjDgB;AA2D1BC,EAAAA,aAAa,EAAE;AACbC,IAAAA,MAAM,EAAE;AADK;AA3DW,CAA5B;AAgEA,eAAe7C,YAAf","sourcesContent":["export type SpaceType = 'micro' | 'tiny' | 'small' | 'base' | 'medium' | 'large' | 'xlarge';\n\nexport const HTML_ANCHOR_TEXT_COLOR = '#002BDB';\n\nexport type Colors = {\n border: string;\n gray: {\n extra: string;\n light: string;\n lighter: string;\n lightMedium: string;\n medium: string;\n dark: string;\n extraDark: string;\n };\n text: {\n primary: '#06265B';\n };\n negative: string;\n positive: string;\n white: string;\n black: string;\n battle: string;\n notification: string;\n salmon: string;\n};\n\nexport type FontWeightType = 'extraBold' | 'bold' | 'semiBold' | 'regular';\n\nexport type FontSizeType =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'regular'\n | 'large'\n | 'xlarge'\n | 'xxlarge'\n | 'xxxlarge';\n\nexport type Theme = {\n colors: Colors;\n spacing: {[key in SpaceType]: number};\n radius: {\n common: number;\n card: number;\n medium: number;\n search: number;\n button: number;\n thumbnail: number;\n };\n fontWeight: {[key in FontWeightType]: string};\n fontSize: {[key in FontSizeType]: string};\n letterSpacing: {\n header: number;\n };\n};\n\nconst defaultTheme: Theme = {\n colors: {\n border: 'rgba(0, 0, 0, 0.1)',\n gray: {\n extra: '#FAFAFA',\n lighter: '#F4F4F5',\n light: '#ededed',\n lightMedium: '#CFD8DC',\n medium: '#90A4AE',\n dark: '#546E7A',\n extraDark: '#323232'\n },\n text: {\n primary: '#06265B'\n },\n background: {},\n cta: '#0061FF',\n negative: '#F73F52',\n positive: '#3EC483',\n white: '#FFFFFF',\n black: '#14171A',\n battle: '#FFDE03',\n notification: '#FF7043',\n salmon: '#FDE2E5'\n },\n spacing: {\n micro: 4,\n tiny: 8,\n small: 16,\n base: 24,\n medium: 32,\n large: 48,\n xlarge: 64\n },\n radius: {\n common: 3,\n card: 5,\n regular: 8,\n medium: 12,\n search: 24,\n button: 32,\n thumbnail: 1000\n },\n fontWeight: {\n regular: '400',\n semiBold: '500',\n bold: '700',\n extraBold: '900'\n },\n fontSize: {\n extraSmall: 10,\n small: 12,\n medium: 13,\n regular: 15,\n large: 17,\n xlarge: 22,\n xxlarge: 28,\n xxxlarge: 40\n },\n letterSpacing: {\n header: 5\n }\n};\n\nexport default defaultTheme;\n"],"file":"theme.native.js"}