@coorpacademy/components 10.21.4 → 10.22.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/es/atom/header-back-button/index.native.js +75 -0
- package/es/atom/header-back-button/index.native.js.map +1 -0
- package/es/atom/header-back-icon/index.native.js +27 -0
- package/es/atom/header-back-icon/index.native.js.map +1 -0
- 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/spinner/index.js +1 -0
- package/es/atom/spinner/index.js.map +1 -1
- package/es/atom/tab/index.js +1 -0
- package/es/atom/tab/index.js.map +1 -1
- package/es/hoc/touchable/index.native.js +69 -0
- package/es/hoc/touchable/index.native.js.map +1 -0
- 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/dashboard/battle-request-list/index.js +3 -5
- package/es/molecule/dashboard/battle-request-list/index.js.map +1 -1
- package/es/molecule/dashboard/news-list/index.js +3 -5
- package/es/molecule/dashboard/news-list/index.js.map +1 -1
- package/es/molecule/dashboard/review-banner/index.js +3 -5
- package/es/molecule/dashboard/review-banner/index.js.map +1 -1
- package/es/molecule/dashboard/start-battle/index.js +3 -5
- package/es/molecule/dashboard/start-battle/index.js.map +1 -1
- package/es/molecule/external-content-viewer/index.js +2 -1
- package/es/molecule/external-content-viewer/index.js.map +1 -1
- package/es/molecule/questions/free-text/index.native.js +87 -0
- package/es/molecule/questions/free-text/index.native.js.map +1 -0
- package/es/molecule/questions/qcm/index.native.js +50 -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-player/loading/index.js +1 -0
- package/es/template/app-player/loading/index.js.map +1 -1
- package/es/template/app-review/demo-ts/index.js +2 -0
- package/es/template/app-review/demo-ts/index.js.map +1 -1
- package/es/template/app-review/demo-ts/index.native.js +9 -0
- package/es/template/app-review/demo-ts/index.native.js.map +1 -0
- package/es/template/app-review/demo-ts/typings.js +7 -0
- package/es/template/app-review/demo-ts/typings.js.map +1 -0
- package/es/template/app-review/index.js +4 -0
- package/es/template/app-review/index.js.map +1 -1
- package/es/template/app-review/index.native.js +24 -28
- 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 +65 -25
- 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 +36 -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/es/variables/theme.native.js +65 -0
- package/es/variables/theme.native.js.map +1 -0
- package/es/variables/vibration.js +10 -0
- package/es/variables/vibration.js.map +1 -0
- package/lib/atom/header-back-button/index.native.js +96 -0
- package/lib/atom/header-back-button/index.native.js.map +1 -0
- package/lib/atom/header-back-icon/index.native.js +38 -0
- package/lib/atom/header-back-icon/index.native.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/spinner/index.js +1 -0
- package/lib/atom/spinner/index.js.map +1 -1
- package/lib/atom/tab/index.js +1 -0
- package/lib/atom/tab/index.js.map +1 -1
- package/lib/hoc/touchable/index.native.js +83 -0
- package/lib/hoc/touchable/index.native.js.map +1 -0
- 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/dashboard/battle-request-list/index.js +3 -5
- package/lib/molecule/dashboard/battle-request-list/index.js.map +1 -1
- package/lib/molecule/dashboard/news-list/index.js +3 -5
- package/lib/molecule/dashboard/news-list/index.js.map +1 -1
- package/lib/molecule/dashboard/review-banner/index.js +3 -5
- package/lib/molecule/dashboard/review-banner/index.js.map +1 -1
- package/lib/molecule/dashboard/start-battle/index.js +3 -5
- package/lib/molecule/dashboard/start-battle/index.js.map +1 -1
- package/lib/molecule/external-content-viewer/index.js +2 -1
- package/lib/molecule/external-content-viewer/index.js.map +1 -1
- package/lib/molecule/questions/free-text/index.native.js +100 -0
- package/lib/molecule/questions/free-text/index.native.js.map +1 -0
- package/lib/molecule/questions/qcm/index.native.js +62 -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-player/loading/index.js +1 -0
- package/lib/template/app-player/loading/index.js.map +1 -1
- package/lib/template/app-review/demo-ts/index.js +3 -0
- package/lib/template/app-review/demo-ts/index.js.map +1 -1
- package/lib/template/app-review/demo-ts/index.native.js +18 -0
- package/lib/template/app-review/demo-ts/index.native.js.map +1 -0
- package/lib/template/app-review/demo-ts/typings.js +16 -0
- package/lib/template/app-review/demo-ts/typings.js.map +1 -0
- package/lib/template/app-review/index.js +5 -0
- package/lib/template/app-review/index.js.map +1 -1
- package/lib/template/app-review/index.native.js +25 -26
- 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 +76 -38
- 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 +50 -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/lib/variables/theme.native.js +70 -0
- package/lib/variables/theme.native.js.map +1 -0
- package/lib/variables/vibration.js +15 -0
- package/lib/variables/vibration.js.map +1 -0
- package/package.json +6 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-skills/prop-types.js"],"names":["ListSkillsPropTypes","listSkills","PropTypes","arrayOf","shape","SkillCardPropTypes","NoSkillsPropTypes","titleNoSkills","string","textNoSkills","iconSkillAriaLabel","title","isRequired","isLoading","bool","isLoadingAriaLabel"],"mappings":";;;;;AAAA;;AACA;;;;;;AAEO,MAAMA,mBAAmB,GAAG;AACjCC,EAAAA,UAAU,EAAEC,mBAAUC,OAAV,CAAkBD,mBAAUE,KAAV,CAAgBC,mBAAhB,CAAlB;AADqB,CAA5B;;AAIA,MAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,aAAa,EAAEL,mBAAUM,MADM;AAE/BC,EAAAA,YAAY,EAAEP,mBAAUM,MAFO;AAG/BE,EAAAA,kBAAkB,EAAER,mBAAUM;AAHC,CAA1B;;;;AAOL,gBAAcN,mBAAUM,M;AACxBG,EAAAA,KAAK,EAAET,mBAAUM,MAAV,CAAiBI,U;AACxBC,EAAAA,SAAS,EAAEX,mBAAUY,I;AACrBC,EAAAA,kBAAkB,EAAEb,mBAAUM;GAC3BR,mB,GACAM,iB","sourcesContent":["import PropTypes from 'prop-types';\nimport SkillCardPropTypes from '../../molecule/skill-card/prop-types';\n\nexport const ListSkillsPropTypes = {\n listSkills: PropTypes.arrayOf(PropTypes.shape(SkillCardPropTypes))\n};\n\nexport const NoSkillsPropTypes = {\n titleNoSkills: PropTypes.string,\n textNoSkills: PropTypes.string,\n iconSkillAriaLabel: PropTypes.string\n};\n\nexport default {\n 'aria-label': PropTypes.string,\n title: PropTypes.string.isRequired,\n isLoading: PropTypes.bool,\n isLoadingAriaLabel: PropTypes.string,\n ...ListSkillsPropTypes,\n ...NoSkillsPropTypes\n};\n"],"file":"prop-types.js"}
|
|
@@ -17,6 +17,7 @@ const PlayerLoading = () => {
|
|
|
17
17
|
}, /*#__PURE__*/_react.default.createElement(_loader.default, null));
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
+
PlayerLoading.propTypes = process.env.NODE_ENV !== "production" ? {} : {};
|
|
20
21
|
var _default = PlayerLoading;
|
|
21
22
|
exports.default = _default;
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/app-player/loading/index.js"],"names":["PlayerLoading","style","wrapper"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;AAEA,MAAMA,aAAa,GAAG,MAAM;AAC1B,sBACE;AAAK,IAAA,SAAS,EAAEC,eAAMC;AAAtB,kBACE,6BAAC,eAAD,OADF,CADF;AAKD,CAND;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-player/loading/index.js"],"names":["PlayerLoading","style","wrapper","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;AAEA,MAAMA,aAAa,GAAG,MAAM;AAC1B,sBACE;AAAK,IAAA,SAAS,EAAEC,eAAMC;AAAtB,kBACE,6BAAC,eAAD,OADF,CADF;AAKD,CAND;;AAQAF,aAAa,CAACG,SAAd,2CAA0B,EAA1B;eAEeH,a","sourcesContent":["import React from 'react';\nimport Loader from '../../../atom/loader';\nimport style from './style.css';\n\nconst PlayerLoading = () => {\n return (\n <div className={style.wrapper}>\n <Loader />\n </div>\n );\n};\n\nPlayerLoading.propTypes = {};\n\nexport default PlayerLoading;\n"],"file":"index.js"}
|
|
@@ -5,12 +5,15 @@ exports.default = void 0;
|
|
|
5
5
|
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
|
|
8
|
+
var _typings = require("./typings");
|
|
9
|
+
|
|
8
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
11
|
|
|
10
12
|
const DemoTs = ({
|
|
11
13
|
plop
|
|
12
14
|
}) => /*#__PURE__*/_react.default.createElement("p", null, plop);
|
|
13
15
|
|
|
16
|
+
DemoTs.propTypes = process.env.NODE_ENV !== "production" ? _typings.propTypes : {};
|
|
14
17
|
var _default = DemoTs;
|
|
15
18
|
exports.default = _default;
|
|
16
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/app-review/demo-ts/index.tsx"],"names":["DemoTs","plop"],"mappings":";;;;;AAAA;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-review/demo-ts/index.tsx"],"names":["DemoTs","plop","propTypes"],"mappings":";;;;;AAAA;;AACA;;;;AAEA,MAAMA,MAAgC,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBAAmB,wCAAIA,IAAJ,CAA5D;;AAEAD,MAAM,CAACE,SAAP,2CAAmBA,kBAAnB;eAEeF,M","sourcesContent":["import React, {FunctionComponent} from 'react';\nimport {Props, propTypes} from './typings';\n\nconst DemoTs: FunctionComponent<Props> = ({plop}: Props) => <p>{plop}</p>;\n\nDemoTs.propTypes = propTypes;\n\nexport default DemoTs;\n"],"file":"index.js"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
const DemoTs = ({
|
|
13
|
+
plop
|
|
14
|
+
}) => /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, plop));
|
|
15
|
+
|
|
16
|
+
var _default = DemoTs;
|
|
17
|
+
exports.default = _default;
|
|
18
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-review/demo-ts/index.native.tsx"],"names":["DemoTs","plop"],"mappings":";;;;;AAAA;;AACA;;;;AAGA,MAAMA,MAAM,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBACb,6BAAC,iBAAD,qBACE,6BAAC,iBAAD,QAAOA,IAAP,CADF,CADF;;eAMeD,M","sourcesContent":["import React from 'react';\nimport {View, Text} from 'react-native';\nimport {Props} from './typings';\n\nconst DemoTs = ({plop}: Props) => (\n <View>\n <Text>{plop}</Text>\n </View>\n);\n\nexport default DemoTs;\n"],"file":"index.native.js"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.propTypes = void 0;
|
|
5
|
+
|
|
6
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
7
|
+
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
|
|
10
|
+
const propTypes = {
|
|
11
|
+
plop: _propTypes.default.string,
|
|
12
|
+
plip: _propTypes.default.number,
|
|
13
|
+
onClick: _propTypes.default.func
|
|
14
|
+
};
|
|
15
|
+
exports.propTypes = propTypes;
|
|
16
|
+
//# sourceMappingURL=typings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-review/demo-ts/typings.ts"],"names":["propTypes","plop","PropTypes","string","plip","number","onClick","func"],"mappings":";;;;;AAAA;;;;AAEO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAEC,mBAAUC,MADO;AAEvBC,EAAAA,IAAI,EAAEF,mBAAUG,MAFO;AAGvBC,EAAAA,OAAO,EAAEJ,mBAAUK;AAHI,CAAlB","sourcesContent":["import PropTypes from 'prop-types';\n\nexport const propTypes = {\n plop: PropTypes.string,\n plip: PropTypes.number,\n onClick: PropTypes.func\n};\n\nexport type Props = PropTypes.InferProps<typeof propTypes>;\n"],"file":"typings.js"}
|
|
@@ -5,6 +5,8 @@ exports.default = void 0;
|
|
|
5
5
|
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
|
|
8
|
+
var _loader = _interopRequireDefault(require("../../atom/loader"));
|
|
9
|
+
|
|
8
10
|
var _onboarding = _interopRequireDefault(require("./onboarding"));
|
|
9
11
|
|
|
10
12
|
var _skills = _interopRequireDefault(require("./skills"));
|
|
@@ -42,6 +44,9 @@ const AppReview = (_ref) => {
|
|
|
42
44
|
|
|
43
45
|
case _propTypes.ViewNames.slides:
|
|
44
46
|
return /*#__PURE__*/_react.default.createElement(_slides.default, _extends({}, slides, dispachers));
|
|
47
|
+
|
|
48
|
+
default:
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(_loader.default, null);
|
|
45
50
|
}
|
|
46
51
|
};
|
|
47
52
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/template/app-review/index.js"],"names":["AppReview","viewName","onboarding","skills","slides","dispachers","ViewNames","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA;AAEA,MAAMA,SAAS,GAAG,UAA2D;AAAA,MAA1D;AAACC,IAAAA,QAAD;AAAWC,IAAAA,UAAX;AAAuBC,IAAAA,MAAvB;AAA+BC,IAAAA;AAA/B,GAA0D;AAAA,MAAhBC,UAAgB;;AAC3E,UAAQJ,QAAR;AACE,SAAKK,qBAAUH,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBE,UAAxB,EAAP;;AACF,SAAKC,qBAAUJ,UAAf;AACE,0BAAO,6BAAC,mBAAD,eAAgBA,UAAhB,EAAgCG,UAAhC,EAAP;;AACF,SAAKC,qBAAUF,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;
|
|
1
|
+
{"version":3,"sources":["../../../src/template/app-review/index.js"],"names":["AppReview","viewName","onboarding","skills","slides","dispachers","ViewNames","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA;AAEA,MAAMA,SAAS,GAAG,UAA2D;AAAA,MAA1D;AAACC,IAAAA,QAAD;AAAWC,IAAAA,UAAX;AAAuBC,IAAAA,MAAvB;AAA+BC,IAAAA;AAA/B,GAA0D;AAAA,MAAhBC,UAAgB;;AAC3E,UAAQJ,QAAR;AACE,SAAKK,qBAAUH,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBE,UAAxB,EAAP;;AACF,SAAKC,qBAAUJ,UAAf;AACE,0BAAO,6BAAC,mBAAD,eAAgBA,UAAhB,EAAgCG,UAAhC,EAAP;;AACF,SAAKC,qBAAUF,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;;AACF;AACE,0BAAO,6BAAC,eAAD,OAAP;AARJ;AAUD,CAXD;;AAaAL,SAAS,CAACO,SAAV,2CAAsBA,kBAAtB,M,CAEA;;eAEeP,S","sourcesContent":["import React from 'react';\nimport Loader from '../../atom/loader';\nimport Onboarding from './onboarding';\nimport Skills from './skills';\nimport Slides from './slides';\nimport propTypes, {ViewNames} from './prop-types';\n\n// -----------------------------------------------------------------------------\n\nconst AppReview = ({viewName, onboarding, skills, slides, ...dispachers}) => {\n switch (viewName) {\n case ViewNames.skills:\n return <Skills {...skills} {...dispachers} />;\n case ViewNames.onboarding:\n return <Onboarding {...onboarding} {...dispachers} />;\n case ViewNames.slides:\n return <Slides {...slides} {...dispachers} />;\n default:\n return <Loader />;\n }\n};\n\nAppReview.propTypes = propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default AppReview;\n"],"file":"index.js"}
|
|
@@ -9,10 +9,18 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireWildcard(require("./prop-types"));
|
|
11
11
|
|
|
12
|
+
var _slides = _interopRequireDefault(require("./slides"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
12
16
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
13
17
|
|
|
14
18
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
19
|
|
|
20
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
21
|
+
|
|
22
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
23
|
+
|
|
16
24
|
// -----------------------------------------------------------------------------
|
|
17
25
|
const styles = _reactNative.StyleSheet.create({
|
|
18
26
|
rootView: {
|
|
@@ -23,27 +31,22 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
23
31
|
}); // -----------------------------------------------------------------------------
|
|
24
32
|
|
|
25
33
|
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
34
|
+
const Switch = (_ref) => {
|
|
35
|
+
let {
|
|
36
|
+
viewName,
|
|
37
|
+
slides
|
|
38
|
+
} = _ref,
|
|
39
|
+
dispachers = _objectWithoutPropertiesLoose(_ref, ["viewName", "onboarding", "skills", "slides"]);
|
|
31
40
|
|
|
32
41
|
switch (viewName) {
|
|
33
42
|
case _propTypes.ViewNames.home:
|
|
34
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.
|
|
35
|
-
onPress: handlePress('onboarding')
|
|
36
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view home"));
|
|
43
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view home");
|
|
37
44
|
|
|
38
45
|
case _propTypes.ViewNames.onboarding:
|
|
39
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.
|
|
40
|
-
onPress: handlePress('quizzer')
|
|
41
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view onboarding"));
|
|
46
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view onboarding");
|
|
42
47
|
|
|
43
48
|
case _propTypes.ViewNames.slides:
|
|
44
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
45
|
-
onPress: handlePress('home')
|
|
46
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view quizzer"));
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(_slides.default, _extends({}, slides, dispachers));
|
|
47
50
|
|
|
48
51
|
default:
|
|
49
52
|
return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view (none selected)");
|
|
@@ -51,11 +54,10 @@ const NavText = ({
|
|
|
51
54
|
}; // -----------------------------------------------------------------------------
|
|
52
55
|
|
|
53
56
|
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}) => {
|
|
57
|
+
const AppReview = props => {
|
|
58
|
+
const {
|
|
59
|
+
navigateBack
|
|
60
|
+
} = props;
|
|
59
61
|
(0, _react.useEffect)(() => {
|
|
60
62
|
const backAction = () => {
|
|
61
63
|
navigateBack();
|
|
@@ -69,16 +71,13 @@ const RootView = ({
|
|
|
69
71
|
}, [navigateBack]);
|
|
70
72
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
71
73
|
style: styles.rootView
|
|
72
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
73
|
-
viewName: viewName,
|
|
74
|
-
navigateTo: navigateTo
|
|
75
|
-
}));
|
|
74
|
+
}, /*#__PURE__*/_react.default.createElement(Switch, props));
|
|
76
75
|
}; // -----------------------------------------------------------------------------
|
|
77
76
|
|
|
78
77
|
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
AppReview.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
|
|
79
|
+
Switch.propTypes = process.env.NODE_ENV !== "production" ? AppReview.propTypes : {}; // -----------------------------------------------------------------------------
|
|
81
80
|
|
|
82
|
-
var _default =
|
|
81
|
+
var _default = AppReview;
|
|
83
82
|
exports.default = _default;
|
|
84
83
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/template/app-review/index.native.js"],"names":["styles","StyleSheet","create","rootView","flex","alignItems","justifyContent","
|
|
1
|
+
{"version":3,"sources":["../../../src/template/app-review/index.native.js"],"names":["styles","StyleSheet","create","rootView","flex","alignItems","justifyContent","Switch","viewName","slides","dispachers","ViewNames","home","onboarding","AppReview","props","navigateBack","backAction","backHandler","BackHandler","addEventListener","remove","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA;AAEA,MAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,IAAI,EAAE,CADE;AAERC,IAAAA,UAAU,EAAE,QAFJ;AAGRC,IAAAA,cAAc,EAAE;AAHR;AADqB,CAAlB,CAAf,C,CAQA;;;AAEA,MAAMC,MAAM,GAAG,UAA2D;AAAA,MAA1D;AAACC,IAAAA,QAAD;AAA+BC,IAAAA;AAA/B,GAA0D;AAAA,MAAhBC,UAAgB;;AACxE,UAAQF,QAAR;AACE,SAAKG,qBAAUC,IAAf;AACE,0BAAO,6BAAC,iBAAD,oBAAP;;AACF,SAAKD,qBAAUE,UAAf;AACE,0BAAO,6BAAC,iBAAD,0BAAP;;AACF,SAAKF,qBAAUF,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;;AACF;AACE,0BAAO,6BAAC,iBAAD,+BAAP;AARJ;AAUD,CAXD,C,CAaA;;;AAEA,MAAMI,SAAS,GAAGC,KAAK,IAAI;AACzB,QAAM;AAACC,IAAAA;AAAD,MAAiBD,KAAvB;AAEA,wBAAU,MAAM;AACd,UAAME,UAAU,GAAG,MAAM;AACvBD,MAAAA,YAAY;AACZ,aAAO,IAAP;AACD,KAHD,CADc,CAMd;;;AACA,UAAME,WAAW,GAAGC,yBAAYC,gBAAZ,CAA6B,mBAA7B,EAAkDH,UAAlD,CAApB;;AAEA,WAAO,MAAMC,WAAW,CAACG,MAAZ,EAAb;AACD,GAVD,EAUG,CAACL,YAAD,CAVH;AAYA,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEhB,MAAM,CAACG;AAApB,kBACE,6BAAC,MAAD,EAAYY,KAAZ,CADF,CADF;AAKD,CApBD,C,CAsBA;;;AAEAD,SAAS,CAACQ,SAAV,2CAAsBA,kBAAtB;AACAf,MAAM,CAACe,SAAP,2CAAmBR,SAAS,CAACQ,SAA7B,M,CAEA;;eAEeR,S","sourcesContent":["import React, {useEffect} from 'react';\nimport {Text, StyleSheet, View, BackHandler} from 'react-native';\nimport propTypes, {ViewNames} from './prop-types';\nimport Slides from './slides';\n\n// -----------------------------------------------------------------------------\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst Switch = ({viewName, onboarding, skills, slides, ...dispachers}) => {\n switch (viewName) {\n case ViewNames.home:\n return <Text>view home</Text>;\n case ViewNames.onboarding:\n return <Text>view onboarding</Text>;\n case ViewNames.slides:\n return <Slides {...slides} {...dispachers} />;\n default:\n return <Text>view (none selected)</Text>;\n }\n};\n\n// -----------------------------------------------------------------------------\n\nconst AppReview = props => {\n const {navigateBack} = props;\n\n useEffect(() => {\n const backAction = () => {\n navigateBack();\n return true;\n };\n\n // https://reactnative.dev/docs/backhandler\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [navigateBack]);\n\n return (\n <View style={styles.rootView}>\n <Switch {...props} />\n </View>\n );\n};\n\n// -----------------------------------------------------------------------------\n\nAppReview.propTypes = propTypes;\nSwitch.propTypes = AppReview.propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default AppReview;\n"],"file":"index.native.js"}
|
|
@@ -7,7 +7,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
7
7
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
|
|
10
|
-
var
|
|
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"}
|