@coorpacademy/components 10.21.4 → 10.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/es/atom/lottie-wrapper/index.js +2 -24
- package/es/atom/lottie-wrapper/index.js.map +1 -1
- package/es/atom/lottie-wrapper/prop-types.js +26 -0
- package/es/atom/lottie-wrapper/prop-types.js.map +1 -0
- package/es/atom/review-background/index.js +2 -4
- package/es/atom/review-background/index.js.map +1 -1
- package/es/atom/review-background/prop-types.js +5 -0
- package/es/atom/review-background/prop-types.js.map +1 -0
- package/es/atom/review-header-step-item/index.js +2 -6
- package/es/atom/review-header-step-item/index.js.map +1 -1
- package/es/atom/review-header-step-item/prop-types.js +7 -0
- package/es/atom/review-header-step-item/prop-types.js.map +1 -0
- package/es/atom/review-presentation/index.js +2 -15
- package/es/atom/review-presentation/index.js.map +1 -1
- package/es/atom/review-presentation/prop-types.js +18 -0
- package/es/atom/review-presentation/prop-types.js.map +1 -0
- package/es/atom/tab/index.js +1 -0
- package/es/atom/tab/index.js.map +1 -1
- package/es/molecule/answer/index.js +5 -26
- package/es/molecule/answer/index.js.map +1 -1
- package/es/molecule/answer/prop-types.js +32 -0
- package/es/molecule/answer/prop-types.js.map +1 -0
- package/es/molecule/questions/free-text/index.native.js +88 -0
- package/es/molecule/questions/free-text/index.native.js.map +1 -0
- package/es/molecule/questions/qcm/index.native.js +47 -0
- package/es/molecule/questions/qcm/index.native.js.map +1 -0
- package/es/molecule/review-card-congrats/index.js +2 -13
- package/es/molecule/review-card-congrats/index.js.map +1 -1
- package/es/molecule/review-card-congrats/prop-types.js +15 -0
- package/es/molecule/review-card-congrats/prop-types.js.map +1 -0
- package/es/molecule/review-correction-popin/index.js +2 -20
- package/es/molecule/review-correction-popin/index.js.map +1 -1
- package/es/molecule/review-correction-popin/prop-types.js +21 -0
- package/es/molecule/review-correction-popin/prop-types.js.map +1 -0
- package/es/molecule/review-header-steps/index.js +2 -4
- package/es/molecule/review-header-steps/index.js.map +1 -1
- package/es/molecule/review-header-steps/prop-types.js +6 -0
- package/es/molecule/review-header-steps/prop-types.js.map +1 -0
- package/es/molecule/skill-card/index.js +2 -12
- package/es/molecule/skill-card/index.js.map +1 -1
- package/es/molecule/skill-card/prop-types.js +13 -0
- package/es/molecule/skill-card/prop-types.js.map +1 -0
- package/es/molecule/video-player/index.js +2 -17
- package/es/molecule/video-player/index.js.map +1 -1
- package/es/molecule/video-player/jwplayer-prop-types.js +38 -0
- package/es/molecule/video-player/jwplayer-prop-types.js.map +1 -0
- package/es/molecule/video-player/jwplayer.js +2 -37
- package/es/molecule/video-player/jwplayer.js.map +1 -1
- package/es/molecule/video-player/prop-types.js +53 -0
- package/es/molecule/video-player/prop-types.js.map +1 -0
- package/es/organism/review-congrats/index.js +2 -19
- package/es/organism/review-congrats/index.js.map +1 -1
- package/es/organism/review-congrats/prop-types.js +22 -0
- package/es/organism/review-congrats/prop-types.js.map +1 -0
- package/es/organism/review-header/index.js +2 -10
- package/es/organism/review-header/index.js.map +1 -1
- package/es/organism/review-header/prop-types.js +12 -0
- package/es/organism/review-header/prop-types.js.map +1 -0
- package/es/organism/review-skills/index.js +4 -19
- package/es/organism/review-skills/index.js.map +1 -1
- package/es/organism/review-skills/prop-types.js +19 -0
- package/es/organism/review-skills/prop-types.js.map +1 -0
- package/es/template/app-review/index.native.js +26 -20
- package/es/template/app-review/index.native.js.map +1 -1
- package/es/template/app-review/onboarding/index.native.js +2 -2
- package/es/template/app-review/onboarding/index.native.js.map +1 -1
- package/es/template/app-review/skills/index.native.js +2 -2
- package/es/template/app-review/skills/index.native.js.map +1 -1
- package/es/template/app-review/slides/index.js +4 -5
- package/es/template/app-review/slides/index.js.map +1 -1
- package/es/template/app-review/slides/index.native.js +49 -12
- package/es/template/app-review/slides/index.native.js.map +1 -1
- package/es/template/app-review/slides/prop-types.js +15 -15
- package/es/template/app-review/slides/prop-types.js.map +1 -1
- package/es/template/app-review/template-context.js +30 -0
- package/es/template/app-review/template-context.js.map +1 -0
- package/es/variables/analytics.js +22 -0
- package/es/variables/analytics.js.map +1 -0
- package/lib/atom/lottie-wrapper/index.js +6 -30
- package/lib/atom/lottie-wrapper/index.js.map +1 -1
- package/lib/atom/lottie-wrapper/prop-types.js +37 -0
- package/lib/atom/lottie-wrapper/prop-types.js.map +1 -0
- package/lib/atom/review-background/index.js +3 -5
- package/lib/atom/review-background/index.js.map +1 -1
- package/lib/atom/review-background/prop-types.js +14 -0
- package/lib/atom/review-background/prop-types.js.map +1 -0
- package/lib/atom/review-header-step-item/index.js +3 -7
- package/lib/atom/review-header-step-item/index.js.map +1 -1
- package/lib/atom/review-header-step-item/prop-types.js +16 -0
- package/lib/atom/review-header-step-item/prop-types.js.map +1 -0
- package/lib/atom/review-presentation/index.js +3 -15
- package/lib/atom/review-presentation/index.js.map +1 -1
- package/lib/atom/review-presentation/prop-types.js +28 -0
- package/lib/atom/review-presentation/prop-types.js.map +1 -0
- package/lib/atom/tab/index.js +1 -0
- package/lib/atom/tab/index.js.map +1 -1
- package/lib/molecule/answer/index.js +14 -35
- package/lib/molecule/answer/index.js.map +1 -1
- package/lib/molecule/answer/prop-types.js +49 -0
- package/lib/molecule/answer/prop-types.js.map +1 -0
- package/lib/molecule/questions/free-text/index.native.js +101 -0
- package/lib/molecule/questions/free-text/index.native.js.map +1 -0
- package/lib/molecule/questions/qcm/index.native.js +58 -0
- package/lib/molecule/questions/qcm/index.native.js.map +1 -0
- package/lib/molecule/review-card-congrats/index.js +3 -14
- package/lib/molecule/review-card-congrats/index.js.map +1 -1
- package/lib/molecule/review-card-congrats/prop-types.js +25 -0
- package/lib/molecule/review-card-congrats/prop-types.js.map +1 -0
- package/lib/molecule/review-correction-popin/index.js +3 -21
- package/lib/molecule/review-correction-popin/index.js.map +1 -1
- package/lib/molecule/review-correction-popin/prop-types.js +30 -0
- package/lib/molecule/review-correction-popin/prop-types.js.map +1 -0
- package/lib/molecule/review-header-steps/index.js +3 -5
- package/lib/molecule/review-header-steps/index.js.map +1 -1
- package/lib/molecule/review-header-steps/prop-types.js +16 -0
- package/lib/molecule/review-header-steps/prop-types.js.map +1 -0
- package/lib/molecule/skill-card/index.js +3 -13
- package/lib/molecule/skill-card/index.js.map +1 -1
- package/lib/molecule/skill-card/prop-types.js +22 -0
- package/lib/molecule/skill-card/prop-types.js.map +1 -0
- package/lib/molecule/video-player/index.js +3 -19
- package/lib/molecule/video-player/index.js.map +1 -1
- package/lib/molecule/video-player/jwplayer-prop-types.js +48 -0
- package/lib/molecule/video-player/jwplayer-prop-types.js.map +1 -0
- package/lib/molecule/video-player/jwplayer.js +3 -39
- package/lib/molecule/video-player/jwplayer.js.map +1 -1
- package/lib/molecule/video-player/prop-types.js +64 -0
- package/lib/molecule/video-player/prop-types.js.map +1 -0
- package/lib/organism/review-congrats/index.js +3 -20
- package/lib/organism/review-congrats/index.js.map +1 -1
- package/lib/organism/review-congrats/prop-types.js +33 -0
- package/lib/organism/review-congrats/prop-types.js.map +1 -0
- package/lib/organism/review-header/index.js +3 -11
- package/lib/organism/review-header/index.js.map +1 -1
- package/lib/organism/review-header/prop-types.js +22 -0
- package/lib/organism/review-header/prop-types.js.map +1 -0
- package/lib/organism/review-skills/index.js +10 -23
- package/lib/organism/review-skills/index.js.map +1 -1
- package/lib/organism/review-skills/prop-types.js +33 -0
- package/lib/organism/review-skills/prop-types.js.map +1 -0
- package/lib/template/app-review/index.native.js +28 -19
- package/lib/template/app-review/index.native.js.map +1 -1
- package/lib/template/app-review/onboarding/index.native.js +2 -2
- package/lib/template/app-review/onboarding/index.native.js.map +1 -1
- package/lib/template/app-review/skills/index.native.js +4 -4
- package/lib/template/app-review/skills/index.native.js.map +1 -1
- package/lib/template/app-review/slides/index.js +4 -5
- package/lib/template/app-review/slides/index.js.map +1 -1
- package/lib/template/app-review/slides/index.native.js +60 -25
- package/lib/template/app-review/slides/index.native.js.map +1 -1
- package/lib/template/app-review/slides/prop-types.js +16 -16
- package/lib/template/app-review/slides/prop-types.js.map +1 -1
- package/lib/template/app-review/template-context.js +41 -0
- package/lib/template/app-review/template-context.js.map +1 -0
- package/lib/variables/analytics.js +27 -0
- package/lib/variables/analytics.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-skills/prop-types.js"],"names":["ListSkillsPropTypes","listSkills","PropTypes","arrayOf","shape","SkillCardPropTypes","NoSkillsPropTypes","titleNoSkills","string","textNoSkills","iconSkillAriaLabel","title","isRequired","isLoading","bool","isLoadingAriaLabel"],"mappings":";;;;;AAAA;;AACA;;;;;;AAEO,MAAMA,mBAAmB,GAAG;AACjCC,EAAAA,UAAU,EAAEC,mBAAUC,OAAV,CAAkBD,mBAAUE,KAAV,CAAgBC,mBAAhB,CAAlB;AADqB,CAA5B;;AAIA,MAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,aAAa,EAAEL,mBAAUM,MADM;AAE/BC,EAAAA,YAAY,EAAEP,mBAAUM,MAFO;AAG/BE,EAAAA,kBAAkB,EAAER,mBAAUM;AAHC,CAA1B;;;;AAOL,gBAAcN,mBAAUM,M;AACxBG,EAAAA,KAAK,EAAET,mBAAUM,MAAV,CAAiBI,U;AACxBC,EAAAA,SAAS,EAAEX,mBAAUY,I;AACrBC,EAAAA,kBAAkB,EAAEb,mBAAUM;GAC3BR,mB,GACAM,iB","sourcesContent":["import PropTypes from 'prop-types';\nimport SkillCardPropTypes from '../../molecule/skill-card/prop-types';\n\nexport const ListSkillsPropTypes = {\n listSkills: PropTypes.arrayOf(PropTypes.shape(SkillCardPropTypes))\n};\n\nexport const NoSkillsPropTypes = {\n titleNoSkills: PropTypes.string,\n textNoSkills: PropTypes.string,\n iconSkillAriaLabel: PropTypes.string\n};\n\nexport default {\n 'aria-label': PropTypes.string,\n title: PropTypes.string.isRequired,\n isLoading: PropTypes.bool,\n isLoadingAriaLabel: PropTypes.string,\n ...ListSkillsPropTypes,\n ...NoSkillsPropTypes\n};\n"],"file":"prop-types.js"}
|
|
@@ -9,10 +9,18 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireWildcard(require("./prop-types"));
|
|
11
11
|
|
|
12
|
+
var _slides = _interopRequireDefault(require("./slides"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
12
16
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
13
17
|
|
|
14
18
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
19
|
|
|
20
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
21
|
+
|
|
22
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
23
|
+
|
|
16
24
|
// -----------------------------------------------------------------------------
|
|
17
25
|
const styles = _reactNative.StyleSheet.create({
|
|
18
26
|
rootView: {
|
|
@@ -23,10 +31,17 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
23
31
|
}); // -----------------------------------------------------------------------------
|
|
24
32
|
|
|
25
33
|
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
const Switch = (_ref) => {
|
|
35
|
+
let {
|
|
36
|
+
viewName,
|
|
37
|
+
slides
|
|
38
|
+
} = _ref,
|
|
39
|
+
dispachers = _objectWithoutPropertiesLoose(_ref, ["viewName", "onboarding", "skills", "slides"]);
|
|
40
|
+
|
|
41
|
+
const {
|
|
42
|
+
navigateTo
|
|
43
|
+
} = dispachers;
|
|
44
|
+
|
|
30
45
|
const handlePress = v => () => navigateTo(v);
|
|
31
46
|
|
|
32
47
|
switch (viewName) {
|
|
@@ -41,9 +56,7 @@ const NavText = ({
|
|
|
41
56
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view onboarding"));
|
|
42
57
|
|
|
43
58
|
case _propTypes.ViewNames.slides:
|
|
44
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
45
|
-
onPress: handlePress('home')
|
|
46
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view quizzer"));
|
|
59
|
+
return /*#__PURE__*/_react.default.createElement(_slides.default, _extends({}, slides, dispachers));
|
|
47
60
|
|
|
48
61
|
default:
|
|
49
62
|
return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view (none selected)");
|
|
@@ -51,11 +64,10 @@ const NavText = ({
|
|
|
51
64
|
}; // -----------------------------------------------------------------------------
|
|
52
65
|
|
|
53
66
|
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}) => {
|
|
67
|
+
const AppReview = props => {
|
|
68
|
+
const {
|
|
69
|
+
navigateBack
|
|
70
|
+
} = props;
|
|
59
71
|
(0, _react.useEffect)(() => {
|
|
60
72
|
const backAction = () => {
|
|
61
73
|
navigateBack();
|
|
@@ -69,16 +81,13 @@ const RootView = ({
|
|
|
69
81
|
}, [navigateBack]);
|
|
70
82
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
71
83
|
style: styles.rootView
|
|
72
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
73
|
-
viewName: viewName,
|
|
74
|
-
navigateTo: navigateTo
|
|
75
|
-
}));
|
|
84
|
+
}, /*#__PURE__*/_react.default.createElement(Switch, props));
|
|
76
85
|
}; // -----------------------------------------------------------------------------
|
|
77
86
|
|
|
78
87
|
|
|
79
|
-
|
|
80
|
-
|
|
88
|
+
AppReview.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
|
|
89
|
+
Switch.propTypes = process.env.NODE_ENV !== "production" ? AppReview.propTypes : {}; // -----------------------------------------------------------------------------
|
|
81
90
|
|
|
82
|
-
var _default =
|
|
91
|
+
var _default = AppReview;
|
|
83
92
|
exports.default = _default;
|
|
84
93
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/template/app-review/index.native.js"],"names":["styles","StyleSheet","create","rootView","flex","alignItems","justifyContent","
|
|
1
|
+
{"version":3,"sources":["../../../src/template/app-review/index.native.js"],"names":["styles","StyleSheet","create","rootView","flex","alignItems","justifyContent","Switch","viewName","slides","dispachers","navigateTo","handlePress","v","ViewNames","home","onboarding","AppReview","props","navigateBack","backAction","backHandler","BackHandler","addEventListener","remove","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA;AAEA,MAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,IAAI,EAAE,CADE;AAERC,IAAAA,UAAU,EAAE,QAFJ;AAGRC,IAAAA,cAAc,EAAE;AAHR;AADqB,CAAlB,CAAf,C,CAQA;;;AAEA,MAAMC,MAAM,GAAG,UAA2D;AAAA,MAA1D;AAACC,IAAAA,QAAD;AAA+BC,IAAAA;AAA/B,GAA0D;AAAA,MAAhBC,UAAgB;;AACxE,QAAM;AAACC,IAAAA;AAAD,MAAeD,UAArB;;AACA,QAAME,WAAW,GAAGC,CAAC,IAAI,MAAMF,UAAU,CAACE,CAAD,CAAzC;;AAEA,UAAQL,QAAR;AACE,SAAKM,qBAAUC,IAAf;AACE,0BACE,6BAAC,sBAAD;AAAW,QAAA,OAAO,EAAEH,WAAW,CAAC,YAAD;AAA/B,sBACE,6BAAC,iBAAD,oBADF,CADF;;AAKF,SAAKE,qBAAUE,UAAf;AACE,0BACE,6BAAC,sBAAD;AAAW,QAAA,OAAO,EAAEJ,WAAW,CAAC,SAAD;AAA/B,sBACE,6BAAC,iBAAD,0BADF,CADF;;AAKF,SAAKE,qBAAUL,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;;AACF;AACE,0BAAO,6BAAC,iBAAD,+BAAP;AAhBJ;AAkBD,CAtBD,C,CAwBA;;;AAEA,MAAMO,SAAS,GAAGC,KAAK,IAAI;AACzB,QAAM;AAACC,IAAAA;AAAD,MAAiBD,KAAvB;AAEA,wBAAU,MAAM;AACd,UAAME,UAAU,GAAG,MAAM;AACvBD,MAAAA,YAAY;AACZ,aAAO,IAAP;AACD,KAHD,CADc,CAMd;;;AACA,UAAME,WAAW,GAAGC,yBAAYC,gBAAZ,CAA6B,mBAA7B,EAAkDH,UAAlD,CAApB;;AAEA,WAAO,MAAMC,WAAW,CAACG,MAAZ,EAAb;AACD,GAVD,EAUG,CAACL,YAAD,CAVH;AAYA,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEnB,MAAM,CAACG;AAApB,kBACE,6BAAC,MAAD,EAAYe,KAAZ,CADF,CADF;AAKD,CApBD,C,CAsBA;;;AAEAD,SAAS,CAACQ,SAAV,2CAAsBA,kBAAtB;AACAlB,MAAM,CAACkB,SAAP,2CAAmBR,SAAS,CAACQ,SAA7B,M,CAEA;;eAEeR,S","sourcesContent":["import React, {useEffect} from 'react';\nimport {Text, StyleSheet, Pressable, View, BackHandler} from 'react-native';\nimport propTypes, {ViewNames} from './prop-types';\nimport Slides from './slides';\n\n// -----------------------------------------------------------------------------\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst Switch = ({viewName, onboarding, skills, slides, ...dispachers}) => {\n const {navigateTo} = dispachers;\n const handlePress = v => () => navigateTo(v);\n\n switch (viewName) {\n case ViewNames.home:\n return (\n <Pressable onPress={handlePress('onboarding')}>\n <Text>view home</Text>\n </Pressable>\n );\n case ViewNames.onboarding:\n return (\n <Pressable onPress={handlePress('quizzer')}>\n <Text>view onboarding</Text>\n </Pressable>\n );\n case ViewNames.slides:\n return <Slides {...slides} {...dispachers} />;\n default:\n return <Text>view (none selected)</Text>;\n }\n};\n\n// -----------------------------------------------------------------------------\n\nconst AppReview = props => {\n const {navigateBack} = props;\n\n useEffect(() => {\n const backAction = () => {\n navigateBack();\n return true;\n };\n\n // https://reactnative.dev/docs/backhandler\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [navigateBack]);\n\n return (\n <View style={styles.rootView}>\n <Switch {...props} />\n </View>\n );\n};\n\n// -----------------------------------------------------------------------------\n\nAppReview.propTypes = propTypes;\nSwitch.propTypes = AppReview.propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default AppReview;\n"],"file":"index.native.js"}
|
|
@@ -7,7 +7,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
7
7
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("../../../atom/review-presentation/prop-types"));
|
|
11
11
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
|
@@ -94,7 +94,7 @@ const Onboarding = ({
|
|
|
94
94
|
style: styles.title
|
|
95
95
|
}, reviewTitle));
|
|
96
96
|
|
|
97
|
-
Onboarding.propTypes = process.env.NODE_ENV !== "production" ?
|
|
97
|
+
Onboarding.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
|
|
98
98
|
var _default = Onboarding;
|
|
99
99
|
exports.default = _default;
|
|
100
100
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/app-review/onboarding/index.native.js"],"names":["styles","StyleSheet","create","container","justifyContent","flex","padding","title","height","width","lineHeight","text","opacity","tip","flexDirection","overflow","alignItems","borderRadius","tipText","icon","margin","button","Onboarding","reviewTitle","propTypes"
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-review/onboarding/index.native.js"],"names":["styles","StyleSheet","create","container","justifyContent","flex","padding","title","height","width","lineHeight","text","opacity","tip","flexDirection","overflow","alignItems","borderRadius","tipText","icon","margin","button","Onboarding","reviewTitle","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;;;;;AAEA;AAEA;AACA;AACA;AACA;AAEA,MAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,cAAc,EAAE,eADP;AAETC,IAAAA,IAAI,EAAE,CAFG;AAGTC,IAAAA,OAAO,EAAE,EAHA,CAIT;;AAJS,GADoB;AAO/BC,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAE,EADH;AAELC,IAAAA,KAAK,EAAE,GAFF;AAGL;AACA;AACAC,IAAAA,UAAU,EAAE,EALP,CAML;AACA;;AAPK,GAPwB;AAgB/BC,EAAAA,IAAI,EAAE;AACJ;AACA;AACAC,IAAAA,OAAO,EAAE,GAHL,CAIJ;;AAJI,GAhByB;AAsB/BC,EAAAA,GAAG,EAAE;AACHC,IAAAA,aAAa,EAAE,KADZ;AAEHC,IAAAA,QAAQ,EAAE,QAFP;AAGHC,IAAAA,UAAU,EAAE,QAHT;AAIHR,IAAAA,MAAM,EAAE,EAJL;AAKHS,IAAAA,YAAY,EAAE,CALX,CAMH;AACA;AACA;;AARG,GAtB0B;AAgC/BC,EAAAA,OAAO,EAAE,CACP;AACA;AAFO,GAhCsB;AAoC/BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,MAAM,EAAE;AADJ,GApCyB;AAuC/BC,EAAAA,MAAM,EAAE;AACNb,IAAAA,MAAM,EAAE,EADF;AAENS,IAAAA,YAAY,EAAE,CAFR,CAGN;AACA;;AAJM;AAvCuB,CAAlB,CAAf,C,CA+CA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;;;AACA,MAAMK,UAAU,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBACjB,oBAAC,iBAAD;AAAM,EAAA,KAAK,EAAEvB,MAAM,CAACG;AAApB,gBACE,oBAAC,iBAAD;AAAM,EAAA,KAAK,EAAEH,MAAM,CAACO;AAApB,GAA4BgB,WAA5B,CADF,CADF;;AAMAD,UAAU,CAACE,SAAX,2CAAuBA,kBAAvB;eAEeF,U","sourcesContent":["import * as React from 'react';\nimport {View, StyleSheet, Text} from 'react-native';\nimport propTypes from '../../../atom/review-presentation/prop-types';\n\n// import {NovaLineSelectionCursorsCursorArrowTarget as TargetIcon} from '@coorpacademy/nova-icons';\n\n// import theme from '../../../modules/theme';\n// import translations from '../../../translations';\n// import Button from '../../../app-shared/components/button';\n// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';\n\nconst styles = StyleSheet.create({\n container: {\n justifyContent: 'space-between',\n flex: 1,\n padding: 20\n // paddingTop: HEADER_HEIGHT + 20\n },\n title: {\n height: 72,\n width: 268,\n // fontSize: theme.fontSize.xxlarge,\n // fontWeight: theme.fontWeight.bold,\n lineHeight: 36\n // color: theme.colors.text.primary,\n // marginBottom: theme.spacing.small\n },\n text: {\n // fontSize: theme.fontSize.large,\n // color: theme.colors.text.primary,\n opacity: 0.7\n // marginBottom: theme.spacing.small\n },\n tip: {\n flexDirection: 'row',\n overflow: 'hidden',\n alignItems: 'center',\n height: 54,\n borderRadius: 8\n // backgroundColor: theme.colors.gray.extra,\n // marginTop: theme.spacing.micro,\n // marginBottom: theme.spacing.micro\n },\n tipText: {\n // fontSize: theme.fontSize.large,\n // color: theme.colors.text.primary\n },\n icon: {\n margin: 10\n },\n button: {\n height: 52,\n borderRadius: 7\n // marginBottom: theme.spacing.large,\n // marginTop: theme.spacing.large\n }\n});\n\n// const Tip = ({Icon, text}) => (\n// <View style={styles.tip}>\n// {/* <Icon height={16} width={16} style={styles.icon} color={theme.colors.text.primary} /> */}\n// <Text style={styles.tipText}>{text}</Text>\n// </View>\n// );\n\n/*\nreviewTitle --> translations.revision.onboarding.title\n*/\n// {/* <Text style={styles.title}>{translations.revision.onboarding.title}</Text>\n// <Text style={styles.text}>{translations.revision.onboarding.intro1}</Text>\n// <Text style={styles.text}>{translations.revision.onboarding.intro2}</Text>\n\n// <Tip Icon={TargetIcon} text={translations.revision.onboarding.tip1} />\n// <Tip Icon={TargetIcon} text={translations.revision.onboarding.tip2} />\n// <Tip Icon={TargetIcon} text={translations.revision.onboarding.tip3} />\n// <Tip Icon={TargetIcon} text={translations.revision.onboarding.tip4} /> */}\n\n// {/* <Button style={styles.button} onPress={onButtonPress} testID={`button-quit-revision-onboarding`}>\n// {translations.revision.onboarding.validate}\n// </Button> */}\nconst Onboarding = ({reviewTitle}) => (\n <View style={styles.container}>\n <Text style={styles.title}>{reviewTitle}</Text>\n </View>\n);\n\nOnboarding.propTypes = propTypes;\n\nexport default Onboarding;\n"],"file":"index.native.js"}
|
|
@@ -11,7 +11,7 @@ var _reactNative = require("react-native");
|
|
|
11
11
|
|
|
12
12
|
var _novaIcons = require("@coorpacademy/nova-icons");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _propTypes2 = _interopRequireWildcard(require("../../../organism/review-skills/prop-types"));
|
|
15
15
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
17
|
|
|
@@ -152,7 +152,7 @@ Item.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
152
152
|
})
|
|
153
153
|
} : {};
|
|
154
154
|
List.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
155
|
-
skills:
|
|
155
|
+
skills: _propTypes2.ListSkillsPropTypes.listSkills
|
|
156
156
|
} : {}; // -----------------------------------------------------------------------------
|
|
157
157
|
|
|
158
158
|
/*
|
|
@@ -171,7 +171,7 @@ const NoSkills = ({
|
|
|
171
171
|
style: styles.text
|
|
172
172
|
}, textNoSkills));
|
|
173
173
|
|
|
174
|
-
NoSkills.propTypes = process.env.NODE_ENV !== "production" ?
|
|
174
|
+
NoSkills.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.NoSkillsPropTypes : {}; // -----------------------------------------------------------------------------
|
|
175
175
|
// title --> translations.revision.home.title
|
|
176
176
|
|
|
177
177
|
const Skills = props => {
|
|
@@ -190,7 +190,7 @@ const Skills = props => {
|
|
|
190
190
|
}));
|
|
191
191
|
};
|
|
192
192
|
|
|
193
|
-
Skills.propTypes = process.env.NODE_ENV !== "production" ?
|
|
193
|
+
Skills.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.default : {}; // -----------------------------------------------------------------------------
|
|
194
194
|
|
|
195
195
|
var _default = Skills;
|
|
196
196
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/app-review/skills/index.native.js"],"names":["styles","StyleSheet","create","container","flex","padding","title","lineHeight","subtitle","text","fontSize","opacity","noSkillsImage","alignSelf","width","height","skills","skill","display","flexDirection","overflow","alignItems","borderRadius","skillTexts","skillTitle","fontWeight","skillInfo","extraSpace","onSelectSkill","console","log","ExtraSpace","Skill","info","propTypes","PropTypes","string","Item","item","isExtraSpace","List","shape","bool","ListSkillsPropTypes","listSkills","NoSkills","titleNoSkills","textNoSkills","NoSkillsPropTypes","Skills","props","length"
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-review/skills/index.native.js"],"names":["styles","StyleSheet","create","container","flex","padding","title","lineHeight","subtitle","text","fontSize","opacity","noSkillsImage","alignSelf","width","height","skills","skill","display","flexDirection","overflow","alignItems","borderRadius","skillTexts","skillTitle","fontWeight","skillInfo","extraSpace","onSelectSkill","console","log","ExtraSpace","Skill","info","propTypes","PropTypes","string","Item","item","isExtraSpace","List","shape","bool","ListSkillsPropTypes","listSkills","NoSkills","titleNoSkills","textNoSkills","NoSkillsPropTypes","Skills","props","length"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport {View, FlatList, Pressable, StyleSheet, Text} from 'react-native';\nimport {NovaCompositionNavigationArrowRight as ArrowRight} from '@coorpacademy/nova-icons';\nimport propTypes, {\n ListSkillsPropTypes,\n NoSkillsPropTypes\n} from '../../../organism/review-skills/prop-types';\n\n// import theme from '../../../modules/theme';\n// import translations from '../../../translations';\n// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';\n// import noSkillsImage from '../../../assets/images/revision-no-skills.png';\n// import Touchable from '../../../app-shared/components/touchable';\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20\n // paddingTop: HEADER_HEIGHT + 20,\n // backgroundColor: theme.colors.white\n },\n title: {\n // fontSize: theme.fontSize.xlarge,\n // fontWeight: theme.fontWeight.bold,\n lineHeight: 28\n // color: theme.colors.text.primary,\n // marginBottom: theme.spacing.base,\n // marginTop: theme.spacing.small\n },\n subtitle: {\n // fontSize: theme.fontSize.xlarge,\n // color: theme.colors.text.primary,\n // marginBottom: theme.spacing.tiny\n },\n text: {\n fontSize: 16,\n lineHeight: 22,\n // color: theme.colors.text.primary,\n opacity: 0.7\n // marginBottom: theme.spacing.base\n },\n noSkillsImage: {\n flex: 1,\n alignSelf: 'center',\n width: 320,\n height: 300\n },\n skills: {},\n skill: {\n display: 'flex',\n flexDirection: 'row',\n overflow: 'hidden',\n alignItems: 'center',\n height: 118,\n borderRadius: 8\n // backgroundColor: theme.colors.gray.lighter,\n // marginTop: theme.spacing.micro,\n // marginBottom: theme.spacing.micro,\n // padding: theme.spacing.base\n },\n skillTexts: {\n flex: 1,\n flexDirection: 'column'\n },\n skillTitle: {\n fontSize: 18,\n fontWeight: '600',\n lineHeight: 22\n // color: theme.colors.text.primary,\n // marginBottom: theme.spacing.tiny\n },\n skillInfo: {\n fontSize: 12,\n lineHeight: 16\n // color: theme.colors.gray.medium\n },\n extraSpace: {\n height: 100\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst onSelectSkill = title => () => {\n // eslint-disable-next-line no-console\n console.log('pressed on', {title});\n};\n\nconst ExtraSpace = () => <View style={styles.extraSpace} />;\n\nconst Skill = ({title, info}) => (\n <Pressable style={styles.skill} onPress={onSelectSkill(title)}>\n <View style={styles.skillTexts}>\n <Text style={styles.skillTitle}>{title}</Text>\n <Text style={styles.skillInfo}>{info}</Text>\n </View>\n <ArrowRight color=\"#ededed\" height={20} width={20} />\n </Pressable>\n);\n\nSkill.propTypes = {\n title: PropTypes.string,\n info: PropTypes.string\n};\n\n// -----------------------------------------------------------------------------\n\nconst Item = ({item: {title, info, isExtraSpace = false}}) =>\n isExtraSpace ? <ExtraSpace /> : <Skill title={title} info={info} />;\n\nconst List = ({skills}) => (\n <FlatList contentContainerStyle={styles.skills} data={skills} renderItem={Item} />\n);\n\nItem.propTypes = {\n item: PropTypes.shape({\n title: PropTypes.string,\n info: PropTypes.string,\n isExtraSpace: PropTypes.bool\n })\n};\n\nList.propTypes = {\n skills: ListSkillsPropTypes.listSkills\n};\n\n// -----------------------------------------------------------------------------\n\n/*\n title: translations.revision.home.noSkills\n text: translations.revision.home.noSkillsDetails\n image: use web svg\n <ImageBackground source={noSkillsImage} style={styles.noSkillsImage} />\n*/\nconst NoSkills = ({titleNoSkills, textNoSkills}) => (\n <>\n <Text style={styles.subtitle}>{titleNoSkills}</Text>\n <Text style={styles.text}>{textNoSkills}</Text>\n </>\n);\n\nNoSkills.propTypes = NoSkillsPropTypes;\n\n// -----------------------------------------------------------------------------\n\n// title --> translations.revision.home.title\nconst Skills = props => {\n const {title, listSkills} = props;\n\n return (\n <View style={styles.container}>\n <Text style={styles.title}>{title}</Text>\n {!listSkills || listSkills.length === 0 ? (\n <NoSkills />\n ) : (\n <List skills={[...listSkills, {isExtraSpace: true}]} />\n )}\n </View>\n );\n};\n\nSkills.propTypes = propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default Skills;\n"],"file":"index.native.js"}
|
|
@@ -104,11 +104,10 @@ const Slide = ({
|
|
|
104
104
|
|
|
105
105
|
/*
|
|
106
106
|
slide validation action, this will trigger the correction popin
|
|
107
|
-
(with the useEffect that fires the dispatchers, if there is a
|
|
107
|
+
(with the useEffect that fires the dispatchers, if there is a nextContent content,
|
|
108
108
|
it will be loaded here) but will not trigger any animations unless the endReview
|
|
109
109
|
signal is received (all slides will disappear, also fired in a useEffect),
|
|
110
|
-
|
|
111
|
-
if it is the last slide and the content needs to be different, then that update will
|
|
110
|
+
if it is the last slide and the content needs to be different, then that update will
|
|
112
111
|
be handled on the next slide logic but the content will be carried from here.
|
|
113
112
|
*/
|
|
114
113
|
onClick: async () => {
|
|
@@ -298,7 +297,7 @@ const SlidesReview = ({
|
|
|
298
297
|
const position = (0, _get.default)(`${slideNumber}.position`, slides);
|
|
299
298
|
const isCorrect = (0, _get.default)('isCorrect', progression);
|
|
300
299
|
const exitNode = (0, _get.default)('exitNode', progression);
|
|
301
|
-
const
|
|
300
|
+
const nextContent = (0, _get.default)('nextContent', progression);
|
|
302
301
|
updateSlidesOnValidation({
|
|
303
302
|
slideNumber,
|
|
304
303
|
newSlideContent: {
|
|
@@ -308,7 +307,7 @@ const SlidesReview = ({
|
|
|
308
307
|
endReview: !!exitNode
|
|
309
308
|
},
|
|
310
309
|
numberOfFinishedSlides: finishedSlidesSize,
|
|
311
|
-
|
|
310
|
+
nextContent
|
|
312
311
|
});
|
|
313
312
|
updateStepItemsOnValidation({
|
|
314
313
|
stepNumber: slideNumber,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/app-review/slides/index.js"],"names":["stylesByPosition","style","position0","position1","position2","position3","position4","TOTAL_SLIDES_STACK","HIGHEST_INDEX","getSlideAnimation","action","position","hidden","slideOutHideAndIn","slideOutAndIn","hiddenSlide","Slide","slideNumber","slides","primarySkinColor","validate","validateSlide","finishedSlides","finishedSlidesSize","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnNext","progression","correctionPopinProps","endReview","animationType","isSlideCorrect","questionText","answerUI","validateLabel","validateButtonProps","customStyle","backgroundColor","onClick","label","className","validateButton","disabled","klf","information","message","next","successLabel","failureLabel","_correctionPopinProps","exitNode","newSlideContent","isCorrect","numberOfFinishedSlides","stepNumber","current","type","resultLabel","questionOrigin","answerProps","model","answers","choices","slideBase","slideContentContainer","question","help","answerContainer","validateButtonWrapper","correctionPopinWrapper","hiddenCorrectionPopinWrapper","display","propTypes","SlidePropTypes","StackedSlides","stackedSlides","slide","push","StackedSlidesPropTypes","SlidesReview","headerProps","reviewBackgroundAriaLabel","stepItems","reviewStatus","congratsProps","updateSlidesOnValidation","updateStepItemsOnValidation","updateFinishedSlides","context","skin","size","shouldMountSlides","updateShouldMountSlides","nextSlide","icon","ICON_VALUES","right","wrong","value","setTimeout","stepItemsArray","stepItem","_headerProps","steps","key","hiddenSteps","slidesRevisionContainer","playerBackground","reviewHeaderContainer","stackedSlidesYAxisOverflowContainer","stackedSlidesContainer","congrats","SlidesReviewPropTypes"],"mappings":"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","sourcesContent":["import React, {useState, useMemo, useEffect} from 'react';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport isNil from 'lodash/fp/isNil';\nimport map from 'lodash/fp/map';\nimport omit from 'lodash/fp/omit';\nimport pipe from 'lodash/fp/pipe';\nimport size from 'lodash/fp/size';\nimport {ICON_VALUES} from '../../../atom/review-header-step-item';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewHeader from '../../../organism/review-header';\nimport ReviewCorrectionPopin from '../../../molecule/review-correction-popin';\nimport Answer from '../../../molecule/answer';\nimport ButtonLink from '../../../atom/button-link';\nimport style from './style.css';\nimport {SlidesReviewPropTypes, SlidePropTypes, StackedSlidesPropTypes} from './prop-types';\n\nconst stylesByPosition = {\n 0: style.position0,\n 1: style.position1,\n 2: style.position2,\n 3: style.position3,\n 4: style.position4\n};\n\nexport const TOTAL_SLIDES_STACK = 5;\nexport const HIGHEST_INDEX = TOTAL_SLIDES_STACK - 1;\n\nconst getSlideAnimation = (action, position, hidden) => {\n switch (action) {\n /* istanbul ignore next */\n case 'unstack':\n return style.slideOutHideAndIn;\n /* istanbul ignore next */\n case 'restack':\n return style.slideOutAndIn;\n default:\n return hidden ? style.hiddenSlide : stylesByPosition[position];\n }\n};\n\nconst Slide = ({\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const animationType = getOr(false, `${slideNumber}.animationType`, slides);\n const isSlideCorrect = getOr(null, `${slideNumber}.isCorrect`, slides);\n const questionText = get(`${slideNumber}.questionText`, slides);\n const answerUI = get(`${slideNumber}.answerUI`, slides);\n\n const validateLabel = getOr('', 'label', validate);\n\n const validateButtonProps = {\n customStyle: {\n backgroundColor: primarySkinColor\n },\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextSlide content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slides will disappear, also fired in a useEffect),\n \n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n */\n onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n 'aria-label': validateLabel,\n label: validateLabel,\n 'data-name': `slide-validate-button-${slideNumber}`,\n className: style.validateButton,\n disabled: !isNil(isSlideCorrect)\n };\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const successLabel = getOr('', 'successLabel', correctionPopinProps);\n const failureLabel = getOr('', 'failureLabel', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n /*\n next slide action, this will trigger the slides animations\n if it is the last slide AND the content needs to be different, then that update\n of the content will be handled here (and in the validate as it happens normally )\n from the content carried from the validate action.\n */\n onClick: () => {\n const exitNode = get('exitNode', progression);\n\n updateSlidesOnNext({\n slideNumber,\n newSlideContent: {\n hidden: !!isSlideCorrect,\n position: HIGHEST_INDEX - finishedSlidesSize, // to restack the slide\n animationType: isSlideCorrect ? 'unstack' : 'restack',\n isCorrect: isSlideCorrect,\n endReview: !!exitNode,\n answerUI,\n questionText\n },\n numberOfFinishedSlides: finishedSlidesSize\n });\n updateStepItemsOnNext({\n stepNumber: slideNumber,\n finishedSlides,\n current:\n finishedSlidesSize === HIGHEST_INDEX && /* istanbul ignore next */ !isSlideCorrect\n });\n\n if (finishedSlidesSize === TOTAL_SLIDES_STACK) updateReviewStatus('finished');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideNumber}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: isSlideCorrect ? 'right' : 'wrong',\n resultLabel: isSlideCorrect ? successLabel : failureLabel\n };\n\n const questionOrigin = 'From \"Master Design Thinking to become more agile\" course';\n const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div\n key={`slide-${slideNumber}`}\n data-name={`slide-${slideNumber}`}\n className={classnames(\n style.slideBase,\n getSlideAnimation(animationType, position, hidden),\n endReview ? style.endReview : null\n )}\n >\n {answerUI && questionText ? (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div key=\"title\" className={style.question}>\n {questionText}\n </div>\n <div key=\"help\" className={style.help}>\n {answerUI.help}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} key=\"answer\" />\n </div>\n </div>\n ) : null}\n\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n <div\n className={\n isSlideCorrect ? style.correctionPopinWrapper : style.hiddenCorrectionPopinWrapper\n }\n style={{\n ...(finishedSlidesSize !== HIGHEST_INDEX &&\n !isSlideCorrect && {\n display: 'none'\n })\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n </div>\n );\n};\n\nSlide.propTypes = SlidePropTypes;\n\nconst StackedSlides = ({\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const stackedSlides = [];\n // eslint-disable-next-line fp/no-loops\n for (let slideNumber = 0; slideNumber < TOTAL_SLIDES_STACK; slideNumber++) {\n const slide = (\n <Slide\n {...{\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n key={slideNumber}\n />\n );\n stackedSlides.push(slide);\n }\n\n return stackedSlides;\n};\n\nStackedSlides.propTypes = StackedSlidesPropTypes;\n\nconst SlidesReview = (\n {\n headerProps,\n reviewBackgroundAriaLabel,\n validate,\n correctionPopinProps,\n slides,\n finishedSlides,\n stepItems,\n reviewStatus,\n congratsProps,\n validateSlide,\n updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\n progression\n },\n context\n) => {\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n\n const finishedSlidesSize = useMemo(() => pipe(omit('slideNumbers'), size)(finishedSlides), [\n finishedSlides\n ]);\n\n /*\n ||-------> the slides have an slightly longer lifespan than the \"ongoing\" review State,\n after reviewState changes to \"finished\" the slides don't have to unmount until the last\n slide-out animation is finished, the slides have to be unmounted to be RGAA complaint.\n (if they are only invisible -but- still mounted, then they will be found by the assisting\n tools & clutter them)\n */\n const [shouldMountSlides, updateShouldMountSlides] = useState(true);\n\n useEffect(\n /* istanbul ignore next */ () => {\n const slideNumber = get('slideNumber', progression);\n if (progression) {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const isCorrect = get('isCorrect', progression);\n const exitNode = get('exitNode', progression);\n const nextSlide = get('nextSlide', progression);\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n isCorrect,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlidesSize,\n nextSlide\n });\n updateStepItemsOnValidation({\n stepNumber: slideNumber,\n icon: isCorrect ? ICON_VALUES.right : ICON_VALUES.wrong\n });\n if (isCorrect) updateFinishedSlides({slideNumber, value: true});\n if (endReview) {\n updateReviewStatus('finished');\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [progression]\n );\n\n useEffect(\n /* istanbul ignore next */ () => {\n if (reviewStatus === 'finished') {\n setTimeout(() => updateShouldMountSlides(false), 2000);\n }\n },\n [finishedSlidesSize, reviewStatus, updateReviewStatus]\n );\n\n // ||-------> transform the step items state to Array\n const stepItemsArray = useMemo(\n () =>\n pipe(\n omit('slideNumbers'),\n map(stepItem => stepItem)\n )(stepItems),\n [stepItems]\n );\n\n const _headerProps = {\n ...headerProps,\n steps: stepItemsArray,\n key: 'review-header',\n hiddenSteps: reviewStatus !== 'ongoing'\n };\n\n return (\n <div\n key=\"slides-revision-container\"\n data-name=\"slides-revision-container\"\n className={style.slidesRevisionContainer}\n >\n <div key=\"player-background-container\" className={style.playerBackground}>\n <ReviewBackground aria-label={reviewBackgroundAriaLabel} />\n </div>\n\n <div key=\"review-header-wrapper\" className={style.reviewHeaderContainer}>\n <ReviewHeader {..._headerProps} />\n </div>\n\n {shouldMountSlides ? (\n <div\n key=\"stacked-slides-container-y-overflow\"\n className={style.stackedSlidesYAxisOverflowContainer}\n >\n <div\n key=\"stacked-slides-container\"\n data-name=\"stacked-slides-container\"\n className={style.stackedSlidesContainer}\n >\n <StackedSlides\n {...{\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n />\n </div>\n </div>\n ) : /* istanbul ignore next */ null}\n\n {reviewStatus === 'finished' ? (\n <div className={style.congrats} data-name=\"congrats-container\">\n <ReviewCongrats {...congratsProps} />\n </div>\n ) : null}\n </div>\n );\n};\n\nSlidesReview.propTypes = SlidesReviewPropTypes;\n\nexport default SlidesReview;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-review/slides/index.js"],"names":["stylesByPosition","style","position0","position1","position2","position3","position4","TOTAL_SLIDES_STACK","HIGHEST_INDEX","getSlideAnimation","action","position","hidden","slideOutHideAndIn","slideOutAndIn","hiddenSlide","Slide","slideNumber","slides","primarySkinColor","validate","validateSlide","finishedSlides","finishedSlidesSize","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnNext","progression","correctionPopinProps","endReview","animationType","isSlideCorrect","questionText","answerUI","validateLabel","validateButtonProps","customStyle","backgroundColor","onClick","label","className","validateButton","disabled","klf","information","message","next","successLabel","failureLabel","_correctionPopinProps","exitNode","newSlideContent","isCorrect","numberOfFinishedSlides","stepNumber","current","type","resultLabel","questionOrigin","answerProps","model","answers","choices","slideBase","slideContentContainer","question","help","answerContainer","validateButtonWrapper","correctionPopinWrapper","hiddenCorrectionPopinWrapper","display","propTypes","SlidePropTypes","StackedSlides","stackedSlides","slide","push","StackedSlidesPropTypes","SlidesReview","headerProps","reviewBackgroundAriaLabel","stepItems","reviewStatus","congratsProps","updateSlidesOnValidation","updateStepItemsOnValidation","updateFinishedSlides","context","skin","size","shouldMountSlides","updateShouldMountSlides","nextContent","icon","ICON_VALUES","right","wrong","value","setTimeout","stepItemsArray","stepItem","_headerProps","steps","key","hiddenSteps","slidesRevisionContainer","playerBackground","reviewHeaderContainer","stackedSlidesYAxisOverflowContainer","stackedSlidesContainer","congrats","SlidesReviewPropTypes"],"mappings":"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","sourcesContent":["import React, {useState, useMemo, useEffect} from 'react';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport isNil from 'lodash/fp/isNil';\nimport map from 'lodash/fp/map';\nimport omit from 'lodash/fp/omit';\nimport pipe from 'lodash/fp/pipe';\nimport size from 'lodash/fp/size';\nimport {ICON_VALUES} from '../../../atom/review-header-step-item';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewHeader from '../../../organism/review-header';\nimport ReviewCorrectionPopin from '../../../molecule/review-correction-popin';\nimport Answer from '../../../molecule/answer';\nimport ButtonLink from '../../../atom/button-link';\nimport style from './style.css';\nimport {SlidesReviewPropTypes, SlidePropTypes, StackedSlidesPropTypes} from './prop-types';\n\nconst stylesByPosition = {\n 0: style.position0,\n 1: style.position1,\n 2: style.position2,\n 3: style.position3,\n 4: style.position4\n};\n\nexport const TOTAL_SLIDES_STACK = 5;\nexport const HIGHEST_INDEX = TOTAL_SLIDES_STACK - 1;\n\nconst getSlideAnimation = (action, position, hidden) => {\n switch (action) {\n /* istanbul ignore next */\n case 'unstack':\n return style.slideOutHideAndIn;\n /* istanbul ignore next */\n case 'restack':\n return style.slideOutAndIn;\n default:\n return hidden ? style.hiddenSlide : stylesByPosition[position];\n }\n};\n\nconst Slide = ({\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const animationType = getOr(false, `${slideNumber}.animationType`, slides);\n const isSlideCorrect = getOr(null, `${slideNumber}.isCorrect`, slides);\n const questionText = get(`${slideNumber}.questionText`, slides);\n const answerUI = get(`${slideNumber}.answerUI`, slides);\n\n const validateLabel = getOr('', 'label', validate);\n\n const validateButtonProps = {\n customStyle: {\n backgroundColor: primarySkinColor\n },\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextContent content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slides will disappear, also fired in a useEffect),\n\n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n */\n onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n 'aria-label': validateLabel,\n label: validateLabel,\n 'data-name': `slide-validate-button-${slideNumber}`,\n className: style.validateButton,\n disabled: !isNil(isSlideCorrect)\n };\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const successLabel = getOr('', 'successLabel', correctionPopinProps);\n const failureLabel = getOr('', 'failureLabel', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n /*\n next slide action, this will trigger the slides animations\n if it is the last slide AND the content needs to be different, then that update\n of the content will be handled here (and in the validate as it happens normally )\n from the content carried from the validate action.\n */\n onClick: () => {\n const exitNode = get('exitNode', progression);\n\n updateSlidesOnNext({\n slideNumber,\n newSlideContent: {\n hidden: !!isSlideCorrect,\n position: HIGHEST_INDEX - finishedSlidesSize, // to restack the slide\n animationType: isSlideCorrect ? 'unstack' : 'restack',\n isCorrect: isSlideCorrect,\n endReview: !!exitNode,\n answerUI,\n questionText\n },\n numberOfFinishedSlides: finishedSlidesSize\n });\n updateStepItemsOnNext({\n stepNumber: slideNumber,\n finishedSlides,\n current:\n finishedSlidesSize === HIGHEST_INDEX && /* istanbul ignore next */ !isSlideCorrect\n });\n\n if (finishedSlidesSize === TOTAL_SLIDES_STACK) updateReviewStatus('finished');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideNumber}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: isSlideCorrect ? 'right' : 'wrong',\n resultLabel: isSlideCorrect ? successLabel : failureLabel\n };\n\n const questionOrigin = 'From \"Master Design Thinking to become more agile\" course';\n const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div\n key={`slide-${slideNumber}`}\n data-name={`slide-${slideNumber}`}\n className={classnames(\n style.slideBase,\n getSlideAnimation(animationType, position, hidden),\n endReview ? style.endReview : null\n )}\n >\n {answerUI && questionText ? (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div key=\"title\" className={style.question}>\n {questionText}\n </div>\n <div key=\"help\" className={style.help}>\n {answerUI.help}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} key=\"answer\" />\n </div>\n </div>\n ) : null}\n\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n <div\n className={\n isSlideCorrect ? style.correctionPopinWrapper : style.hiddenCorrectionPopinWrapper\n }\n style={{\n ...(finishedSlidesSize !== HIGHEST_INDEX &&\n !isSlideCorrect && {\n display: 'none'\n })\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n </div>\n );\n};\n\nSlide.propTypes = SlidePropTypes;\n\nconst StackedSlides = ({\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const stackedSlides = [];\n // eslint-disable-next-line fp/no-loops\n for (let slideNumber = 0; slideNumber < TOTAL_SLIDES_STACK; slideNumber++) {\n const slide = (\n <Slide\n {...{\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n key={slideNumber}\n />\n );\n stackedSlides.push(slide);\n }\n\n return stackedSlides;\n};\n\nStackedSlides.propTypes = StackedSlidesPropTypes;\n\nconst SlidesReview = (\n {\n headerProps,\n reviewBackgroundAriaLabel,\n validate,\n correctionPopinProps,\n slides,\n finishedSlides,\n stepItems,\n reviewStatus,\n congratsProps,\n validateSlide,\n updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\n progression\n },\n context\n) => {\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n\n const finishedSlidesSize = useMemo(() => pipe(omit('slideNumbers'), size)(finishedSlides), [\n finishedSlides\n ]);\n\n /*\n ||-------> the slides have an slightly longer lifespan than the \"ongoing\" review State,\n after reviewState changes to \"finished\" the slides don't have to unmount until the last\n slide-out animation is finished, the slides have to be unmounted to be RGAA complaint.\n (if they are only invisible -but- still mounted, then they will be found by the assisting\n tools & clutter them)\n */\n const [shouldMountSlides, updateShouldMountSlides] = useState(true);\n\n useEffect(\n /* istanbul ignore next */ () => {\n const slideNumber = get('slideNumber', progression);\n if (progression) {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const isCorrect = get('isCorrect', progression);\n const exitNode = get('exitNode', progression);\n const nextContent = get('nextContent', progression);\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n isCorrect,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlidesSize,\n nextContent\n });\n updateStepItemsOnValidation({\n stepNumber: slideNumber,\n icon: isCorrect ? ICON_VALUES.right : ICON_VALUES.wrong\n });\n if (isCorrect) updateFinishedSlides({slideNumber, value: true});\n if (endReview) {\n updateReviewStatus('finished');\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [progression]\n );\n\n useEffect(\n /* istanbul ignore next */ () => {\n if (reviewStatus === 'finished') {\n setTimeout(() => updateShouldMountSlides(false), 2000);\n }\n },\n [finishedSlidesSize, reviewStatus, updateReviewStatus]\n );\n\n // ||-------> transform the step items state to Array\n const stepItemsArray = useMemo(\n () =>\n pipe(\n omit('slideNumbers'),\n map(stepItem => stepItem)\n )(stepItems),\n [stepItems]\n );\n\n const _headerProps = {\n ...headerProps,\n steps: stepItemsArray,\n key: 'review-header',\n hiddenSteps: reviewStatus !== 'ongoing'\n };\n\n return (\n <div\n key=\"slides-revision-container\"\n data-name=\"slides-revision-container\"\n className={style.slidesRevisionContainer}\n >\n <div key=\"player-background-container\" className={style.playerBackground}>\n <ReviewBackground aria-label={reviewBackgroundAriaLabel} />\n </div>\n\n <div key=\"review-header-wrapper\" className={style.reviewHeaderContainer}>\n <ReviewHeader {..._headerProps} />\n </div>\n\n {shouldMountSlides ? (\n <div\n key=\"stacked-slides-container-y-overflow\"\n className={style.stackedSlidesYAxisOverflowContainer}\n >\n <div\n key=\"stacked-slides-container\"\n data-name=\"stacked-slides-container\"\n className={style.stackedSlidesContainer}\n >\n <StackedSlides\n {...{\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n />\n </div>\n </div>\n ) : /* istanbul ignore next */ null}\n\n {reviewStatus === 'finished' ? (\n <div className={style.congrats} data-name=\"congrats-container\">\n <ReviewCongrats {...congratsProps} />\n </div>\n ) : null}\n </div>\n );\n};\n\nSlidesReview.propTypes = SlidesReviewPropTypes;\n\nexport default SlidesReview;\n"],"file":"index.js"}
|
|
@@ -3,19 +3,19 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = void 0;
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
|
|
10
10
|
var _reactNative = require("react-native");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _freeText = _interopRequireDefault(require("../../../molecule/questions/free-text"));
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
var _templateContext = require("../template-context");
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
var _propTypes2 = require("./prop-types");
|
|
17
17
|
|
|
18
|
-
function
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
19
|
|
|
20
20
|
// import theme from '../../../modules/theme';
|
|
21
21
|
// import translations from '../../../translations';
|
|
@@ -54,9 +54,10 @@ const SLIDE_HEIGHT = () => (0, _reactNative.useWindowDimensions)().height * 0.75
|
|
|
54
54
|
const creatSlideStyle = (num, width, height) => _reactNative.StyleSheet.create({
|
|
55
55
|
slide: {
|
|
56
56
|
position: 'absolute',
|
|
57
|
-
// backgroundColor: theme.colors.white, @todo with props
|
|
58
57
|
top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,
|
|
59
58
|
flex: 1,
|
|
59
|
+
backgroundColor: '#fff',
|
|
60
|
+
// backgroundColor: theme.colors.white, @todo with props and useEffect
|
|
60
61
|
height: SLIDE_HEIGHT(),
|
|
61
62
|
width: width - 40 - num * 8,
|
|
62
63
|
justifyContent: 'space-between',
|
|
@@ -147,17 +148,17 @@ const choicesStyle = _reactNative.StyleSheet.create({
|
|
|
147
148
|
|
|
148
149
|
const Choices = ({
|
|
149
150
|
choices
|
|
150
|
-
}) => /*#__PURE__*/
|
|
151
|
+
}) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
151
152
|
style: choicesStyle.container
|
|
152
153
|
}, choices.map(({
|
|
153
154
|
text,
|
|
154
155
|
selected = false
|
|
155
156
|
}, index) => {
|
|
156
157
|
const optionStyle = createOptionStyle(selected);
|
|
157
|
-
return /*#__PURE__*/
|
|
158
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
158
159
|
style: optionStyle.box,
|
|
159
160
|
key: `choice-${index}`
|
|
160
|
-
}, /*#__PURE__*/
|
|
161
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
161
162
|
style: optionStyle.text
|
|
162
163
|
}, text, " ", selected));
|
|
163
164
|
}));
|
|
@@ -168,7 +169,6 @@ Choices.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
168
169
|
selected: _propTypes.default.bool
|
|
169
170
|
})
|
|
170
171
|
} : {}; // -----------------------------------------------------------------------------
|
|
171
|
-
// const Slide = ({slide, num}: Props) => {
|
|
172
172
|
|
|
173
173
|
const Slide = ({
|
|
174
174
|
validateSlide,
|
|
@@ -181,19 +181,51 @@ const Slide = ({
|
|
|
181
181
|
} = (0, _reactNative.useWindowDimensions)();
|
|
182
182
|
const slideStyle = creatSlideStyle(num, width, height);
|
|
183
183
|
const validateLabel = '__validate'; // translations.validate
|
|
184
|
-
// TODO replace choices with <Answer>; move mobile answers in the package..
|
|
185
184
|
|
|
186
|
-
|
|
185
|
+
const templateContext = (0, _templateContext.useTemplateContext)();
|
|
186
|
+
const {
|
|
187
|
+
analytics
|
|
188
|
+
} = templateContext;
|
|
189
|
+
const {
|
|
190
|
+
answerUI: {
|
|
191
|
+
isDisabled = false,
|
|
192
|
+
value,
|
|
193
|
+
model: {
|
|
194
|
+
type,
|
|
195
|
+
onChange
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
} = slide;
|
|
199
|
+
|
|
200
|
+
switch (type) {
|
|
201
|
+
case 'freeText':
|
|
202
|
+
{
|
|
203
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
204
|
+
style: slideStyle.slide
|
|
205
|
+
}, /*#__PURE__*/_react.default.createElement(_freeText.default, {
|
|
206
|
+
isDisabled: isDisabled,
|
|
207
|
+
onChange: onChange,
|
|
208
|
+
value: value,
|
|
209
|
+
testID: "free-text",
|
|
210
|
+
questionType: "basic",
|
|
211
|
+
analytics: analytics
|
|
212
|
+
}));
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
default:
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
187
219
|
style: slideStyle.slide
|
|
188
|
-
}, /*#__PURE__*/
|
|
220
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
189
221
|
style: slideStyle.category
|
|
190
|
-
},
|
|
222
|
+
}, num), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
191
223
|
style: slideStyle.question
|
|
192
|
-
}, slide.question), /*#__PURE__*/
|
|
224
|
+
}, slide.question), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
193
225
|
style: slideStyle.instruction
|
|
194
|
-
}, slide.instruction), /*#__PURE__*/
|
|
226
|
+
}, slide.instruction), /*#__PURE__*/_react.default.createElement(Choices, {
|
|
195
227
|
choices: slide.choices
|
|
196
|
-
}), /*#__PURE__*/
|
|
228
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.Button, {
|
|
197
229
|
style: slideStyle.button,
|
|
198
230
|
onPress: validateSlide,
|
|
199
231
|
testID: `button-quizzer-validate`
|
|
@@ -208,18 +240,21 @@ Slide.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
208
240
|
// const Slides = ({slide}: Props) => {
|
|
209
241
|
|
|
210
242
|
const Slides = ({
|
|
211
|
-
|
|
243
|
+
slides,
|
|
212
244
|
validateSlide
|
|
213
245
|
}) => {
|
|
214
|
-
|
|
215
|
-
|
|
246
|
+
if (!slides) {
|
|
247
|
+
return null;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
216
251
|
style: quizzerStyle.container
|
|
217
|
-
},
|
|
252
|
+
}, /*#__PURE__*/_react.default.createElement(Slide, {
|
|
218
253
|
validateSlide: validateSlide,
|
|
219
|
-
slide:
|
|
220
|
-
num:
|
|
221
|
-
key: `slide-${
|
|
222
|
-
}))
|
|
254
|
+
slide: slides[0],
|
|
255
|
+
num: 0,
|
|
256
|
+
key: `slide-${0}`
|
|
257
|
+
}));
|
|
223
258
|
};
|
|
224
259
|
|
|
225
260
|
Slides.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.SlidesReviewPropTypes : {}; // -----------------------------------------------------------------------------
|